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.

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.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!