Page 157 -
P. 157
140 Chapter 5 System modeling
Computation Platform Platform Executable
Independent Independent Specific
Model Model Model Code
Translator Translator Translator
Platform Language
Domain Specific Specific Patterns Specific
Figure 5.19 MDA Guidelines and Rules Patterns
transformations
levels of abstraction are created. From a high-level platform independent model it is
possible, in principle, to generate a working program without manual intervention.
The MDA method recommends that three types of abstract system model should
be produced:
1. A computation independent model (CIM) that models the important domain
abstractions used in the system. CIMs are sometimes called domain models.
You may develop several different CIMs, reflecting different views of the sys-
tem. For example, there may be a security CIM in which you identify important
security abstractions such as an asset and a role and a patient record CIM, in
which you describe abstractions such as patients, consultations, etc.
2. A platform independent model (PIM) that models the operation of the system
without reference to its implementation. The PIM is usually described using
UML models that show the static system structure and how it responds to exter-
nal and internal events.
3. Platform specific models (PSM) which are transformations of the platform-
independent model with a separate PSM for each application platform. In
principle, there may be layers of PSM, with each layer adding some platform-
specific detail. So, the first-level PSM could be middleware-specific but
database independent. When a specific database has been chosen, a database-
specific PSM can then be generated.
As I have said, transformations between these models may be defined and applied
automatically by software tools. This is illustrated in Figure 5.19, which also shows
a final level of automatic transformation. A transformation is applied to the PSM to
generate executable code that runs on the designated software platform.
At the time of writing, automatic CIM to PIM translation is still at the research pro-
totype stage. It is unlikely that completely automated translation tools will be available
in the near future. Human intervention, indicated by a stick figure in Figure 5.19, will
be needed for the foreseeable future. CIMs are related and part of the translation