22.11.2013 Aufrufe

Modellbasierte Anforderungsspezifikation sicherheitskritischer ...

Modellbasierte Anforderungsspezifikation sicherheitskritischer ...

Modellbasierte Anforderungsspezifikation sicherheitskritischer ...

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.

hat beispielsweise Arabestani in [ARA05] durchgeführt. Die Aktivitätsdiagramme verwenden<br />

eine Mischung aus dem Tokentransport der Petri-Netze [OMG07-2, S. 295] und einer Datenflussnotation<br />

(ObjectFlows, [OMG07-2, S. 386]). Dabei hinkt die wissenschaftliche Aufarbeitung<br />

der Semantik von Aktivitätsdiagrammen hinter der beschriebenen pragmatisch-technischen Umsetzung<br />

durch die Werkzeughersteller und dem erreichten Arbeitsstand bei den Zustandsautomaten<br />

hinterher. Neben dem generellen Ansatz des UML Semantics Project werden in diversen<br />

Forschungsarbeiten zurzeit dedizierte Ansätze für eine formale Definition von Aktivitätsdiagrammen<br />

beschrieben. Dabei werden verschiedene Strategien verfolgt: So wird beispielsweise<br />

versucht, die Aktivitätsdiagramme in Petri-Netze zu transformieren [STÖ04]. Andere Ansätze<br />

basieren auf der Verwendung von kleinen, virtuellen Maschinen zum Ausführen der einzelnen<br />

Aktivitäten, wobei hierbei meist nur eine Teilmenge der Sprachelemente von Aktivitätsdiagrammen<br />

implementiert wird [VIK05]. Wieder andere Autoren versuchen Aktivitätsdiagramme durch<br />

Zustandsmaschinen auszudrücken, wobei oftmals aber nur UML 1.5-konforme Sprachkonstrukte<br />

verarbeitet werden können. Eshuis beschreibt in [ESW01] eine formale Semantik für Aktivitätsdiagramme<br />

und zeigt in [ESH06], dass sich aus Aktivitätsdiagrammen Eingangsdaten für den<br />

symbolischen Model-Checker NuSMV erzeugen lassen, womit auch das in Aktivitätsdiagrammen<br />

beschriebene Verhalten formal verifizierbar wird.<br />

Eine idealisierte Zielvorstellung - als Fortführung der genannten Arbeiten - wäre eine formal<br />

fundierte Semantik für Aktivitätsdiagramme analog [ARA05]. Die Semantik müsste die direkte<br />

Ausführbarkeit von Aktivitätsdiagrammen sowie deren Einsatz für Testfallausführung, Testfallgenerierung<br />

und formale Verifikation ermöglichen. Jedoch erscheint es für den Bereich der<br />

Anforderungsmodellierung vertretbar, bereits jetzt die Vorteile der in zahlreichen Werkzeugen<br />

implementierten Codeerzeugung für Aktivitätsdiagramme auch ohne strikte Semantikdefinition<br />

zu nutzen. Zuvor sollte jedoch in gesonderten Arbeiten das aus unzureichend formal definierter<br />

Codeerzeugung entstehende Risiko analysiert werden.<br />

Neben diesen Differenzen im Grad des Formalismus unterscheiden sich Zustandsmaschinen und<br />

Aktivitätsdiagramme auch aus Sicht der Modellierung und damit auch die Anwendungsschwerpunkte<br />

beider Beschreibungsmittel. Die folgende Auflistung differenziert die wichtigsten Unterschiede<br />

aus einer pragmatischen Sicht auf die Modellierung:<br />

(a) Bei Zustandsautomaten liegt der Schwerpunkt auf den Zuständen, in denen sich die zugehörigen<br />

Komponenten (Klassen, Blöcke, Systeme, etc.) befinden sowie auf den Transitionen<br />

(optional mit Ereignis, Bedingung und auszuführender Aktion), die Zustandsänderungen<br />

darstellen. Daher eignen sich Zustandsautomaten gut für die Beschreibung von<br />

Systemen, für die sich diskrete Zustände ermitteln lassen. Für eine weiterführende, detaillierte<br />

Beschreibung der Möglichkeiten und der Syntax von Zustandsmaschinen sei auf<br />

[WEI06, S. 272 ff.] und [OMG07-1, S. 519, ff.] verwiesen.<br />

(b) Aktivitätsdiagramme sind im Gegensatz zu den Zustandsmaschinen geeigneter für ablauforientierte<br />

Beschreibungen, ähnlich z.B. Flussdiagrammen. Einzelne Aktivitäten repräsentieren<br />

nicht zwangsläufig einen bestimmten Systemzustand und die Übergänge zwischen<br />

zwei Aktivitäten sind nicht zwangsweise an das Auftreten von Ereignissen gebunden. Außerdem<br />

können Aktivitäten in der SysML-Version von Aktivitätsdiagrammen auch kontinuierlich<br />

ablaufen, wenn beispielsweise Stoff- oder Informationsflüsse (Luft, Wasser, Datenströme,<br />

etc.) modelliert werden sollen. Weiterhin kann in Aktivitätsdiagrammen durch<br />

das Konstrukt der Objektflüsse auch der Austausch von Daten zwischen den einzelnen Aktivitäten<br />

explizit dargestellt werden. Weitere Informationen über die Aktivitätsdiagramme<br />

finden sich in [WEI06, S. 251 ff.], in [OMG07-1, S. 85 ff.] und in [OMG07-2, S. 295 ff.].<br />

Während der Modellierung im Rahmen dieser Arbeit hat sich gezeigt, dass Aktivitätsdiagramme<br />

wegen der in (b) genannten Eigenschaften für anforderungsbezogene Problemstellungen übli-<br />

55

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!