- Tech know how online

model driven software development (MDSD)

Model Driven Software Development(MDSD) deals with the development of software systems on the basis of models. The automation of the software development process is the primary goal of MDSD. The abstraction of the requirements to the software in form of models, is to realize the automatic transformation from models to models and from models to the executable code. Thus the models serve not only - as usual with the traditional software development - for documentation, for the draft or for the analysis, but are primary development artifacts for the generation of the final system.

The advantages of this model-based view of software are for example the detailing of the abstraction level for the system which can be specified, an improvement of the possibilities for the continuous communication with the help of domain-specific languages( DSL) or also the increase in the efficiency with the production of software by automated transformations of the provided models up to the generated code.

The Model Driven Development model

Although the basic ideas of MDSD are not new, there are still some challenges - some of them still unsolved - in the use of MDSD, such as the versioning of models, the development of suitable DSLs, the maintenance of transformations or the interaction of teamwork and MDSD. A popular example for the implementation of MDSD is the Model Driven Architecture( MDA) of the Object Management Group( OMG).

MDSD to improve software quality

The motivation for the use of MDSD are the improvement of the software quality, the reusability as well as the increase of the efficiency of software developments. The central core idea of the MDSD fitting to it is based on the definition of models as substantial aspect of the MDSD, which flow then finally into the software as final product. In the literature MDSD is not uniformly circumscribed however frequently as a generic term for techniques, which produce automatically executable software from formal models. The complete description of a delimited part of the software - in graphic or textual notation - is the formal model. Thus it is also specified that a formal model, which serves only the documentation, is no model in the context of the MDSD. Further the process of the software production is to take place analogous to the definition mentioned above automated i.e. without manual interferences. With the MDSD the models stand thus equally on a level with the source code and flow directly with into the implementation of the software. The assignment, whether a procedure is model-driven with the software production or not, cannot be made always clearly. Here it is to be noted that MDSD represents a general beginning, and is not thus limited to individual languages or tools.

The terminology used in the context with MDSD is to be explained in the following briefly.

Domain This refers to a delimited domain of business or technical knowledge or interest that is to be described by the model.

Metamodel Denotes the formal description of the structure of a domain. This indirectly describes the structure of the models of a domain.

Metametamodel If the structure of a model is in turn described by a model, this is referred to as a metametamodel. In the MDSD, a model hierarchy consisting of three levels is usually used: Model, Metamodel and Metametamodel

Formal Model Indicates the description of a domain. Here, the structure of a formal model is in turn described by a metamodel.

Abstract syntax Describes the rules for the correct construction of models based on the elements of the metamodel.

Concrete syntax Specifies the rules for the concrete representation of the abstract syntax. These can be textual or graphical notations with which the models are ultimately realized.

Englisch: model driven software development - MDSD
Updated at: 30.10.2013
#Words: 618
Links: software (SW), automation, process, transformation, code
Translations: DE

All rights reserved DATACOM Buchverlag GmbH © 2024