1 computergestützte verifikation 24.5.2002. 2 binary decision diagrams (bdd) inhalt: 4.1.1 die...
TRANSCRIPT
![Page 1: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/1.jpg)
1
Computergestützte Verifikation
24.5.2002
![Page 2: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/2.jpg)
2
Binary Decision Diagrams (BDD)
Inhalt:4.1.1 Die Datenstruktur BDD4.1.2 Operationen auf BDD4.1.3 CTL Model Checking mit BDD4.1.4 Fairness
![Page 3: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/3.jpg)
3
Binary Decision Tree
x1=?
x2=?x2=?
x3=? x3=?
x4=? x4=? x4=? x4=? x4=?
x3=?
x4=?
x3=?
x4=? x4=?
Y YY YN NNN NNNNNN NN
0
1
0
0
1
1
0011 M
1
0
0
0
1000 M
![Page 4: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/4.jpg)
4
Ordered Binary Decision Diagram
x1=?
x2=?x2=?
x3=?
x4=? x4=?
Y N
keine äquivalentenTeilbäume
Keine redundantenKnoten
Variablen auf jedem Pfad in gleicher Reihenfolge
0
1
0011 M 1000 M
0
0
1
1
1
0 (00)
![Page 5: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/5.jpg)
5
Mengengröße vs. BDD-Größe
YN YNYN Y N
0 4 8 12 16Elemente in Menge
Mengengröße
BDDGröße
![Page 6: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/6.jpg)
6
Implementation von APPLY
YN
e
b
Y N
f
=
a
c
d
g h
i
af
bg
dY
Y
dY Y
eN
YN
YN Y
N
NN
NN N
A
eN Abg B
B
ch
eN Ni
NNNYNY Y
Y N A
Y A B
Ni Ach Aaf C
C
B A C
O ( |BDD1| |BDD2| )
![Page 7: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/7.jpg)
7
RESTRICT
geg: f n-stellig b in {0,1} i in {1,...,n}
f’(x1,......,xn) := f(x1,....xi-1,b,xi+1,.....,xn)
Implementation ähnlich zu APPLY
O( |BDD| )
![Page 8: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/8.jpg)
8
Abgeleitete Operationen
xi . f(x1,...,xi,...,xn) f(x1,...,0,....,xn) f(x1,....,1,...,xn)
(= 2 x RESTRICT, 1 x APPLY)
Mengenoperationen: = 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)
![Page 9: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/9.jpg)
9
4.1.3 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 alsnextstate-Funktion generiert werden
System erfüllt gdw. I SAT
![Page 10: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/10.jpg)
10
Beispiel:3-bit-Zähler
x0’ x0 x1’ (¬ x1 x0)x2’ (¬ x2 (x0 x1 ))
![Page 11: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/11.jpg)
11
CTL Model Checking –einfache Fälle
1. Elementare Aussagen – setzen BDD voraus, normalerweise kein Problem
2. ¬ -- einfache Anwendung von APPLY
3. SATEX y1 .... yn[T(x1,...,xn,y1,....,yn) SAT(y1,....,yn)]
4. AX ¬ EX ¬
bleiben: EU und EG – Rest ist dann ableitbar per Tautologien
![Page 12: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/12.jpg)
12
Model Checking EU
geg: SAT, SATges: SATE(U
wissen: SAT SATE(U
wissen auch: Wenn s’ in SATE(U und s in SATund T(s,s’), so ist auch s in SATE(U
und schließlich: Weiter nix
Z:= SAT do
ZZ (SAT SATEX Zuntil nothing changes SATE(U:=Z
Berechnen kleinsten Fixpunkt eines monoton wachsendenMengenoperators
![Page 13: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/13.jpg)
13
Model Checking EG
geg: SATges: SATEG
wissen: SATEG SAT wissen auch: Wenn s’ in SATEG und s in SATund T(s,s’), so ist auch s in SATEG
und schließlich: Weiter nix
Z := SAT do
Z ZSATEX Z
until nothing changes SATEG := Z
Berechnen größten Fixpunkt eines monoton fallendenMengenoperators
![Page 14: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/14.jpg)
14
By the way....
-Kalkül einfache Aussagen (Mengen) + boolesche Operationen (Mengenoperationen) + “kleinster Fixpunkt von ... “ + “größter Fixpunkt von ...”
wird auch als Spezifikationssprache verwendet
![Page 15: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/15.jpg)
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
![Page 16: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/16.jpg)
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?
![Page 17: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/17.jpg)
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!!!
![Page 18: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/18.jpg)
18
4.1.4 Fairness
Arbeiten mit zustandsbasierter Fairness und schwachenFairnessannahmen
geg: BDDs C1, ..., Cn, stehen für FairnessannahmenGF C1, ...., GF Cn
Ansatz: trickreiche Adaption der Fixpunktoperationen
![Page 19: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/19.jpg)
19
Faires EG
fair:Z := SAT
do
Z Zk=1nSATEX E( U (Z Ck))
until nothing changes
SATECG := Z
unfair:
Z := SAT
do
Z ZSATEX Z
until nothing changes
SATEG := Z
![Page 20: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/20.jpg)
20
Andere faire Operatoren
EC( U ) = E( U (ECG true))
ECX = EX( ECG true)
Rest: Tautologien
![Page 21: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/21.jpg)
21
Übung 1
Gib einen eigenen Fixpunktalgorithmus zurBerechnung von SATEFan!
![Page 22: 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](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d8349795902118d7528/html5/thumbnails/22.jpg)
22
Übung 2
Wende die Formel zur frühen Quantifizierung (Folie 17)auf die partitionierte Transitionsrelation des 3-bit-Zählersauf Folie 16 an!
Wie groß ist die maximale Tiefe (Zahl der vorkommendenVariablen) eines Zwischenresultats bei dieser Berechnung?