Model-driven software development

Model-driven software development (MDSD) is an alternative to Round-trip engineering. Round-trip engineering is the concept of being able to make any kind of change to a model as well as to the code generated from that model. The changes always propagate bidirectional and both artifacts are always consistent. The transition from code to model(the reverse Engineering) is especially interesting in this context.[1]

In the context of these approaches the model typically prossesses the same abstraction level as the code(that is, 'one rectangle per class'). It is actually the visualization of a program's structure. In such a scenario, it is both feasible and useful to track changes to the code in the model automatically.

MDSD takes a different approach: the model is definitely more abstract than the code generated from it. Thus it is generally impossible to keep the model consistent automatically after a manual change of the generated code. For this reason, manual changes to generated code should be avoided.A precise definition that states which parts are generated and which are implemented manually is therefore necessary.[1]

1. Abstraction
The abstraction level of decisions is raised to model level. This only makes sense if a corresponding abstraction on the model level can be identified.
2. Tagging the model
This involves moving code-level decisions into the model without raising the abstraction level. This procedure is called 'tagging'the model with implementation decisions.
3. Separation of code classses
This involves the adaptation of the target architecture in such a way that manually created code must be written into classes specifically created for this purpose.
4. Tagging the code
This consists of the introduction of protected regions to the code, and is accomplished through the use of special tags that protect the code placed between them from overwriting during regeneration.

This list reflects the various solution's elegance in strictly descending order. Tagging the model still allows a clear separation of responsibilities and enables a fully automated regeneration without further manual treatment.

External links


  1. ^ a b Model-Driven Software Development,(Technology, Engineering, Management) Thomas Stahl, Markus Volter

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Model Driven Software Development — Modellgetriebene Softwareentwicklung (englisch Model Driven Software Development, MDSD) ist ein Oberbegriff für Techniken, die aus formalen Modellen automatisiert lauffähige Software erzeugen.[1] Dabei werden domänenspezifische Sprachen (englisch …   Deutsch Wikipedia

  • Model-driven engineering — (MDE) is a software development methodology which focuses on creating and exploiting domain models (that is, abstract representations of the knowledge and activities that govern a particular application domain), rather than on the computing (or… …   Wikipedia

  • Model-driven architecture — (MDA) is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model driven architecture is a kind of domain engineering, and… …   Wikipedia

  • Model-driven security — (MDS) means applying model driven approaches (and especially the concepts behind model driven software development) [1] to security. Contents 1 Development of the concept 2 Opinions of industry analysts …   Wikipedia

  • Model Driven Architecture — Modellgetriebene Architektur (MDA; engl. Model Driven Architecture, MDA) bezeichnet einen modellgetriebenen Softwareentwicklungsansatz, der auf einer klaren Trennung von Funktionalität und Technik beruht. Inhaltsverzeichnis 1 Abgrenzung zu CASE… …   Deutsch Wikipedia

  • Model Driven Architecture — Saltar a navegación, búsqueda La arquitectura dirigida por modelos (Model Driven Architecture o MDA) es un acercamiento al diseño de software, propuesto y patrocinado por el Object Management Group. MDA se ha concebido para dar soporte a la… …   Wikipedia Español

  • Model-driven Architecture — La arquitectura dirigida por modelos (Model Driven Architecture o MDA) es un acercamiento al diseño de software, propuesto y patrocinado por el Object Management Group. MDA se ha concebido para dar soporte a la ingeniería dirigida a modelos de… …   Wikipedia Español

  • Model driven architecture — L’architecture dirigée par les modèles ou MDA (pour l Anglais Model Driven Architecture) est une démarche de réalisation de logiciels, proposée et soutenue par l OMG. C est une variante particulière de l ingénierie dirigée par les modèles (IDM,… …   Wikipédia en Français

  • Software development process — Activities and steps Requirements Specification …   Wikipedia

  • Aspect-oriented software development — (AOSD) is an emerging software development technology that seeks new modularizations of software systems. AOSD allows multiple concerns to be expressed separately and automatically unified into working systems.Traditional software development has …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.