25.11.2014 Aufrufe

Verifikation reaktiver Systeme - Universität Kaiserslautern

Verifikation reaktiver Systeme - Universität Kaiserslautern

Verifikation reaktiver Systeme - Universität Kaiserslautern

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.

21<br />

zifiziert und überprüft werden. Dem gegenüber stehen die Transaktionseigenschaften.<br />

Hier treten Fehler, insbesondere Deadlocks, erst nach gewissen zeitlichen<br />

Abläufen auf. Die Deadlockwahrscheinlichkeit ist in Fällen von überfüllten<br />

Queues besonders wahrscheinlich. Diese sind auch mit bounded model checking<br />

zu finden, allerdings müsste der Benutzer - in erster Betrachtung - hierfür viel<br />

Zeit und Geduld investieren, bis die Berechnung beendet ist. Würde man hingegen<br />

einen Spezialisten damit beauftragen mit sehr genaue Kenntnisse über<br />

das zu untersuchende System, so hätte dies einige Vorteile. Ihm ist es möglich,<br />

mit einem geringeren Risiko von false negative, den Startzustand des bounded<br />

model checking Problem zu variieren. Der Fehler der Autoren bezüglich der Verwendung<br />

von gateprop lag genau in diesem Punkt. Sie änderten den Zustand<br />

niemals und passten ihn damit nicht an die zu untersuchende Eigenschaft an.<br />

Jeder Erstbenutzer würde genau so handeln und sich den einfachsten Zustand als<br />

Initialzustand der Untersuchung aussuchen, in diesem Fall war es der Zustand<br />

nach dem RESET der Brücke.<br />

Denkbar wäre hier eine Kombination aus den Vorteilen von Testsuiten und den<br />

formalen Methoden. Testfälle könnte potentielle Deadlockfälle ausloten, die dann<br />

mittels gateprop untersucht würden. Der Vorteil wäre, dass man leichter den Initialzustand<br />

bestimmen könnte und zudem auch mit Sicherheit Aussagen über<br />

weitere Deadlocks in der Abfolge der Verarbeitung machen könnte.<br />

5.1 Vergleich mit etablierten Techniken<br />

An dem Tool gateprop konnte man erkennen, dass bounded model checking Probleme<br />

sich sehr gut mit SAT-Prozeduren kombinieren lassen. Eine weitere Technik,<br />

die in diesem Zusammenhang einer Erwähnung würdig wäre sind BDDs.<br />

BDDs eignen sich weniger gut in Kombination mit bounded model checking Problemen,<br />

da sie eine Repräsentation der zugrundeliegenden Datenstruktur darstellen.<br />

Ihr Problem ist nicht das Handling der Datenstruktur, sondern ihr Aufbau.<br />

Die guten Eigenschaften von BDDs kommen erst zur Geltung nach Aufbau der<br />

Struktur und erlauben dann die Anwendung von booleschen Operationen auf den<br />

Datenstrukturen. Diese Operationen sind ohne jeden Zweifel sehr effizient und<br />

können mit heutigen Implementierung sehr schnell ausgeführt werden. Da die<br />

Konstruktion von bounded model checking Problemen, in Abhängigkeit von der<br />

Grenze k und der Anzahl der booleschen Variablen des Systems, zu sehr komplexen<br />

Formeln führen kann, ist die Konstruktion dieser Entscheidungsdiagramme<br />

sehr kompliziert. Die notwendige kanonische Darstellung führt bei ungünstiger<br />

Variablenkonstruktion beziehungsweise ungünstigen Funktionen zu einer exponentiellen<br />

Speicherexplosion, die die Vorteile des Ansatzes mehr als aufhebt.<br />

SAT Prozeduren kommen ohne aufwendige Datenstruktur aus. Da sie eine kanonische<br />

Darstellung des Systems vermeiden, vermeiden sie auch mögliche exponentielle<br />

Speicherexplosionen. So müssen sie auch nicht den Zustandsraum<br />

durchsuchen, um ein mögliches Gegenbeispiel für das zu untersuchende Problem

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!