In the previous sections, we have seen the major elements that participate in the MDA framework: models, PIMs, PSMs, languages, transformations, transformation definitions, and tools that perform transformations. All of these elements fit together in the basic MDA framework, as depicted in Figure 2-7. Although most of the terms have been defined in the previous sections, we summarize of the elements and their role below:
Figure 2-7. Overview of the basic MDA framework
From the developer's point of view, the PSM and PIM are the most important elements. A developer puts his focus on developing a PIM, describing the software system at a high level of abstraction. In the next stage, he chooses one or more tools that are able to perform the transformation on the PIM that has been developed according to a certain transformation definition. This results in a PSM, which can then be transformed into code.
Note that the figure only shows one PSM, but that from one PIM often multiple PSMs and potential bridges between them are generated. The figure only shows one transformation between a PIM and a PSM, but another transformation to code is also necessary.
In sections 8.3.1 and 9.4 we complete the basic MDA framework with additional elements at the metalevel. These metalevels are explained in Chapter 8 and Chapter 9. Until Chapter 7, the framework as described in Figure 2-7 is sufficient.