Verifikation reaktiver Systeme - Universität Kaiserslautern
Verifikation reaktiver Systeme - Universität Kaiserslautern
Verifikation reaktiver Systeme - Universität Kaiserslautern
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