Model-Driven Architecture provides an approach for, and enables tools to be provided for:
Describing the situation in which a system will be used: Computation Independent Model (CIM), also known as a 'Business Model' or 'Domain Model'.
Specifying a system independently of the platform that supports it: Platform Independent Model (PIM), also known as the 'System Analysis Model'.
Specifying platforms: Platform Model, also known as the 'System Architecture Model'.
Transforming the system specification (PIM) into one for a specific platform: Platform Specific Model (PSM) also known as the 'System Design Model'.
The Platform Specific Model (PSM) may then be coded manually, the framecode generated automatically and the methods coded manually, or all the
code generated automatically.
Different methods of model transformation include:
Manual Transformation: Design decisions are made as the PSM is created manually from the PIM. This amounts to the approach employed by a good
software development process. See the CRaG Systems Model-Driven
Development Process (MDDP) for an example.
Transforming a PIM Prepared Using a Profile: A Platform Specific UML Profile provides the necessary model elements that are understood by the
transformation software. The PIM is created using these specific model elements. The PIM may need to be marked using marks provided by the
profile. A transformation engine performs the transformation.
Transformation Using Patterns and Markings: Patterns are used to specify the transformation. The PIM is marked to reference the patterns and
pattern parameters to be used in the transformation. A transformation engine performs the transformation.
Automatic Transformation: If a development has already occurred which provides a full set of services defined by interfaces, then
the PIM can provide all the information needed for the transformation. The developer defines the required behaviour directly in the model
using behavioural diagrams and an action language. Executable code is generated automatically from the PIM.
Download the MDA Guide or visit the Object Management Group (OMG)'s website for more information.