Architekturzentrierte Modellgetriebene Softwareentwicklung
Architekturzentrierte Modellgetriebene Softwareentwicklung
Architekturzentrierte Modellgetriebene Softwareentwicklung
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
2 MDSD, AC-MDSD und Begriffsdefinitionen 7<br />
Einen anderen Weg beschreitet die modellgetriebene Vorgangsweise, bei der die<br />
entworfenen Modelle den selben Stellenwert wie der Quellcode einnehmen, da<br />
sie gleichbedeutend mit ihm sind. Der Übergang vom Modell zum Code wird<br />
automatisiert mit Hilfe eines Generators und einer Reihe definierter Transfor-<br />
mationsvorschriften vorgenommen. Diesen Ansatz nennt man <strong>Modellgetriebene</strong><br />
<strong>Softwareentwicklung</strong> oder Model Driven Software Development kurz MDSD.<br />
Bei MDSD werden Modelle als abstrakt und formal zugleich angesehen. Sie<br />
sind abstrakt, da implementierungsspezifische Details weggelassen werden.<br />
Die Modelle zeigen ausschließlich Eigenschaften, die das Verständnis für die<br />
Problemstellung fördern. Formal sind diese Modelle, da sie sich an einer Domain<br />
Specific Language (DSL) orientieren.<br />
Bei MDSD stehen die benutzten Modelle immer im Kontext eines abgegrenzten<br />
Problemraums, der Domäne. Die Konzepte dieser Domäne werden mit einer<br />
für sie spezifischen Sprache beschrieben, der DSL. Eine DSL kann zum Beispiel<br />
durch ein UML-Profil abgebildet werden.<br />
Ein Hauptbestandteil der DSL ist das Metamodell der Domäne (siehe Abschnitt<br />
2.3.1). Es ist auch dem Generator bekannt. Auf diese Weise kann aus dem Modell<br />
bedeutend mehr ” herausgeholt“ werden, als es mit einem allgemeinen domänenu-<br />
nabhängigen Generator der Fall ist. Der MDSD-Ansatz unterscheidet sich somit<br />
auch auf Seite der Generatoren von aktuellen CASE-Tools, bei denen zumeist<br />
ein ” One Size fits all!“-Ansatz verfolgt wird. Hier wird nicht auf den spezifischen<br />
Einsatzzweck einer Software geachtet, sondern das Generat folgt stets den selben<br />
Designparadigmen. Dadurch ist einerseits der erzielbare Generierungsfaktor<br />
niedriger als bei einem domänenspezifischen Ansatz und andererseits wird mit<br />
hoher Wahrscheinlichkeit den geforderten Qualitätskriterien nicht Genüge getan.<br />
Um die Generierung zu vereinfachen und den erzeugten Quellcode nicht auf der<br />
” nackten“ Programmiersprache aufbauen zu müssen, werden domänenspezifische<br />
Plattformen eingesetzt. Sie bilden den zweiten Eckpfeiler von MDSD. Eine Platt-<br />
form setzt sich aus Komponenten und Frameworks zusammen. Diese Bestandteile<br />
sind für alle Anwendungen einer Domäne gleich. Der Einsatz höherwertiger APIs<br />
erleichtert den Entwurf der nötigen Transformationsvorschriften ungemein, da<br />
dem Generat ein Stück des Weges entgegengekommen wird.<br />
Abbildung 2.1 stellt die Zusammenhänge bei der Entwicklung mit MDSD dar.<br />
Betrachtet man den Quellcode eines beliebigen Mitglieds einer Softwaresys-