Once one has an MDA process in place, one naturally wants to execute it. Broadly speaking, this comes down to two main activities: (1) formalizing knowledge of a subject matter and then rendering that knowledge as an implementation, and (2) mapping that formalized knowledge onto a target platform that can execute. Knowledge formalization, in the context of MDA, involves, as you might expect, gathering requirements relevant to the domain of interest, abstracting that knowledge into some set of concepts, and then expressing those concepts formally in a model. What MDA brings to the table is the concept of testing the model for correctness preferably by executing it. As the models start coming together, the next step is to build bridges among them. This involves specifying and verifying mapping functions, building marking models, and then transforming the models. Once the models are marked and the mapping function specifications are complete, one can transform the formalized, marked, and verified knowledge into other models or source code comprising the system's implementation. Further exploration of how to execute an MDA process, along with an example process based on the banking system example, is provided in Chapter 12. |