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.

5<br />

3 Bounded Model Checking<br />

3.1 Idee<br />

Dieser neue Ansatz im Bereich der formalen <strong>Verifikation</strong> beschäftigt sich, wie<br />

viele Ansätze davor, mit dem lösen von Problemen. Es handelt sich hierbei nicht<br />

um ein x-beliebiges Problem sondern um die Frage, ob die an das Design gestellten<br />

Eigenschaften von diesem erfüllt werden. Die Kernidee dieser Technik<br />

besteht nun darin Gegenbeispiele beliebiger Länge k zu finden, ohne den Zustandsraum<br />

des betrachteten Systems zu durchforsten. Dies wird dadurch gelöst,<br />

indem das zu untersuchende Verhalten des Systems durch eine aussagenlogische<br />

Formel ausgedrückt und anschließend ausgewertet wird. Da es sich hierbei um<br />

ein Erfüllbarkeitsproblem handelt, also ob ein Design eine Eigenschaft erfüllt,<br />

eignen sich zur Lösung solcher Formel SAT Methoden.<br />

Wenn man in diesem Zusammenhang von beliebiger Länge k spricht, so drückt<br />

k die Schranke (”bound”) aus, also die maximale Länge des Gegenbeispieles.<br />

Die zur Aufstellung der Formel benötigte Zeit wird in Kapitel 3.4 näher betrachtet.<br />

Der Einsatz von bounded model checking erlaubt die Spezifikation der<br />

elementaren Eigenschaften wie Lebendigkeit und Sicherheit, die anschließend auf<br />

ihre Erfüllbarkeit hin getestet werden. Hierbei ist es wichtig zu wissen was diese<br />

Eigenschaften eigentlich aussagen. So besagt die Sicherheitseigenschaft, dass<br />

überprüft werden muss, ob eine gegebene Menge von Zuständen erreichbar ist,<br />

inklusive der Verifizierung des Vorhandenseins etwaiger Schleifen im Zustandsgraphen<br />

des Systems.<br />

Vorteile dieses Ansatzes:<br />

1. Gegenbeispiele werden schnell gefunden<br />

Grund: Tiefensuche von SAT Prozeduren<br />

2. Gegenbeispiele sind von minimaler Länge<br />

Vorteil: Verständnis des Benutzers wird unterstützt<br />

3. es wird weniger Speicher benötigt<br />

Grund: keine üblichen BDD Ansätze<br />

4. keine Eingriffe seitens des Bedieners<br />

Vorteil: hoher Automatisierungsgrad<br />

3.2 Triviales Eingangsbeispiel<br />

Wenn man sich in die Lage eines Ingenieurs versetzen würde, so besteht seine<br />

primäre Aufgabe bei der Entwicklung neuer Produkte darin, dass das neue<br />

Produkt die aufgestellten Eigenschaften erfüllt. So gesehen könnte dieser hier<br />

betrachtete Zähler ein solches Produkt sein. Dieser Zähler soll aus drei Schieberegistern<br />

bestehen, die mit x[0], x[1] und x[2] gekennzeichnet sind.<br />

Mit den heutigen Entwicklungsmethoden wie Rapid Prototyping ist es meist<br />

nicht anders machbar, als an die Modellierung neuer Produkte zu gehen, ohne<br />

den unvollständigen Katalog mit Eigenschaften zu besitzen. Dieser Fall könnte<br />

exemplarisch auch an diesem Zähler vorgenommen werden, da hier nur eine

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!