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.

39<br />

bewegt sich bei diesen Problemen in etwa zwischen 50 und 350. Die Tests wurden auf<br />

einer Linux - Workstation mit einem 930MHz Pentium III Prozessor und 512MB<br />

Arbeitsspeicher ausgeführt.<br />

Aufgrund dieser relativ schwierigen Problemstellung war es mit einer Standard-<br />

Modellprüfung nicht möglich, auch nur eine der 20 Bedingungen innerhalb von 1800<br />

Sekunden (ein halbe Stunde!) zu verifizieren. (Hauptgrund für dieses Versagen<br />

scheint die kombinatorische Logik einer der beiden Einheiten zu sein, da diese in<br />

BDDs zu übersetzen eine sehr schwierige Aufgabe ist.) Der Interpolationsalgorithmus<br />

hingegen schafft es, 19 von 20 dieser Bedingungen erfolgreich zu verifizieren.<br />

Ein Vergleich der Laufzeiten des Interpolationsalgorithmus mit der Methode der<br />

beweisbasierten Abstraktion, die SAT-Algorithmen verwendet, um abstrakte Modelle<br />

zu konstruieren, die ihrerseits mit auf BDD-basierenden Modellprüfern verifiziert<br />

werden, ist in Abbildung 5 dargestellt. Diese Methode ist deutlich effizienter als eine<br />

einfache BDD-basierte Modelprüfung und verifiziert erfolgreich 18 von den 20<br />

Benchmarks. In der Abbildung repräsentiert jeder Punkt einen Benchmark, wobei der<br />

Wert auf der x-Achse die Zeit in Sekunden darstellt, die die Methode beweisbasierte<br />

Abstraktion benötigt und der Wert der y-Achse die Zeit angibt, die der<br />

Interpolationsalgorithmus benötigt. Allerdings muss man erwähnen, dass beim<br />

Interpolationsalgorithmus nur die Zeit die der SAT-Algorithmus benötigt gemessen<br />

wurde, da bei einer effizienten Implementierung die anderen Zeiten vernachlässigbar<br />

sein sollen. Des weiteren wurde bei diesen Benchmarks j = k gewählt. Ein Zeitwert<br />

von 1000 bedeutet, dass der Benchmark nach 1000 Sekunden abgebrochen wurde.<br />

Werte unter der Diagonalen zeigen einen Vorteil der hier vorgestellten Methode. Es<br />

ist somit zu erkennen, dass der Interpolationsalgorithmus in 16 Fällen besser und nur<br />

in drei Fällen schlechter abschneidet als die beweisbasierte Abstraktion. In einem Fall<br />

konnte das Problem von keinem der beiden Methoden gelöst werden. In einigen<br />

Fällen ist der Interpolationsalgorithmus sogar um zwei Größenordnungen besser.<br />

Abbildung 5: Laufzeiten der PicoJava Benchmarks

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!