Model-driven architecture

Model-driven architecture (MDA) adalah sebuah pendakatan perancangan perangkat lunak yang diluncurkan oleh Object Management Group (OMG)[1] di 2001.

MDA mendukung rekayasa model-driven dari sistem perangkat lunak. MDA menyediakan sekumpulan panduan untuk menstrukturkan spesifikasi yang dinyatakan sebagai model. Pendekatan MDA mendefinisikan fungsionalitas sistem menggunakan sebuah platform-independent model (PIM) dengan memakai sebuah domain-specific language yang sesuai. Kemudian, diberikan sebuah platform definition model (PDM) berupa CORBA, .NET, the Web, dll., PIM diterjemahkan ke dalam satu atau lebih platform-specific model (PSM) yang dapat dijalankan oleh komputer. PSM dapat menggukanan Domain Specific Language yang berbeda, atau sebuah General Purpose Language seperti Java, C#, PHP, Python, dll.. Kakas otomatis umumnya yang melakukan penerjemahan ini.

Organisasi OMG sekadar menyediakan spesifikasi kasar dan bukan implementasi, kadang-kadang merupakan jawaban atas Requests for Proposal (RFP). Implementasi datang dari perusahaan swasta atau kelompok open source.

Prinsip-prinsip MDA dapat juga diterapkan pada area lain sepertibusiness process modeling dimana PIM diterjemahkan ke dalam proses otomatis atau manual.

Pendekatan MDA

OMG memfokuskan Model-driven architecture pada rekayasa maju, yaitu, menghasilkan kode yang berasal dari abstraksi, spesifikasi pemikiran manusia. Grup ADTF (Analysis and Design Task Force) dari OMG memimpin usaha ini. Dengan sedikit candaan, grup tersebut memilih ADM (kebalikan dari MDA) sebagai nama dari studi reverse engineering. ADM kependekan dariArchitecture-Driven Modernization. Tujuan ADM adalah untuk menghasilkan standard-standard bagi rekayasa balik berbasis model untuk sistem lawas (legacy system).[2] Knowledge Discovery Metamodel (KDM) adalah salah satu yang dicapai oleh usaha tersebut, dan mendeskripsikan sistem nformasi ke dalam pengertian dari beragam aset (program, spesifikasi, data, file-file uji, skema basis data, dll.).

Salah satu tujuan dari MDA adalah memisahkan rancangan dari arsitektur. Sebagaimana konsep dan teknologi yang digunakan untuk mewujudkan rancangan, dan, konsep dan teknologi yang digunakan untuk mewujudkan arsitektur telah berubah sendiri-sendiri, saling lepas antar keduanya memungkinkan pengembang sistem untuk memilih yang terbaik dan yang paling tepat dalam kedua ranah. Rancangan mengarah pada kebutuhan fungsional (use case) sedangkan arsitektur menyediakan infrastruktur yang diwujudkan melalui kebutuhan non-fungsional seperti skalabilitas, reliabilitas dan kinerja. MDA memandang bahwa platform independent model (PIM), yang merepresentasikan sebuah rancangan konseptual yang mewujudkan kebutuhan kebutuhan fungsional, akan bertahan terhadap perubahan dalam realisasi teknologi dan arsitektur perangkat lunak.

Hal yang penting dari model-driven architecture adalah pengertian transformasi model. Sebuah bahasa baku khusus untuk transformasi model yang telah didefinisikan oleh OMG disebut QVT.

Standar Terkait

Model MDA terkait pada banyak standar, termasuk Unified Modeling Language (UML), Meta-Object Facility (MOF), XML Metadata Interchange (XMI), Enterprise Distributed Object Computing (EDOC), Software Process Engineering Metamodel (SPEM), dan Common Warehouse Metamodel (CWM). Istilah “arsitektur” dalam MDA tidak mengacu pada arsitektur dari sistem yang dimodelkan, tapi lebih kepada arsitektur dari berbagai standard dan bentuk model yang bertindak sebagai dasar teknologi bagi MDA.

Pendekatan Executable UML

Executable UML (disingkat xtUML [3] atau xUML,[4]) adalah evolusi dari metode Shlaer-Mellor [5] untuk UML, ini adalah pendekatan khusus untuk mengimplementasikan MDA. Executable UML secara grafis menyatakan sebuah sistem deterministik dengan menggunakan sebuahprofil dari UML. Model-model adalah testable, dan dapat dikompilasi ke dalam sebuah bahasa pemrograman yang abstraksi-nya lebih rendah untuk menghasilkan implementasi spesifik.[5][6] Executable UML mendukung MDA melalui spesifikasi platform-independent model, dan kompilasi dari platform-independent model ke dalam platform-specific model.[7]

Merek dagang

Object Management Group memiliki merek dagang MDA, demikian juga beberapa istilah yang mirip, termasuk Model Driven Development (MDD), Model Driven Application Development, Model Based Application Development, Model Based Programming, dan lainnya. Akronim utama yang belum dimiliki oleh OMG sampai saat ini adalah MDE. Akibatnya, komunitas riset menggunakan MDE untuk mengacu ide rekayasa model secara umum, tanpa harus patuh pada standar-standard yang dibuat OMG.

Konferensi

Di antara banyak konferensi tentang topik ini adalah ECMDA Diarsipkan 2006-12-05 di Wayback Machine., European Conference on MDA dan juga MoDELS, dahalu merupakan rangkaian konferensi <<UML>> (sampai 2004), Italian Forum on MDA Diarsipkan 2016-03-07 di Wayback Machine. dengan bekerjasama dengan OMG. Ada juga beberapa konferensi dan workshop (di OOPSLA, utamanya ECOOP) yang memfokuskan diri pada aspek-aspek khusus dari MDA seperti transformasi model, komposisi, dan pembangkitan.

Lihat pula

Referensi

  1. ^ ""OMG pursues new strategic direction to build on success of past efforts"". Diarsipkan dari versi asli tanggal 2006-09-24. Diakses tanggal 2008-05-01. 
  2. ^ situs web adm http://adm.omg.org
  3. ^ Contoh penggunaan: http://www.techonline.com/community/tech_topic/37519 Diarsipkan 2006-09-09 di Wayback Machine.
  4. ^ Contoh penggunaan: http://www.kc.com/xuml.php
  5. ^ a b Mellor, S; Balcer, M: "Executable UML: A foundation for model-driven architecture", Preface, Addison Wesley, 2002
  6. ^ Mellor, S; Balcer, M: "Executable UML: A foundation for model-driven architecture", chapter 1.4 Model Compilers, Addison Wesley, 2002
  7. ^ Mellor, S; Balcer, M: "Executable UML: A foundation for model-driven architecture", chapter 1.5 Model Driven Architecture, Addison Wesley, 2002

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: wikipedia/wikipediareadmore.php

Line Number: 5

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: wikipedia/wikipediareadmore.php

Line Number: 70

 

A PHP Error was encountered

Severity: Notice

Message: Undefined index: HTTP_REFERER

Filename: controllers/ensiklopedia.php

Line Number: 41