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.

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):

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!