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.

24 Kapitel 2 – Entwurf und Einsatz <strong>von</strong> DSLs in der Softwareentwicklung<br />

Legende<br />

Entwurf<br />

Implementierung<br />

Verwendung<br />

<strong>von</strong> DSLs<br />

Übliche<br />

Aktivität<br />

Anforderungen<br />

Analyse<br />

Validierung/<br />

Verifikation<br />

Auslieferung<br />

Wartung<br />

Abbildung 2.2: Allgemeines Vorgehensmodell mit DSLs<br />

mit den Entwicklern werden diese dann präzisiert und ein entsprechendes System realisiert.<br />

Dieser mittelbare Einfluss <strong>von</strong> Experten ist, wie bereits beschrieben, hinderlich für<br />

eine Softwareentwicklung, die mit sich ändernden Anforderungen umgehen muss. DSLs<br />

ermöglichen die direkte Einbindung <strong>von</strong> Domänenexperten in den <strong>Entwicklung</strong>sprozess.<br />

Wird eine DSL zur Analyse genutzt, sollte sie die Möglichkeit bieten, die wesentlichen<br />

Eigenschaften eines Softwaresystems spezifizieren zu können.<br />

Die in dieser Dissertation verwendete Fallstudie (Kapitel 10) und insbesondere die<br />

Ausführungen in [GHK + 08a] zeigen, dass automotive Funktionsnetze zur Dokumentation<br />

baureihenübergreifenden funktionalen Wissens geeignet sind. Die Funktionsnetze bilden die<br />

Grundlage für die Ausgestaltung der Software-Architektur und eignen sich zur formalen<br />

Erfassung <strong>von</strong> Anforderungen.<br />

2.2.2 DSLs im Entwurf<br />

Der Entwurf dient zur Strukturierung der Software und zur frühzeitigen Analyse der entscheidenden<br />

Eigenschaften. Die dabei häufig verwendete universelle Modellierungssprache<br />

UML [OMG07b] beinhaltet verschiedene Teilsprachen zur Modellierung bestimmter Aspekte<br />

eines Softwaresystems. Die UML erlaubt die Individualisierung ihrer Notation, indem für<br />

spezifische Anwendungsgebiete so genannte Profile definiert werden. Ein Beispiel hierfür<br />

ist das MARTE-Profil [OMG08] zur Spezifikation echtzeitfähiger Anwendungen.<br />

Alternativ kann eine DSL verwendet werden, die als Architekturbeschreibungssprache<br />

bezeichnet wird, wie zum Beispiel ACME [GMW97] oder Rapide [LKA + 95]. Diese bieten<br />

jeweils Formalismen zur Beschreibung der Architektur eines Systems, wobei die genau zu<br />

spezifizierenden Informationen durch anschließende Analysen motiviert sind, die eine frühzeitige<br />

Abschätzung der zentralen Eigenschaften des Systems erlauben und somit helfen,<br />

den Entwurf zu verbessern. In der automotiven Domäne etablieren sich gerade Beschreibungssprachen,<br />

um automotive Softwaresysteme besser entwerfen und analysieren zu können.<br />

Wichtige Ansätze sind dabei die Autosar Softwarearchitektursprache [AUT] und die<br />

East-ADL [EAS], die innerhalb des ITEA EAST-EEA-Projekts entstanden ist. Die durch<br />

die Society of Automobile Engineers (SAE) standardisierte Architecture Analysis and Design<br />

Language (AADL) [SAE06] beschreibt die modellbasierte <strong>Entwicklung</strong> eingebetteter<br />

Systeme im Automobil und in der Avionik.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!