MDA Alignment with the Matrix
The diagram above shows the Analysis Design Matrix and a mapping to an interpretation of the Model Driven Architecture on the right hand side. It assumes each realm in the Matrix comprises of one domain, something that will not be true in general.
The MDA part of the diagram shows how the application MDA design chain at level M1 begins with a Computation Independent Model (CIM) which is transformed into a Platform Independent Model.
Similarly, the PIM is transformed into a Platform Specific Model (PSM). The transformations continue down the chain to the Platform Specific Implementation (PSI) or source code.
On the diagram the various models or platforms of the MDA have been colour coded to show the correlation to realms in the Matrix.
While the MDA describes multi-level platforms at M1 and invokes the Four Layer Meta Modeling Architecture which has been around for some time, it does not attempt to define meta models at M2 that necessarily describe the transformation rules and which are required for code generation. Some sources have put forward the idea of a Platform Development Model (PDM) but this does not seem to have been accepted by the OMG.
This is puzzling since the Model Object Facility (MOF) is declared at level M3 but has the purpose of defining the UML modeling notation at M2. Of course, from a standards point of view this is a perfectly reasonable thing to do.
However, from a Model Compiler perspective the MOF corresponds to the meta Analysis of Analysis model at level M3. This model exists as part of Model Compiler at M3 which defines of the "current working" Model Compiler at level M2 since the Model Compiler at M2 was defined and built by the preceding (earlier) Model Compiler and Software Architecture at M3.
It is interesting to note that new technical papers or dissertations describing some new MDA research frequently detail the MDA multi-level platform approach and the Four Layer Meta Modeling Architecture but repeatedly fail to integrate them together from a Model Compiler viewpoint as captured by the Matrix - they simply repeat the OMG's standards based approach.