Verifikation reaktiver Systeme - Universität Kaiserslautern
Verifikation reaktiver Systeme - Universität Kaiserslautern
Verifikation reaktiver Systeme - Universität Kaiserslautern
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
201<br />
den BDD (bzw. dessen Wurzel), welcher die Verknüpfung von BddNode x und<br />
BddNode y mit der boolschen Operation f repräsentiert.<br />
Wenn R und Φ Q nun durch die ROBDDs r und q repräsentiert werden und<br />
ROBDD e die Menge E = {x 1 , ..., x n } beschreibt, dann berechnet<br />
RelProd(e, r, q) = ROBDD (∃x 1 , ..., x n .R∧Φ Q ) .<br />
Jetzt fehlt lediglich die Substitution der Variablen x ′ i durch x i (bzw. umgekehrt<br />
für q bei der Vorgängerberechnung). Im praktischen Einsatz wird dies jedoch<br />
meist durch eine verschränkte Variablenordnung umgangen.<br />
D.h. x ′ 1 ≺ x 1 ≺ x ′ 2 ≺ x 2 ≺ ... ≺ x ′ n ≺ x n , somit müssen im Algorithmus<br />
lediglich angepasste Indizes verwendet werden (z.B. i ↦→ 2i + 1 um alle x ′ i zu<br />
adressieren).<br />
Durch die effizienten BDD–Algorithmen existiert damit eine gute Möglichkeit<br />
zur Berechnung der Vorgänger- und Nachfolgermengen. Diese Mengen werden<br />
bei der Auswertung des µ–Kalküls benötigt, dessen Semantik folgendermaßen<br />
definiert ist:<br />
Zu einer Kripke-Struktur K und einer Formel ϕ ∈L µ definiert man:<br />
– x K := {s ∈S|x ∈L(s)}<br />
– ¬ϕ K := S\ϕ K<br />
– ϕ ∧ ψ K := ϕ K ∩ ψ K<br />
– ϕ ∨ ψ K := ϕ K ∪ ψ K<br />
– ♦ϕ K := pre R ∃ (ϕ K) und □ϕ K := pre R ∀ (ϕ K)<br />
– ← ♦ ϕ K := suc R ∃ (ϕ K) und ← □ϕ K := suc R ∀ (ϕ K)<br />
– µx.ϕ K und νx.ϕ K sind kleinster und größter Fixpunkt<br />
x K bezeichnet die Menge der Zustände, welche ein x in der Labelmenge haben;<br />
d.h. x ist in diesem Zustand wahr. Die Negation einer µ–Kalkülformel wird<br />
ausgewertet, indem aus der gesamten Zustandsmenge diejenigen entfernt werden,<br />
in denen die Formel gilt. Die Und- bzw. Oder-Verknüpfungen werden durch<br />
Schnittmengen respektive Vereinigungen der Teilformelmengen gebildet.<br />
← ♦ ϕ K ist definiert als die Menge der existenziellen Vorgänger der Zustände,<br />
in denen ϕ gilt. Auf ein temporales Zustandssystem ausgelegt bedeuted dies, dass<br />
das die Menge der Zustände ist, welche unmittelbar in einen Zustand gelangen<br />
können, in welchem ϕ erfüllt ist. □ϕ K , ← ♦ ϕ K , ← □ϕ K verhalten sich analog.<br />
Die eigentliche Stärke erlangt das µ–Kalkül erst durch die Fixpunktoperatoren.<br />
Ein Fixpunkt wird im mathematischen Sinn durch die Eigenschaft<br />
f(x) =x<br />
definiert. Bei der Fixpunktberechnung im µ–Kalkül handelt es sich bei x allerdings<br />
meist um eine Zustandsmenge. Kleinster und größter Fixpunkt bezeichnen