16.12.2012 Aufrufe

Architekturzentrierte Modellgetriebene Softwareentwicklung

Architekturzentrierte Modellgetriebene Softwareentwicklung

Architekturzentrierte Modellgetriebene Softwareentwicklung

MEHR ANZEIGEN
WENIGER ANZEIGEN

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-

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!