Die Verwendung von Modellen in der Softwareentwicklung hat eine
lange Tradition. In ihrer Funktion als vereinfachte Beschreibung der
realen Welt wurden Modelle in der Vergangenheit jedoch oft nur
zu Dokumentationszwecken eingesetzt. Mit dem Aufkommen der Unified
Modeling Language (UML) hat sich dies zunächst verschlimmert: Modelle wurden
in der betrieblichen Praxis vorwiegend in den Phasen Analyse und
Design eingesetzt und fanden nur unzulängliche Verwendung in
der Implementierung. Die Implementierung der so
entworfenen Anwendungssysteme divergiert in den meisten Fällen mehr oder
weniger stark vom ursprünglichen Design, so dass dieses zum Ende eines
Projekts meistens nicht mehr viel mit der Software zu tun hatte. Das
Aufkommen von Modellierungstools mit Roundtrip-Engineering-Fähigkeiten
verbesserte die Situation nur vordergründig, da diese Tools keinen
echten Abstraktionsgewinn brachten. Mit der Model Driven Architecture (MDA)
der Object Management Group (OMG) wurde ein Ansatz vorgestellt, der
Modelle zu aktiven Bestandteilen der Softwareentwicklung machen soll. Der
in vielen Aspekten recht visionäre Ansatz der OMG zum
Thema modellgetriebene Softwareentwicklung wurde von einigen Firmen und
Open Source Projekten mehr oder weniger erfolgreich in Tools umgesetzt.
Es zeigte sich jedoch schnell, dass einige Konzepte der MDA
einem pragmatischen Einsatz in Projekten im Wege stehen. Dies führte
bei vielen Entwicklern zu dem Eindruck, modellgetriebene
Softwareentwicklung sei komplex, schwerfällig und aufwändig. In diesem
Vortrag möchte ich nach einer kurzen Definition der Grundbegriffe der
modellgetriebenen Softwareentwicklung die besonderen Problemfelder
modellgetriebener Ansätze darlegen und zeigen, welche Anätze in der Praxis
erfolgreich umgesetzt wurden. Dabei werde ich unter anderem auf die Rolle der
UML eingehen sowie zeigen, welche Rolle domänenspezifische Sprachen
in diesem Zusammenhang spielen. Der Vortrag wird zu einem großen Teil
aus Folien bestehen, es wird jedoch auch einige Live-Demos geben.




