Model-driven architecture

Pendekatan MDA

OMG memfokuskan Model-driven architecture pada rekayasa maju (forward engineering), 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) . 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.

Standard-standard Terkait

Model MDA terkait pada banyak standard, 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). Ingat bahwa 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, sering disingkat xtUML  atau xUML , adalah evolusi dari metode Shlaer-Mellor  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. Executable UML mendukung MDA melalui spesifikasi platform-independent model, dan kompilasi dari platform-independent model ke dalam platform-specific model.

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, European Conference on MDA dan juga MoDELS, dahalu merupakan rangkaian konferensi <<UML>> (sampai 2004), Italian Forum on MDA 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.