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.
Der Subprozess beginnt mit der Aktivität „Testlauf gegen Testfälle durchführen” und setzt damit<br />
Testziel A um. Wurde hierbei festgestellt, dass das modellierte Verhalten nicht den in den Szenarien<br />
spezifizierten Systemreaktionen entspricht, wird der Subprozess beendet. In der übergeordneten<br />
Phase muss dann die Inkonsistenz zwischen Szenarien und Verhaltensmodell behoben<br />
werden.<br />
War der Test jedoch erfolgreich, wird auf Basis des gesamten bis zum momentanen Zeitpunkt<br />
modellierten Verhaltens die Testfallgenerierung angestoßen. Die dabei erzeugten Szenarien werden<br />
einem Review unterzogen und mit der bereits bestehenden Menge an Szenarien abgeglichen.<br />
Sollten sich dabei neue Szenarien ergeben, wird dies ebenfalls der übergeordneten Phase<br />
angezeigt und in deren weiteren Abläufen berücksichtigt. Diese Aktivität setzt damit das Testziel<br />
B um.<br />
Der Review der generierten Szenarien und deren Integration in die bestehende Menge an Szenarien<br />
erfolgt dabei zurzeit durch einen rein manuellen Vergleich der einzelnen Szenarien. Dies<br />
ist für größere Mengen an Testfällen, wie sie bereits bei mäßig komplexen Systemen entstehen<br />
können, kaum praktikabel. Daher sollte in weiteren Forschungsarbeiten eine Möglichkeit zum<br />
teilautomatisierten Abgleich zwischen neu generierten Testfällen und der bereits existierenden<br />
Testfallbasis erörtert werden. Als erster Schritt könnte ein automatischer Abgleich eines neuen<br />
Szenarios mit den bereits bestehenden Szenarien über eine einfache Vergleichsfunktion durchgeführt<br />
werden. Damit könnte schneller erkannt werden, ob ein durch die Testfallgenerierung<br />
ermitteltes Szenario bereits in der Menge der Szenarien enthalten ist oder nicht. Eine mögliche<br />
Implementierung zeigt die Funktion „Sequence Diagram Compare” von IBM/telelogic Rhapsody,<br />
die zwei Sequenzdiagramme vergleicht und das Ergebnis durch farbige Markierungen darstellt.<br />
Abbildung 6.24 zeigt das Ergebnis eines solchen Vergleichs. Eine mögliche Weiterentwicklung<br />
dieser Funktion könnte dann automatisiert größere Mengen von Sequenzdiagrammen vergleichen<br />
und Unterschiede entsprechend melden.<br />
6.4.6. S6 - Systemverhalten verifizieren<br />
Eine weitere Möglichkeit zur Prüfung des Systemverhaltens besteht in der Anwendung eines<br />
Model-Checkers zur formalen Verifikation des Verhaltensmodells. Dabei wird das Verhalten eines<br />
Systems gegen eine Spezifikation verglichen, die aus einzelnen Sicherheits- oder Lebendigkeitsbedingungen<br />
besteht. Sicherheitsbedingungen beschreiben dabei Systemzustände, die vom<br />
System niemals eingenommen werden dürfen. Lebendigkeitsbedingungen prüfen hingegen, ob<br />
das System einen bestimmten - beispielsweise betriebswichtigen - Zustand überhaupt erreicht.<br />
Im Gegensatz zum Testen überprüft der Model-Checker dabei den gesamten Zustandsraum des<br />
Systems und somit das gesamte Verhalten auf Konformität mit der Spezifikation. Mit Model-<br />
Checking kann daher ein Korrektheitsnachweis auf dem Niveau eines mathematischen Beweises<br />
durchgeführt werden [CGP00, S. 1].<br />
Grundsätzlich gibt es jedoch deutliche Einschränkungen bezüglich der Komplexität des zu prüfenden<br />
Systems, da Modellchecker systembedingt dem Problem der so genannten Zustandsraumexplosion<br />
unterworfen sind. Dieses Phänomen bezeichnet das rasche Anwachsen des Speicherbedarfs,<br />
insbesondere bei Systemen mit nebenläufigen Prozessen, das bereits bei mäßig komplexen<br />
Systemen zur Nicht-Anwendbarkeit des Model-Checking führen kann [ARA05, S. 152 ff.].<br />
Das Ergebnis des Model-Checkings ist entweder die Aussage, dass das Verhaltensmodell die Spezifikation<br />
nicht verletzt, oder aber ein Gegenbeispiel, das diejenige Folge von Stimuli zeigt, die<br />
zu einer Verletzung der Randbedingungen führen. Arabestani [ARA05] zeigte in seiner Arbeit,<br />
wie sich diese Technologie prinzipiell auf ingenieurwissenschaftliche Problemstellungen anwenden<br />
lässt.<br />
138