
Die modellgetriebene Softwareentwicklung (MDSD) ist ein modernes Verfahren der Softwareentwicklung.
Bei der modellgetriebenen Softwareentwicklung wird das zu erstellende System zunächst mit einer formalen
Domain-spezifischen Sprache (DSL) abstrahiert in Form eines Modells dargestellt. Der Schwerpunkt liegt hier
zunächst in der fachlichen Beschreibung des Systems. Das Modell wird dann schrittweise mit Hilfe automatisierter
Transformationen weiter detailliert und schließlich in den compilierfähigen Programmcode überführt. Die Abstraktionsstufe
wird mit jedem Transformationsschritt deutlich verringert.
In der Praxis werden bei der modellgetriebenen Softwareentwicklung drei Abstraktions-Stufen verwendet. Beim
modellgetriebenen Ansatz wird zunächst ein plattformunabhängiges Modell (PIM) erstellt. Aus diesem Modell wird dann
das plattformspezifische Modell (PSM) und schließlich der Programmcode generiert.
Für die Transformationen in der modellgetriebenen Softwareentwicklung werden Tools und Frameworks eingesetzt, welche
diese Transformation weitgehend automatisiert durchführen. Hier sind ausgereifte Werkzeuge wie z.B. das
Generator-Framework OpenArchitectureware oder AndroMDA zu nennen, die beide Open-Source und weit verbreitet
sind. Der generierte Programmcode dient letzlich als Ausgangsbasis für die Implementierung der fachspezifischen Logik.
Die Modelle dienen bei der modellgetriebenen Softwareentwicklung
nicht nur der Dokumentation sondern auch der fachlichen und technischen Beschreibung des Systems. Die Modelle entsprechen
dem zu erstellenden System unterschiedlich abstrahiert dargestellt. Die modellgetriebene
Softwareentwicklung ermöglicht somit ein besseres und übergreifendes Verständnis von komplexen Programmstrukturen
durch alle an der Entwicklung beteiligten Personen und Abteilungen.
Dieser Technologie liegen über lange Zeit entstandene standardisierte Verfahren zu Grunde, die in der Praxis
bereits erfolgreich eingesetzt werden.