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.
5.1.4.4. Systemverhaltenssicht<br />
Mit den bisher beschriebenen Sichten können die folgenden Sachverhalte im funktionalen Modell<br />
dargestellt werden:<br />
(a) wie sich das System von seiner Umgebung abgrenzt und mit welchen Elementen seiner<br />
Umgebung es kommuniziert<br />
(b) welche Systemfunktionen es seiner Umgebung bereitstellt<br />
(c) wie diese Systemfunktionen in bestimmten Situationen mit der Umgebung interagieren<br />
sollen<br />
Diese Elemente sind jedoch noch nicht hinreichend für ein ausführbares Modell, das die Grundlage<br />
für die Umsetzung der in Abschnitt 4 formulierten Ziele ist: Nur ausführbare Modelle sind<br />
test- und verifizierbar, wobei eine Verhaltensspezifikation - wie im nachfolgenden Unterkapitel<br />
gezeigt werden wird - wesentliche Voraussetzung für die Ausführbarkeit ist. Das funktionale<br />
Modell muss daher zwingend um eine Modellierung des Verhaltens ergänzt werden.<br />
Im nachfolgenden Unterabschnitt 5.1.4.4.1 wird zunächst der Begriff der Ausführbarkeit für den<br />
Rahmen dieser Arbeit definiert und anschließend die Möglichkeiten beschrieben, die sich daraus<br />
ergeben. Anschließend wird in Unterabschnitt 5.1.4.4.2 dargelegt, welches Beschreibungsmittel<br />
für die Verhaltensmodellierung von Anforderungsmodellen geeignet erscheint. Verschiedene<br />
Aspekte der Verhaltensmodellierung werden dann in den Unterkapiteln 5.1.4.4.3 bis 5.1.4.4.6<br />
beschrieben.<br />
5.1.4.4.1. Möglichkeiten ausführbarer Modelle<br />
Wesentliches Ziel einer Verhaltensspezifikation ist die Schaffung eines ausführbaren Anforderungsmodells,<br />
das die Grundlage für die Verhaltensvisualisierung, die Durchführung von Tests<br />
und Erzeugung von Testfällen und die formale Verifikation ist. Bevor im Folgenden die genannten<br />
Möglichkeiten einzeln vorgestellt werden, soll zunächst der Begriff ausführbar für die weitere<br />
Verwendung in dieser Arbeit definiert werden: Ein Modell ist dann ausführbar, wenn sich<br />
die Modellinformationen in eine entsprechende Zielsprache (wie C++, Java) übersetzen lassen<br />
und sich der erzeugte Quellcode in ein ausführbares Programm kompilieren lässt. Dazu sind im<br />
vorliegenden Fall dieser Arbeit 1 die folgenden Vorbedingungen zu erfüllen:<br />
• Das Verhalten des Modells muss deterministisch sein, wobei - analog zu einer deterministischen<br />
Turing-Maschine - zu jedem möglichen Zustand des Systems der Folgezustand<br />
eindeutig definiert sein muss [WES00]<br />
• Die Struktur des Systems und seiner Umgebung muss durch Klassendiagramme (UML)<br />
oder Blockdefinitionsdiagramme (SysML) modelliert worden sein<br />
• Das Verhalten des Systems muss mit entsprechenden Modellierungselementen der UML/-<br />
SysML (Zustandsmaschine, Aktivitätsdiagramm) abgebildet worden sein<br />
Bei Verwendung einer entsprechenden Modellierungsumgebung (im Rahmen dieser Arbeit: IB-<br />
M/telelogic Rhapsody) lässt sich unter Berücksichtigung dieser Vorbedingungen das Modell<br />
kompilieren und ausführen. Das Verhalten des ausführbaren Modells wird in Form animierter<br />
Zustands- und Aktivitätsdiagramme angezeigt und kann intuitiv nachvollzogen werden. Durch<br />
die Rückmeldung lässt sich auffälliges Fehlverhalten bereits während der Erstellung der <strong>Anforderungsspezifikation</strong><br />
erkennen. Zu beachten ist dabei, dass zurzeit noch keine durchgängig<br />
1 Dies meint die gegebenen Randbedingungen für die Modellierung, wie: Modellierungssprache (UML/SysML),<br />
Modellierungswerkzeug und verwendete Zielsprache (C++).<br />
53