Model-driven architecture: Difference between revisions

Content deleted Content added
No edit summary
Overview: Entirely reworked, with authoritative reference
Line 2:
 
== Overview ==
Model Driven Architecture® (MDA®) "provides an approach for deriving value from models and architecture in support of the full life cycle of physical, organizational and I.T. systems". A model is a (representation of) an abstraction of a system. MDA® provides value by producing models at varying levels of abstraction, from a conceptual view down to the smallest implementation detail. OMG literature speaks of three such levels of abstraction, or architectural viewpoints: the Computation-independent Model (CIM), the [[Platform-independent model]] (PIM), and the [[Platform-specific model]] (PSM). The CIM describes a system conceptually, the PIM describes the computational aspects of a system without reference to the technologies that may be used to implement it, and the PSM provides the technical details necessary to implement the system. The OMG Guide notes, though, that these three architectural viewpoints are useful, but are just three of many possible viewpoints.<ref name="omgmdaguide2_0">{{cite web |title=OMG MDA Guide rev. 2.0 |url=https://www.omg.org/cgi-bin/doc?ormsc/14-06-01 |website=OMG {{!}} Object Management Group |publisher=The Object Management Group |access-date=4 September 2021}}</ref>
Then, given a [[platform model]] corresponding to [[CORBA]], [[.NET Framework|.NET]], the Web, etc., the platform independent model (PIM) is translated to one or more [[platform-specific model]]s (PSMs) that computers can run. This requires mappings and transformations and should be modeled too.
 
The OMG organization provides rough specifications rather than implementations, often as answers to [[Request for Proposal|Requests for Proposals]] (RFPs). Implementations come from private companies or open source groups.
 
=== Related standards ===
The MDA model is related to multiple standards, including the [[Unified Modeling Language]] (UML), the [[Meta-Object Facility]] (MOF), [[XML Metadata Interchange]] (XMI), [[Enterprise Distributed Object Computing]] (EDOC), the [[Software Process Engineering Metamodel]] (SPEM), and the [[Common Warehouse Metamodel]] (CWM). Note that the term “architecture” in Model-driven architecture does not refer to the architecture of the system being modeled, but rather to the architecture of the various standards and model forms that serve as the technology basis for MDA.{{citation needed}}
 
[[Executable UML]] was the UML profile used when MDA was born. Now, the OMG is promoting [[Executable UML#fUML and ALF|fUML]], instead. (The action language for fUML is ALF.)