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