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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Kapitel 1<br />

Einführung<br />

Domänenspezifische <strong>Sprachen</strong> (engl. domain specific language - DSL) sind <strong>Sprachen</strong> der<br />

Informatik, mit denen kompakte Problemlösungen aus eng umrissenen fachlichen oder<br />

technischen Anwendungsgebieten formuliert werden können. Durch die Anlehnung an ein<br />

Fachgebiet gelingt die Integration <strong>von</strong> Fachexperten besser als bei einer herkömmlichen<br />

Softwareentwicklung. Die automatische Erzeugung <strong>von</strong> Produktivcode aus DSL-Modellen<br />

stellt eine Form der modellgetriebenen <strong>Entwicklung</strong> dar, die eine direkte Erstellung eines<br />

Softwaresystems aus Modellen ermöglicht. In dieser Arbeit werden textuelle DSLs<br />

mittels einer grammatikbasierten modularen Sprachdefinition beschrieben, die durch das<br />

<strong>MontiCore</strong>-Framework in ausführbare Komponenten überführt werden können. Dabei können<br />

Methoden eingesetzt werden, die die Definition einer DSL ausgehend <strong>von</strong> anderen Formaten<br />

ermöglichen. Die Ausgestaltung eines Generators wird durch die Verwendung eines<br />

Entwicklerframeworks erleichtert, das eine Referenzarchitektur für modellbasierte Codegeneratoren<br />

darstellt.<br />

Dieses erste Kapitel dient als eine grobe Übersicht über diese Arbeit. Zunächst wird<br />

die Verwendung <strong>von</strong> DSLs innerhalb der Softwareentwicklung motiviert. Daraufhin werden<br />

verbreitete Definitionen des DSL-Begriffs zusammengestellt und zu einer eigenen Definition<br />

entwickelt. Darauf aufbauend werden die Erfolgsfaktoren und Risiken des Einsatzes <strong>von</strong><br />

DSLs dargestellt. Es wird beschrieben, wie solche <strong>Sprachen</strong> und darauf basierende Werkzeuge<br />

derzeit entwickelt werden und welche Probleme dabei identifiziert wurden. Daraus<br />

wird ein Vorgehen zur Spezifikation <strong>von</strong> domänenspezifischen <strong>Sprachen</strong> mit einem kompakten<br />

grammatikbasierten Format entwickelt, deren Verarbeitung durch ein Entwickler-<br />

Framework unterstützt wird. Schließlich werden die wesentlichen Ziele des Forschungsvorhabens<br />

und der Beitrag zur Forschung aufgelistet sowie ein Überblick über diese Arbeit<br />

gegeben.<br />

1.1 Motivation<br />

Die <strong>Entwicklung</strong> <strong>von</strong> Softwaresystemen hat sich in den letzten 40 Jahren zu einer eigenständigen<br />

Ingenieursdisziplin herausgebildet. Namensgebend hierfür war die Nato-Konferenz im<br />

Jahre 1968 [NR69], auf der der Begriff „Software Engineering“ erstmals verwendet wurde,<br />

auch wenn die entscheidenden Werkzeuge, Techniken und Methoden erst in den folgenden<br />

Jahren entwickelt wurden.<br />

Ein wichtiger Aspekt der Softwareentwicklung sind Programmiersprachen, in denen<br />

die Entwickler die Programmlogik formulieren und so direkt die Eigenschaften des Soft-

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!