22.11.2013 Aufrufe

Modellbasierte Anforderungsspezifikation sicherheitskritischer ...

Modellbasierte Anforderungsspezifikation sicherheitskritischer ...

Modellbasierte Anforderungsspezifikation sicherheitskritischer ...

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.

5.1.4.4.4. Aktionssprachen<br />

In den Diagrammen der Systemverhaltenssicht kann ein Teil der zur Ausführbarkeit nötigen<br />

Informationen direkt durch die grafischen Sprachelemente der UML/SysML ausgedrückt werden.<br />

Vergleicht man Aktivitäts- und Zustandsdiagramme hinsichtlich dieser Eigenschaft, zeigt<br />

sich, dass Aktivitätsdiagramme durch das Konzept der actions (Aktionen) [OMG07-2, S. 219 ff.]<br />

dabei eine höhere semantische Abdeckung aufweisen. Bei Aktionen handelt es sich um vordefinierte<br />

Verhaltenselemente für bestimmte Routineaufgaben, beispielsweise existieren Aktionen<br />

für das Lesen und Schreiben von Attributen, das Senden und Empfangen von Nachrichten und<br />

für Entscheidungs- und Verzweigungskonstrukte. Die Verwendbarkeit dieser Sprachelemente für<br />

ausführbare Modelle ist allerdings stark davon abhängig, ob und ggf. für wie viele der Standard-<br />

Aktionen das gewählte Modellierungswerkzeug eine Code-Erzeugung unterstützt. So implementiert<br />

das verwendete IBM/telelogic Rhapsody nur einen Bruchteil der in UML und SysML definierten<br />

Aktionen.<br />

Existieren für bestimmte Teile des Zielverhaltens keine grafischen UML/SysML-Sprachkonstrukte,<br />

müssen die nötigen Informationen anderweitig ausgedrückt werden. In vielen Modellierungswerkzeugen<br />

geschieht dies durch Fragmente der gewählten Ausführungs-Zielsprache, also z.B.<br />

durch entsprechenden C++-Code, der bestimmten Modellelementen (beispielsweise als guard<br />

einer Transition) zugeordnet wird.<br />

Dies ist in mehrfacher Hinsicht ungünstig:<br />

• Das Modell wird somit auf eine Ausführungs-Zielsprache festgelegt. Möchte man das gleiche<br />

Modell in eine andere Sprache - wie z.B. Java - übersetzen, müssen alle händisch<br />

eingefügten Statements der einen Zielsprache aufwändig durch die entsprechenden Äquivalente<br />

der anderen Sprache ersetzt werden. Damit wird nicht nur der eigentlich abstrakte,<br />

grafische Modellierungsansatz der UML/SysML durchbrochen, sondern auch eine Möglichkeit<br />

für zusätzliche Modellierungsfehler geschaffen.<br />

• Der Modellierer wird dazu gezwungen, sich Kenntnisse der jeweiligen Zielsprache anzueignen,<br />

damit er die erforderlichen Sprachausdrücke erstellen kann. Dies mag zwar im<br />

Bereich der Softwareentwicklung vertretbar sein, ist aber im Bereich der Anforderungserstellung<br />

für Systeme besonders ungünstig. Der Modellbearbeiter ist dort meist mehr mit<br />

der zugehörigen Fachdomäne als mit Programmiersprachen vertraut.<br />

• Selbst bei prinzipiellen Kenntnissen über die Zielsprache verwenden viele Modellierungswerkzeuge<br />

umfangreiche Frameworks, um den UML/SysML-Sprachumfang abzubilden.<br />

Daher ist nicht nur Wissen über die Zielsprache an sich erforderlich, sondern auch über<br />

deren konkrete Verwendung in der werkzeugspezifischen Systemumgebung.<br />

Dieses grundsätzliche Problem der UML/SysML ist in dieser Form durchaus bekannt, so dass<br />

verschiedene Ansätze zur Lösung entwickelt wurden. Diese lassen sich grob in zwei Gruppen<br />

einteilen: Zum einen in Ansätze zur Entwicklung einer zielsprachenunabhängigen Aktionssprache<br />

und zum anderen in die Einführung des Aktionskonzeptes in der UML 2.0. Zur ersten Gruppe<br />

zählen Ideen zur Erweiterung bestehender Sprachen, beispielsweise in Form einer Erweiterung<br />

der objects constraint language (OCL, [OMG06-1]) zur OCL4X [JZM07], oder auch komplett neu<br />

entwickelte Sprachen [MTA98, DOU01]. Allerdings wird durch dieses Vorgehen lediglich die<br />

Problematik der Abhängigkeit von einer spezifischen Zielsprache und zur Werkzeugumgebung<br />

gelöst. Der Modellbearbeiter muss dennoch die jeweilige Spezifikationssprache zusätzlich zur<br />

UML-Notation beherrschen.<br />

Daher erscheint es aus Sicht der Anwendungsdomain sinnvoller, wo immer es möglich ist, das<br />

UML/SysML-Aktionskonzept zu verwenden, um möglichst wenig Berührungspunkte zur darunter<br />

liegenden Zielsprache und zum Werkzeug-Framework zu erzeugen. Im Rahmen dieser Arbeit<br />

58

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!