1 Computergestützte Verifikation 24.5.2002. 2 Binary Decision Diagrams (BDD) Inhalt: 4.1.1 Die...

22
1 Computergestützte Verifikation 24.5.2002

Transcript of 1 Computergestützte Verifikation 24.5.2002. 2 Binary Decision Diagrams (BDD) Inhalt: 4.1.1 Die...

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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?