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.
122<br />
(Abbildung 13(a)). Dieser Schritt wird so lange wiederholt, wie sich notwendige<br />
Implikationen durch das Gatter und seine Belegung ergeben.<br />
a 1<br />
a 2<br />
a 2<br />
a<br />
a 1<br />
a 2<br />
a<br />
a<br />
a<br />
a 1<br />
a 1<br />
(a) Notwendige Implikation bei a =<br />
1 und korrespondierender Implikationsgraph<br />
(b) Entscheidung notwendig bei<br />
a = 1 und korrespondierender Implikationsgraph<br />
für a 1 = 1<br />
Abb. 13. Konstruktionselemente im Implikationsgraph für Gatternetze<br />
Sind alle notwendigen Implikationen durchgeführt worden, kann es notwendig<br />
sein, eine Entscheidung über die Belegung einer Leitung zu treffen. Die Belegungsentscheidung<br />
wird wieder durch eine Entscheidungskante im Implikationsgraphen<br />
repräsentiert. An das Gatter, an dem die Entscheidung getroffen wurde,<br />
schließt eine Leitung an, deren Wert durch eine Implikation bestimmt wurde. Der<br />
zu dieser Leitung korrespondierende Knoten im Implikationsgraphen wird daher<br />
mit einer Entscheidungskante zu dem Knoten verbunden, der die neu belegte<br />
Leitung repräsentiert. Alternative Entscheidungsmöglichkeiten können am Implikationsknoten<br />
graphisch angedeutet werden (Abbildung 13(b)).<br />
Die beiden vorhergehenden Schritte werden abwechselnd durchgeführt, bis<br />
ein Konflikt auftritt (Abbildung 14(a)). Ein Konflikt wird bei einer gegensätzlichen<br />
Belegung einer Leitung durch zwei unabhängige notwendige Implikationen<br />
erzeugt. Im Implikationsgraphen werden die beiden Belegungen durch zwei<br />
Knoten dargestellt. Zur Auflösung des Konflikts werden ausgehend von den beiden<br />
betroffenen Knoten alle Implikationskanten bis zu den Entscheidungskanten<br />
zurückverfolgt. Die Graphknoten, auf die die Entscheidungskanten zeigen,<br />
stehen für Leitungen. Diese Leitungen werden als Eingangsleitungen für eine<br />
Konfliktschaltung verwendet. Die Konfliktschaltungschaltung besteht aus einem<br />
Mehrfach-AND, für dessen Ausgang eine 0 gefordert wird. (Abbildung 14(b)).<br />
Die Konfliktschaltung entspricht einer Konfliktklausel für SAT-Implikationsgraphen.<br />
Die gefundenen Entscheidungskanten bilden einen Schnitt durch den Implikationsgraphen.<br />
Wird die Konfliktschaltung in das Gatternetzwerk eingebaut,<br />
erzwingt das Gatter eine neue Entscheidung von mindestens einer Eingangsleitung.<br />
Dies entspricht einem chronologischen Rücksprung bei SAT-Solvern. Ein<br />
nicht-chronologischer Rücksprung wie bei SAT-Problemen ist im D-Kalkül nicht<br />
möglich, da die Auswahl der nächsten Leitung lokal zur letzten Zuweisung stattfindet<br />
und nicht unabhängig wie bei den Heuristiken der SAT-Solver.