30.06.2014 Aufrufe

MontiCore: Agile Entwicklung von domänenspezifischen Sprachen ...

MontiCore: Agile Entwicklung von domänenspezifischen Sprachen ...

MontiCore: Agile Entwicklung von domänenspezifischen Sprachen ...

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.

1.5 Der <strong>MontiCore</strong>-Ansatz 17<br />

Domänenspezifischer Codegenerator<br />

Manuelle<br />

Programmierung<br />

DSLTool-Framework<br />

Erweiterte<br />

Grammatik<br />

Workflow ... Workflow Workflow<br />

Sprachverarbeitung<br />

Sprachverarbeitung<br />

Wiederverwendung<br />

Sprachverarbeitung<br />

Bibliothek<br />

Workflow<br />

Templates<br />

Manuelle<br />

Programmierung<br />

Abbildung 1.5: Übersicht über die Erstellung <strong>von</strong> domänenspezifischen Codegeneratoren<br />

mit <strong>MontiCore</strong><br />

Eine agile Form der Softwareentwicklung kann bedeuten, dass der Generator während<br />

der Erstellung des Softwaresystems verändert wird. Die Programmierung des Generators<br />

wird somit Teil der Produktentwicklung, weil der Generator während der <strong>Entwicklung</strong><br />

fortlaufend ergänzt und angepasst wird. Somit können Fortschritte bei der <strong>Entwicklung</strong><br />

des Zielsystems durch die Implementierung <strong>von</strong> DSL-Modellen, Java-Quellcode und die<br />

Weiterentwicklung des Generators gemacht werden. Die einzelnen Aktivitäten sind dabei<br />

ineinander verschränkt und orientieren sich an den Bedürfnissen des Projekts. Die Nachteile<br />

eines solchen Vorgehens liegen darin, dass mit der DSL-Definition auch die DSL-Modelle<br />

angepasst werden müssen, was bei einer großen Anzahl an Modellen sehr aufwändig sein<br />

kann. Es existieren erste akademische Ansätze [PJ07a, PJ07b], die dieses Problem adressieren<br />

und Koevolutionsstrategien für Modelle und DSLs definieren. In dieser Arbeit wird<br />

in Abschnitt 9.3.9 die gleichzeitige Weiterentwicklung der Laufzeitumgebung und der Codegenerierung<br />

besprochen.<br />

Die Eigenschaften des Ansatzes und der Einsatz des DSLTool-Frameworks werden durch<br />

Fallstudien in Kapitel 10 illustriert. Dabei wird exemplarisch für die generative <strong>Entwicklung</strong><br />

die Konzeption einer Java-Spracherweiterung zur Modelltransformation beschrieben. Als<br />

ein Beispiel für den analytischen Einsatz wird die Funktionsnetzmodellierung automotiver<br />

Systeme verwendet.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!