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.
199<br />
ben. Sei dies Zustand c, also:<br />
Φ Q := ¬a ∧¬b ∧ c<br />
Errechnet wird die Menge der existenziellen Vorgänger von Q durch:<br />
pre R ∃ (Q) :<br />
∃x ′ 1, ..., x ′ n.R(x 1 , ..., x n ,x ′ 1, ..., x ′ n) ∧ [Φ Q ] x′ 1 ,...,x′ n<br />
x 1,...,x n<br />
Am jetzigen Beispiel berechnet sich das folgendermaßen:<br />
∃x ′ 1, ..., x ′ n. [Φ Q ] x′ 1 ,...,x′ n<br />
x 1,...,x n<br />
Durch die Auswahl eines einzigen Zustands ist diese Berechnung offensichtlich.<br />
x ′ i muss dem Vorkommen von x i entsprechen. Wenn dies zutrifft hat man im<br />
Fall, dass Φ Q nur einen einzigen Zustand repräsentiert, sofort eine erfüllende<br />
Belegung.<br />
[¬a ∧¬b ∧ c] ¬a′ ,¬b ′ ,c ′<br />
a,b,c<br />
⇐⇒ ¬¬a ′ ∧¬¬b ′ ∧ c ′ ⇐⇒ a ′ ∧ b ′ ∧ c ′<br />
ist sofort erfüllt, wenn man alle Literale wahr setzt.<br />
⎛<br />
⎞<br />
a ∧¬b ∧¬c ∧ a ′ ∧ b ′ ∧ c ′ ∨<br />
a ∧¬b ∧¬c ∧¬a ′ ∧ b ′ ∧ c ′ ∨<br />
pre R ∃ (Q) =<br />
⎜ a ∧¬b ∧ c ∧ a ′ ∧ b ′ ∧ c ′ ∨<br />
⎟<br />
⎝ ¬a ∧ b ∧¬c ∧¬a ′ ∧ b ′ ∧ c ′ ∨ ⎠ ∧ [¬a ∧¬b ∧ ,¬b ′ ,c ′<br />
c]¬a′ a,b,c<br />
} {{ }<br />
¬a ∧¬b ∧ c ∧¬a ′ ∧ b ′ ∧ c ′ (a ′ ∧b ′ ∧c ′ )<br />
( )<br />
a ∧¬b ∧¬c∨<br />
=<br />
a ∧¬b ∧ c<br />
} {{ }<br />
(∗)<br />
(∗) bezeichnet die gesuchte Menge. Dies ist die aussagenlogische Formel, welche<br />
alle gesuchten Zustände von pre R ∃<br />
(Q) beschreibt. Da es sich, wie gesagt,<br />
wiederum um eine aussagenlogische Formel handelt, kann auch diese Menge als<br />
[RO]BDD dargestellt werden. Da die BDD-Pakete inzwischen auf sehr effizienten<br />
Algorithmen beruhen, lassen sich Berechnungen auf diesen Datenstrukturen<br />
bemerkenswert gut durchführen.<br />
Die Nachfolgerberechnung wird ähnlich vollzogen. Die Berechnungsvorschrift<br />
zur Ermittlung der Nachfolgermenge von Q lautet:<br />
suc R ∃ (Q) : ∃x 1 , ..., x n . [R(x 1 , ..., x n ,x ′ 1, ..., x ′ n) ∧ Φ Q ] x1,...,xn<br />
x ′ 1 ,...,x′ n<br />
Wenn es sich bei Q allerdings nicht um die Repräsentation nur eines Zustandes<br />
handelt, wird die Berechnung einer erfüllenden Belegung für den ∃–Quantor<br />
etwas schwerer.<br />
Prinzipiell werden zur Quantifizierung von ROBDDs folgende zwei Eigenschaften<br />
benutzt (x ist eine Variable, ϕ eine Formel):