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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

216<br />

In Knoten 1 kann der Baum wie gewöhnlich mit zwei Ästen fortgeführt werden.<br />

Jeder Ast bekommt eine Kopie der Arbeitsmenge ({s 1 ,s 4 }) und die Auswertung<br />

kommt zu Knoten 2. Wertet man hier die Frage, ob a gilt, durch UND–<br />

Verknüpfen der Arbeitsmenge mit a aus, so besagt die Antwort lediglich, ob a<br />

in mindestens einem Zustand der Arbeitsmenge erfüllt ist.<br />

In Knoten 3 gilt es die unmittelbaren Nachfolger von {s 1 ,s 4 } zu bestimmen.<br />

Eine einfache UND–Verknüpfung der Arbeitsmenge mit dem Zustandsraum führt<br />

zu der Kantenmenge, welche aus den Zuständen s 1 und s 4 hinausführen. In<br />

dieser aussagenlogischen Formel müssten dann alle x i entfallen und die x ′ i in x i<br />

umbenannt werden. Damit hat man die gewünschte Nachfolgermenge.<br />

Spätestens an diesem Punkt treten einige Probleme auf. Zum Beispiel ist<br />

die Erkennung von Schleifen beim Ausrollen von Fixpunkten nicht mehr so einfach<br />

zu bewerkstelligen, wie dies bei nur einem Zustand der Fall ist. Die erste<br />

Frage ist überhaupt nach der grundsätzlichen Arbeitsweise eines lokalen Modellprüfers,<br />

der auf mehreren Zuständen gleichzeitig arbeitet. Folgende Varianten<br />

wären denkbar:<br />

Sei M(s) ein lokaler Modellprüfer, welcher auf nur einem Zustand s arbeitet<br />

und M ′ (S) ein Lokaler, welcher auf der Zustandsmenge S arbeitet.<br />

– Der Modellprüfer M ′ arbeitet auf einer Menge {x 1 , ..., x n } mit folgendem<br />

Resultat: ∧ i∈{1,...,n} M(x i)=M ′ ({x 1 , ..., x n })<br />

Sagt also nur aus, ob die Formel in wirklich jedem Zustand gilt.<br />

– M ′ ({x 1 , ..., x n }) liefert als Rückgabewert eine Menge T ⊆{x 1 , ..., x n }, wobei<br />

die Formel für alle Zustände aus dieser Menge erfüllt ist.<br />

Es ist also neben der Wahl der Funktionalität noch einiges mehr zu beachten.<br />

Zum Beispiel in welcher Art und Weise die Arbeitsmenge nun repräsentiert<br />

werden soll – als Transitionen, oder durch ihre Label?<br />

5 Fazit<br />

Es gibt viele unterschiedliche Ansätze und Anwendungsgebiete für Modellprüfungsalgorithmen.<br />

Verfahren, welche die <strong>Verifikation</strong> durch symbolische Auswertung<br />

von µ–Kalkül–Formeln durchführen, sind verhältnismäßig einfach zu erstellen.<br />

Ein Nachteil der µ–Kalkül–Formeln ist die schwere Lesbarkeit. Einerseits ist<br />

es noch gut möglich für kleinere Aussagen solche Formeln zu formulieren, allerdings<br />

sind diese schon vom entgegengesetzten Standpunkt (Formel sehen und<br />

Verstehen) recht schwer zugänglich.<br />

Bei in der Praxis befindlichen Tools wird deshalb meist auf andere Logiken,<br />

welche leichter verständlich sind, zurückgegriffen. Der Vorteil der µ–Kalkül–<br />

Formeln ist die Möglichkeit zur Beschreibung von touring–vollständigen Problemen,<br />

d.h. das µ–Kalkül gehört zur mächtigsten Sprachklasse überhaupt. Es<br />

lassen sich viele Formalismen in das µ–Kalkül einbetten (z.B. Hoare–Logiken,<br />

temporale Logiken, ω-Automaten, etc.). Aus diesem Grund, und aus der guten

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!