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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!