9.5 Model-Driven Architecture
9.5.1 Fundamental Concepts
Model-Driven Architecture (MDA) is essentially a process for developing software where designs are based on model-driven engineering techniques. The basic concepts of MDA are outlined in Figure 9.47, showing the essential steps in the development process.
We start work by designing a model (or set of models) of our software using diagramming techniques. Such models are general in nature (generic), ignoring any platform-specific (implementation) factors. The objective is to produce an abstract design solution that can then be used on a variety of platforms. Such platforms include servers, mainframes, desktops, and internet-based hardware units. Note that the primary driving factors in the design process are the system requirements and software specifications.
This general model – the Platform Independent Model (PIM) – is then transformed into a Platform...