Modellbasierte Anforderungsspezifikation sicherheitskritischer ...
Modellbasierte Anforderungsspezifikation sicherheitskritischer ...
Modellbasierte Anforderungsspezifikation sicherheitskritischer ...
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