Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Computergestützte Verifikation 24.5.2002. 2 Binary Decision Diagrams (BDD) Inhalt: 4.1.1 Die Datenstruktur BDD 4.1.2 Operationen auf BDD 4.1.3 CTL Model.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Computergestützte Verifikation 24.5.2002. 2 Binary Decision Diagrams (BDD) Inhalt: 4.1.1 Die Datenstruktur BDD 4.1.2 Operationen auf BDD 4.1.3 CTL Model."—  Präsentation transkript:

1 1 Computergestützte Verifikation

2 2 Binary Decision Diagrams (BDD) Inhalt: Die Datenstruktur BDD Operationen auf BDD CTL Model Checking mit BDD Fairness

3 3 Binary Decision Tree x1=? x2=? x3=? x4=? x3=?x4=?x3=?x4=? YYYYNNNNNNNNNNNN c M v M

4 4 Ordered Binary Decision Diagram x1=? x2=? x3=?x4=? YN keine äquivalenten Teilbäume Keine redundanten Knoten Variablen auf jedem Pfad in gleicher Reihenfolge c M 1000 v M (00)

5 5 Mengengröße vs. BDD-Größe Y NYN YN YN Elemente in Menge Mengen größe BDD Größe

6 6 Implementation von APPLY Y N e b YN f  = a c d g h i af bg dY Y dY Y eN YN YN Y N NN NN N A eN A bg B B ch eN Ni NN NY NY Y Y N A Y A B Ni A ch A af C C B A C O ( |BDD1| |BDD2| )

7 7 RESTRICT geg: f n-stellig b in {0,1} i in {1,...,n} f’(x1,......,xn) := f(x1,....x i-1,b,x i+1,.....,xn) Implementation ähnlich zu APPLY O( |BDD| )

8 8 Abgeleitete Operationen  xi. f(x1,...,xi,...,xn) f(x1,...,0,....,xn)  f(x1,....,1,...,xn) (= 2 x RESTRICT, 1 x APPLY) Mengenoperationen: 4 = APPLY(,  ) Komplement = tausche Y und N  = APPLY(,  ) Relation = Menge von Paaren = BDD der Länge 2n R1 o R2:  y1...  yn f1(x1,...,xn,y1,...,yn)  f1(y1,...,yn,z1,...,zn) Substitution: h(x1,...,xn) := f(x1,....g(x1,....,xn),....,xn = g  f(x1,...,1,...xn)  ¬g  f(x1,....,0.,....,xn) ( = 2 x RESTRICT, 3 x APPLY)

9 CTL Model Checking Arbeiten mit SAT  = {s | s   } - repräsentiert als BDD und T(s,s’) – der Zustandsübergangsrelation, auch als BDD T(s,s’) = 1 gdw. (s,s’) in E T(s,s’) kann aus einer Systembeschreibung als nextstate-Funktion generiert werden System erfüllt  gdw. I  SAT 

10 10 Beispiel:3-bit-Zähler x0’   x0  x1’  (¬ x1  x0)  x2’  (¬ x2  (x0  x1 ))

11 11 CTL Model Checking –einfache Fälle 1.Elementare Aussagen – setzen BDD voraus, normalerweise kein Problem 2.       ¬  -- einfache Anwendung von APPLY 3. SAT EX     y1....  yn[T(x1,...,xn,y1,....,yn)  SAT  (y1,....,yn)] 4. AX   ¬ EX ¬  bleiben: EU und EG – Rest ist dann ableitbar per Tautologien

12 12 Model Checking EU geg: SAT , SAT  ges: SAT E(  U  wissen: SAT   SAT E(  U  wissen auch: Wenn s’ in SAT E(  U  und s in SAT  und T(s,s’), so ist auch s in SAT E(  U  und schließlich: Weiter nix Z  := SAT  do Z   Z   (SAT   SAT EX Z  until nothing changes SAT E(  U  :=Z Berechnen kleinsten Fixpunkt eines monoton wachsenden Mengenoperators

13 13 Model Checking EG geg: SAT  ges: SAT EG  wissen: SAT EG   SAT  wissen auch: Wenn s’ in SAT EG  und s in SAT  und T(s,s’), so ist auch s in SAT EG  und schließlich: Weiter nix Z  := SAT  do Z   Z    SAT EX Z until nothing changes SAT EG  := Z Berechnen größten Fixpunkt eines monoton fallenden Mengenoperators

14 14 By the way....  -Kalkül einfache Aussagen (Mengen) + boolesche Operationen (Mengenoperationen) + “kleinster Fixpunkt von... “ + “größter Fixpunkt von...” wird auch als Spezifikationssprache verwendet

15 15 Bottlenecks 1. Größe des BDD für Z in den Fixpunktberechnungen Lösung: Gelegentliches Umordnen der Variablen, z.B. Sifting = tausche 2 benachbarte Variablen und schaue, ob BDD dadurch kleiner wird 2. Das BDD für die Übergangsrelation T Lösung: Partitionierung von T

16 16 Partitionierung der Übergangsrelation Idee: T ist meistens Konjunktion Teilformeln T1: x0’   x0 T2: x1’  (¬ x1  x0) T3: x2’  (¬ x2  (x0  x1)) Beispiel: T  T1  T2  T3 Partitionen kleiner als T, günstigenfalls auch in der Summe mindestens: Eine Partition hängt normalerweise nicht von allen Variablen ab, ist also auf jeden Fall flacher als das BDD von T Nutzt das?

17 17 Frühe Quantifizierung T wird verwendet für EX:  Y [T(X,Y)  SAT  (Y)] partitioniert:  Y [T1(X,Y) ...  Tn(X,Y)  SAT  (Y)] Normalerweise sind  und  nicht vertauschbar, es sei denn, in einer Seite von  kommt die quantifizierte Variable nicht vor Yi := { y in Y | y kommt nicht in T1...Ti-1 vor}   Y1(T1(X,Y)   Y2 (T2(X,Y)  (...   Yn (Tn(X,Y)  SAT  (Y) ))...)) Effekt: BDD von  Yi Ti(X,Y) hängt nicht von Variablen in Yi ab, ist also flacher als das von BDD von Ti(X,Y)  kleinere BDDs in Zwischenschritten!!!

18 Fairness Arbeiten mit zustandsbasierter Fairness und schwachen Fairnessannahmen geg: BDDs C1,..., Cn, stehen für Fairnessannahmen GF C1,...., GF Cn Ansatz: trickreiche Adaption der Fixpunktoperationen

19 19 Faires EG fair: Z  := SAT  do Z   Z     k=1 n  SAT EX E(  U (Z  Ck)) until nothing changes SAT E C G  := Z unfair: Z  := SAT  do Z   Z    SAT EX Z until nothing changes SAT EG  := Z

20 20 Andere faire Operatoren E C (  U  ) = E(  U (    E C G true)) E C X  = EX(    E C G true) Rest: Tautologien

21 21 Übung 1 Gib einen eigenen Fixpunktalgorithmus zur Berechnung von SAT EF  an!

22 22 Übung 2 Wende die Formel zur frühen Quantifizierung (Folie 17) auf die partitionierte Transitionsrelation des 3-bit-Zählers auf Folie 16 an! Wie groß ist die maximale Tiefe (Zahl der vorkommenden Variablen) eines Zwischenresultats bei dieser Berechnung?


Herunterladen ppt "1 Computergestützte Verifikation 24.5.2002. 2 Binary Decision Diagrams (BDD) Inhalt: 4.1.1 Die Datenstruktur BDD 4.1.2 Operationen auf BDD 4.1.3 CTL Model."

Ähnliche Präsentationen


Google-Anzeigen