1. Introduction

1. Introduction #

As Object Management Group OMG states omg.org/mda :

Model Driven Architecture® (MDA®) is an approach to software design, development and implementation spearheaded by the OMG. MDA provides guidelines for structuring software specifications that are expressed as models.

MDA separates business and application logic from underlying platform technology. Platform-independent models of an application or integrated system’s business functionality and behavior, built using UML and the other associated OMG modeling standards, can be realized through the MDA on virtually any platform, open or proprietary, including Web Services, .NET, CORBA R, J2EE, and others. These platform-independent models document the business functionality and behavior of an application separate from the technology-specific code that implements it, insulating the core of the application from technology and its relentless churn cycle while enabling interoperability both within and across platform boundaries. No longer tied to each other, the business and technical aspects of an application or integrated system can each evolve at its own pace - business logic responding to business need, and technology taking advantage of new developments - as the business requires.

As a side note #

  • The reality however demonstrates that regardless of how generic your model is designed - you have to consider the technical stack you are using.
  • There are important examples of good, yed failed highly generic designs, like CORBA and JEE. We usually refer to them in past tense.
  • As a rule of thumb: the closer you get to the implementation of your solution, the less generic/platform-independent your model’s design is.

In French #

There’s an amazing course in french about Model Driven Architecture : ecariou.perso.univ-pau.fr/cours/idm/cours-meta.pdf.