- Tech know how online

model driven architecture (MDA)

Model Driven Architecture (MDA) is an approach to model-driven, generative software development. The MDA architecture was published as a standard by the Object Management Group (OMG) as early as 2001 with the aim of combining all known results to date on models, modeling and transformation - supplemented by further standards - into an official specification for MDA

. Models are at the heart of the MDA paradigm. Thus, the goal of the MDA architecture is to represent the entire process of creating software and all its layers in models, so that the software itself can be generated to a high degree generatively - i.e. via the transformation of models. A significant side effect is the transformers that are created in the process, which - once they are fully available - ensure a high degree of reusability and maintainability of the program code generated in this way. In contrast to earlier approaches to modeling, MDA includes all development levels - from requirements analysis to implementation of

the target system. Thecentral concept


MDA is theseparation of functional and technical aspects in the form of platform-independent models

(PIM) and specific, platform-oriented models (PSM), both of which can be reused independently of each other.

The independence of models from a specific platform is an important argument for their reusability. Therefore, the future specification of standards related to the MDA architecture by the OMG is aimed at developing specifications for a universally valid definition of platforms. Frameworks such as OpenArchitectureWare

are also frequently used for the automated processing of models. In addition, MDA is regarded as a further step towards so-called requirements-driven software development, since the technical aspects

are already separated as far as possible from the content-related (also semantic) aspects when applying the MDA architecture. Thebasis of model-driven software development is the realization that models are important artifacts

in the software development process.

In this context, models are always context-related abstractions

. The MDA concept now consists of generating a model for the ultimate target platform (PSM) from a very general, platform-independent model (PIM). A fundamental mechanism of MDA is the model transformation, which starts with a model-to-model transformation that derives a platform-specific model from the domain-oriented specification. Only then is the intended code generation for the respective platform realized. Accordingly, the MDA principle is based on a series of models, which are briefly explained below:Computation Independent Model (CIM). Here, the requirements of an application are summarized in a formal specification that is independent of the realization of the system. The goal here is to describe the tasks of a system in its environment, so that CIM models are also often referred to as domain or business models. Usually, this is also associated with a glossary of vocabulary for the corresponding domain. Here, Unified Modeling Language (UML2) diagrams such as activity diagrams, class diagrams, or use case diagrams can already be used for notation

Platform Independent Model (PIM)

. This refers to an abstract model that is independent of the implementation or platform technology. The PIM model builds on the CIM model and describes the structure and behavior of the planned software system. Again, the diagrams of UML 2 can be used for notationPlatform Model (PM). According to the OMG definition, a platform can be described as a set of technologies that defines functionalities through interfaces and usage patterns. Often a platform is also described as a setup of specific architectures, technologies and functionalities. If an application is based on a platform, the application can access the entire functionality of the platform without having to go into the details of how the functionality is realized by the platform. Generic platforms offer concepts such as objects, inheritance or interfaces. Technological platforms are, for example, CORBA for distributed and heterogeneous software systems or Java 2 Enterprise Edition (J2EE) as a component-oriented platform. Vendor-specific platforms are established through high usage, such as BEA WebLogic Server or Microsoft .NET

. Thus, a Platform Model (PM) always defines the technical concepts and elements of a particular platform, providing elements necessary for modeling a platform-specific software systemPlatform Specific Model (PSM). The PSM extends the general PIM model by aspects that are purely platform-specific. A platform-specific PSM model can be derived from this PIM model by means of a model transformation, whereby its properties were specified by the Platform Model (PM). The implementation is then adapted to the properties of the respective target platform. The PSM model can be translated into program code by a model-to-code transformation, since all the information for the automated generation of code has now been brought together in the platform-specific model.

Informationen zum Artikel
Englisch: model driven architecture - MDA
Updated at: 25.03.2020
#Words: 1103