What is MDA?
MDA is a standard of OMG (Object Management Group), launched in 2001 for supporting the MDE (Model Driven Engineering) of software systems.
The MDE technologies combine:
1) domain-specific modelling languages which formalize the application structure, behaviour, and requirements within particular domains by using meta-models
2) transformation engines and generators that analyse certain aspects of models and artefacts, such as source code, XML deployment descriptions, or alternative model representations.
MDA is an approach dedicated to the development of software systems. It provides guidelines for structuring specifications expressed as models. MDA distinguishes the business and technological branches. The business branch consists of three abstraction levels:
- CIM (Computer Independent Model) is a model of a system that shows the system in the environment where it will operate. It helps in understanding a problem and defining a shared vocabulary for use in other models.
- PIM (Platform Independent Model) consists of enterprise, information, and computational viewpoint specifications.
- PSM (Platform Specific Model) is a view of a system from the platform-specific viewpoint. This level is the combination point of business and technological branches. It describes the realization of software systems by combining the specifications of PIM with the technical architecture of the platform model (PM)
Positioning BPMN on MDA
BPMN is positioned on the CIM level of MDA.
As the CIM level requires a model that can represent interactions occurring between enterprises, including the exchanged data and services exposed to others, BPMN covers both organizational and partial information views of a process, as well as directly addressing the business process modelling.