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.
4 Entwicklungsprozess, Vorgehensweise und Best Practices 33<br />
ein, da sie den generierten Code stützt und somit die Entwicklung der nötigen<br />
Transformationen zur Codegenerierung erleichtert.<br />
Zu beachten ist, dass dieser Schritt keine einmalige Maßnahme darstellt sondern<br />
eine iterative Aktivität ist. Des Weiteren ist es durchaus üblich, dass sich die<br />
Grenze zwischen Plattform und generiertem Code in die eine wie auch in die<br />
andere Richtung verschiebt.<br />
Referenzimplementierung erstellen<br />
Die Referenzimplementierung kann die Weiterentwicklung eines bereits existie-<br />
renden Prototypen sein, muss es aber nicht sein. Hier steht weniger der fachliche<br />
Gehalt als vielmehr eine Überdeckung mit den Konstrukten der DSL im Vor-<br />
dergrund. Das ist besonders wichtig, da die Referenzimplementierung zusammen<br />
mit dem Referenzmodell die Anwendung der DSL-Konzepte beschreibt und für<br />
die gewählte technische Plattform konkretisiert.<br />
Die Referenzimplementierung ist zwar nur ein Zwischenergebnis aber aus eben<br />
genannten Gründen ein sehr Wichtiges. Zusätzliche Bedeutung erlangt sie durch<br />
den Umstand, dass aus ihr die für die Codegenerierung benötigten Transforma-<br />
tionsvorschriften abgeleitet werden.<br />
Bei einer Neuentwicklung wird die Referenzimplementierung zuerst von Hand<br />
erstellt und nach und nach, sobald die Transformationsvorschriften vorliegen,<br />
durch aus dem Referenzmodell heraus generierten Code ersetzt. Zusammen mit<br />
der manuell ergänzten Fachlogik und den Komponenten der MDSD-Plattform<br />
muss der generierte Code wieder zu einer lauffähigen Referenzanwendung führen.<br />
Domänenanalyse/Design<br />
Das Ziel der Domänenanalyse ist die Findung einer DSL, die die Konzepte der<br />
Domäne beschreibt und formalisiert. Das Ergebnis kann zum Beispiel ein UML-<br />
Profil sein oder ein XML-Schema. Stahl und Völter geben in [SV05] Seite 207 die<br />
im Folgenden zitierten Ratschläge für die Beschaffenheit einer DSL:<br />
Die DSL sollte möglichst frei von technischen Termini sein, die<br />
ein Implementierungsdetail der MDSD-Plattform ... darstellen (z.B.<br />
Verwendung von EntityObject statt EntityBean als Stereotyp).<br />
Diese sprachliche Abstraktion von einer bestimmten Technologie erleichtert eine<br />
mögliche Migration auf eine andere Plattform.