79
WIRTSCHAFTSINFORMATIK Westfälische Wilhelms- Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Symbolisches Model Checking mit Checking mit Binary Decision Diagrams Binary Decision Diagrams Im Rahmen des Seminars "Ausgewählte Kapitel des Software Engineering insb. Formale Spezifikation" Andreas Jacobs

WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

Embed Size (px)

Citation preview

Page 1: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

WIR

TS

CH

AF

TS

INF

OR

MA

TIK

WestfälischeWilhelms-Universität Münster

WIRTSCHAFTSINFORMATIK

Symbolisches Model Checking Symbolisches Model Checking mit mit

Binary Decision DiagramsBinary Decision Diagrams

Im Rahmen des Seminars "Ausgewählte Kapitel des Software Engineering insb. Formale Spezifikation"

Andreas Jacobs

Page 2: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

2

WIRTSCHAFTSINFORMATIK

GliederungGliederung

1. Motivation

2. Model Checking

3. Binary Decision Diagrams

4. Symbolisches Model Checking

5. Fazit

Page 3: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

3

WIRTSCHAFTSINFORMATIK

1. Motivation1. Motivation

Beweis der Korrektheit

Deduktive Verifikation

Model Checking

Verifikation von Hardware- und Softwaresystemen

Testfälle

Testen Simulation

- Unvollständigkeit+ einfache Verfahren+ große Erfahrung

- aufwendige Verfahren- bei kleinen Systemen

+ Beweis der Korrektheit

Page 4: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

4

WIRTSCHAFTSINFORMATIK

1. Motivation1. Motivation

Warum Verifikation von Hardware- und Softwaresystemen?

Hardware- und Softwaresysteme finden immer größere Verbreitung Eingebettete Systeme (Handys, Autos, usw.)

Flächendeckende Verbreitung im betrieblichen Bereich

Abhängigkeit von den Systemen

Systeme werden immer komplexer Mooresches Gesetz

Betriebssystementwicklung

Fehler schwieriger zu finden

Page 5: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

5

WIRTSCHAFTSINFORMATIK

1. Motivation1. Motivation

Pentium-Division (1994)

Fehler verursachen hohe Kosten

Ariane 5 (1996)

Die neue "Ariane 5 ESC-A" auf der Startrampe.(Foto: ESA)

Quelle: http://www.cpu-museum.de/?m=Intel&f=Pentium+P5

Page 6: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

6

WIRTSCHAFTSINFORMATIK

GliederungGliederung

1. Motivation

2. Model Checking

2.1 Modellbildung2.2 Spezifikation2.3 Verifikation

3. Binary Decision Diagrams

4. Symbolisches Model Checking

5. Fazit

2. Model Checking

Page 7: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

7

WIRTSCHAFTSINFORMATIK

2. Model Checking2. Model Checking

+ automatisch-bei Fehlern Ausgabe eines Fehlerpfades-kein Eingriff während des Algorithmus nötig

- endlicher Zustandraum

-state expolsion problem

Page 8: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

8

WIRTSCHAFTSINFORMATIK

2.1 Modellbildung2.1 Modellbildung

Sei AP eine Menge atomarer Aussagen. Als Kripke-Struktur wird ein Tripel M = (S, R, L) über AP bezeichnet mit

einer totalen Transitionsmenge R ⊆ S×S, so dass jeder Zustand s ∈ S einen Nachfolger t ∈ S in der Form hat, dass gilt R(s,t),

einer Funktion L, die jedem Zustand s ∈ S eine Menge der in s wahren atomaren Aussagen zuweist.

S als endliche Menge von Systemzuständen,

Page 9: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

9

WIRTSCHAFTSINFORMATIK

2.1 Modellbildung2.1 Modellbildung

Ein Pfad mit einem Startzustand s ist eine unendliche Folge von Zuständen π = s0,s1,s2,s3,… , so dass s0 = s und R(si, si+1) für alle i ≥ 0 gilt.Beispielsweise s1,s2,s2,s5,s6,….

Page 10: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

10

WIRTSCHAFTSINFORMATIK

2.1 Modellbildung2.1 Modellbildung

state explosion problem

Variable mit n Bits hat 2n Zustände.Bei n parallelen, unabhängigen Prozessen gibt es n! unterschiedliche

Ausführungsreihenfolgen.

Lösungsansätze:

Symbolische Darstellung der ZustandsmengePartial Order Reduction

Page 11: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

11

WIRTSCHAFTSINFORMATIK

2.2 Spezifikation2.2 Spezifikation

Eine CTL Formel kann folgende Elemente enthalten:

Aussagevariablen (atomar): (vgl. Menge AP der Kripke-Struktur),

Boolesche Operatoren: ∧,∨,…(16 Operatoren),

Pfadquantoren: A (auf allen Pfaden gilt), E (auf mindestens einem Pfad gilt),

temporale Operatoren: X (Nachfolger), F (zukünftig), G (immer), U (bis) und R (Komplement zu U).

Auf einen Pfadquantor folgt immer ein temporaler Operator und alle 10 Kombinationen lassen sich durch EX, EG und EU ausdrücken.

Page 12: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

12

WIRTSCHAFTSINFORMATIK

2.2 Spezifikation2.2 Spezifikation

CTL Formeln

Page 13: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

13

WIRTSCHAFTSINFORMATIK

2.3 Verifikation2.3 Verifikation

2. Model Checking

2.1 Modellbildung: Kripke-Struktur

2.2 Spezifikation: CTL Formel

2.3 Verifikation

2.3.1 Fixpunkte

2.3.2 kleinste/größte Fixpunkte

2.3.3 CTL Model Checking

2.3 Verifikation

Es muss ein Algorithmus definiert werden, mit dem man in der Lage ist zu prüfen, ob eine Kripke-Struktur einer CTL Formel genügt.

Page 14: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

14

WIRTSCHAFTSINFORMATIK

2.3.1 Fixpunkte2.3.1 Fixpunkte

P

P ({s1,s2,s3}) bzgl. der Teilmengenrelation ⊆

Page 15: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

15

WIRTSCHAFTSINFORMATIK

2.3.1 Fixpunkte2.3.1 Fixpunkte

Page 16: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

16

WIRTSCHAFTSINFORMATIK

2.3.2 Kleinste / größte Fixpunkte2.3.2 Kleinste / größte Fixpunkte

Page 17: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

17

WIRTSCHAFTSINFORMATIK

2.3.2 Kleinste / größte Fixpunkte2.3.2 Kleinste / größte Fixpunkte

Page 18: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

18

WIRTSCHAFTSINFORMATIK

function getExtremeFixpoint(τ: Funktional,

Z{false,true}):Z;

begin

Z’ = τ(Z);

while(Z’≠Z)do

Z = Z’;

Z’ = τ(Z);

end while;

return(Z);

end function.

2.3.3 CTL Model Checking2.3.3 CTL Model Checking

Page 19: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

19

WIRTSCHAFTSINFORMATIK

Z = {s1,s2,s3,s4,s5,s6}Z = {s1,s2,s3,s5}

Z = trueZ’= τ(true)Z’= τ(τ(true))Z’= τ(τ(τ(true)))

Z = {s1,s2,s3}

2.3.3 CTL Model Checking: Beispiel 12.3.3 CTL Model Checking: Beispiel 1

s1 s2 s3

s4 s5 s6

Z = true;

while(Z’≠Z)do

return(Z);

Z’= τ(Z);

Z = Z’;

Z’ = τ(Z);

end while;

p p

p r

p,r

==

τ =

EG p

Page 20: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

20

WIRTSCHAFTSINFORMATIK

2.3.3 CTL Model Checking: Beispiel 22.3.3 CTL Model Checking: Beispiel 2

1.HalloHalloHalloHalloHallo

2.HalloHalloHalloHalloHallo

3.HalloHalloHalloHalloHallo

4.HalloHalloHalloHalloHallo

E[p U r] =

Page 21: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

21

WIRTSCHAFTSINFORMATIK

GliederungGliederung

1. Motivation

2. Model Checking

3. Binary Decision Diagrams

3.1 Ordered Binary Decision Diagrams3.2 Operationen auf OBDDs3.3 Komplexitätsbetrachtungen

4. Symbolisches Model Checking

5. Fazit

3. Binary Decision Diagrams

Page 22: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

22

WIRTSCHAFTSINFORMATIK

3.1 Ordered Binary Decision Diagrams3.1 Ordered Binary Decision Diagrams

3. Binary Decision Diagrams

3.1 Ordered Binary Decision Diagrams

3.1.1 Definition Binary Decision Diagrams

3.1.2 Ordnung und Reduktion

3.1.3 Problem der Variablenordnung

3.2 Operationen auf OBDDs

3.3 Komplexitätsbetrachtungen

3.1 Ordered Binary Decision Diagrams

Page 23: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

23

WIRTSCHAFTSINFORMATIK

3.1.1 Definition Binary Decision Diagram3.1.1 Definition Binary Decision Diagram

1 2 3f (x x ) x

Ein Binary Decision Diagram (BDD) stellt eine Boolesche Funktion als einen gerichteten, azyklischen Graphen dar.

Alle Endknoten (Blätter) sind entweder mit 0 oder 1 markiert.

Jeder andere Knoten k repräsentiert eine binäre Variable xi

und hat genau zwei Nachfolger:- lo(k), wenn xi=0- hi(k), wenn xi=1

Page 24: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

24

WIRTSCHAFTSINFORMATIK

3.1.2 Ordnung und Reduktion3.1.2 Ordnung und Reduktion

Ordered BDD (Randal E. Bryant 1986)

1.Ordnung des BDD -> OBDD

2.Reduktion des OBDD -> (Reduced) OBDD

Effiziente Darstellung von (vielen) Booleschen Funktionen durch zwei Einschränkungen auf BDDs:

Page 25: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

25

WIRTSCHAFTSINFORMATIK

3.1.2 Ordnung und Reduktion3.1.2 Ordnung und Reduktion

1. Ordnungtotale Ordnung auf die Menge der Variablen, so dass für jeden Knoten k mit dem Wert xi gilt:

- ∄ n ∈ {lo(k), hi(k)} mit xj, dass gilt: i,j ∈1..n und j≥i

Page 26: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

26

WIRTSCHAFTSINFORMATIK

3.1.2 Ordnung und Reduktion3.1.2 Ordnung und Reduktion

2. Reduktion (zwei Regeln)

verdeckung

Page 27: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

27

WIRTSCHAFTSINFORMATIK

3.1.2 Ordnung und Reduktion3.1.2 Ordnung und Reduktion

verdeckung

verdeckung verdeckung

Beispiel:

Page 28: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

28

WIRTSCHAFTSINFORMATIK

3.1.2 Ordnung und Reduktion3.1.2 Ordnung und Reduktion

Ein Ordered Binary Decision Diagram (OBDD) stellt eine Boolesche Funktion als einen gerichteten, azyklischen Graphen dar, der sowohl geordnet als auch reduziert ist.

Genau ein Blatt hat den Wert 0, das andere den Wert 1.

Jeder andere Knoten k repräsentiert eine binäre Variable xi und hat genau zwei Nachfolger:

- lo(k), wenn xi=0- hi(k), wenn xi=1

Ein OBDD ist eine kanonische Darstellung einer Booleschen Funktion.

OBDD

Page 29: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

29

WIRTSCHAFTSINFORMATIK

3.1.3 Problem der Variablenordnung3.1.3 Problem der Variablenordnung

1 1 2 2 3 3(a b ) (a b ) (a b ) OBDDs zu derselben Funktion

1 1 2 2 3 3a b a b a b 1 2 3 1 2 3a a a b b b

Page 30: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

30

WIRTSCHAFTSINFORMATIK

3.1.3 Problem der Variablenordnung3.1.3 Problem der Variablenordnung

Sifting-Algorithmus

// Phase 1: Ermittlung der lokal besten Position von x2

// x2 steigt in Richtung der Blätter auf

// x2 sinkt in Richtung des Startknotens ab

// alle Positionen durchlaufen

x1

x1

x1

x1

x1

x2

x2

x3

x3

x3

x2

x1

x3

x2

x4

x2

x3

x3

x4

x4

x2

x4

x4

x4

x1<x2<x3<x4

swap(x2, x3)

swap(x2, x4)

swap(x4, x2)

swap(x3, x2)

swap(x1, x2)

// Phase 2: Aufsteigen zur besten Variablenordnung

// beste Variablenordnung erreicht: x1<x3<x2<x4

x1

x1

x2

x3

x3

x2

x4

x4

swap(x2, x1)

swap(x2, x3)

Page 31: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

31

WIRTSCHAFTSINFORMATIK

3.2 Operationen auf OBDDs3.2 Operationen auf OBDDs

3. Binary Decision Diagrams

3.1 Ordered Binary Decision Diagrams

3.2 Operationen auf OBDDs

3.2.1 Negation

3.2.2 Apply

3.2.3 AndExists

3.3 Komplexitätsbetrachtungen

3.2 Operationen auf OBDDs

Page 32: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

32

WIRTSCHAFTSINFORMATIK

3.2.1 Negation3.2.1 Negation

Page 33: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

33

WIRTSCHAFTSINFORMATIK

3.2.2 Apply3.2.2 Apply

Verknüpfung zweier Boolescher Funktionen mit einembeliebigen zweistelligen Booleschen Operator:

1 n 1 n 1 n(f g)(x ,..., x ) f (x ,..., x ) g(x ,..., x )

Page 34: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

34

WIRTSCHAFTSINFORMATIK

3.2.2 Apply3.2.2 Apply

i i i ii x 0 x 0 i x 1 x 1f g ( x (f g )) (x (f g ))

Gleiche Variablenordnung, rekursiv durch Shannon-Entwicklung

Fallunterscheidung beim Aufruf der OBDDs:

1. F und G sind Blätter -> Rekursion beendet

2. F und/oder G sind keine Blätter -> rekursiver Aufruf von Apply

2.1 Startknoten beider OBDD repräsentieren die gleiche Variable

2.2 Startknoten repräsentieren nicht die gleiche Variable

Apply-Algorithmus:

Page 35: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

35

WIRTSCHAFTSINFORMATIK

3.2.2 Apply3.2.2 Apply

2.1: Beide Startknoten repräsentieren x1

Knoten mit x1 wird erzeugt.

Zwei rekursive Aufrufe von Apply.

Page 36: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

36

WIRTSCHAFTSINFORMATIK

3.2.2 Apply3.2.2 Apply

2.2: F repräsentiert die „kleinere Variable“ x2

Knoten mit x2 wird erzeugt.

Zwei rekursive Aufrufe von Apply.

Page 37: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

37

WIRTSCHAFTSINFORMATIK

3.2.2 Apply3.2.2 Apply

2.2: G repräsentiert die „kleinere Variable“ x3

Knoten mit x3 wird erzeugt.

Zwei rekursive Aufrufe von Apply.

Page 38: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

38

WIRTSCHAFTSINFORMATIK

3.2.2 Apply3.2.2 Apply

1: F und G sind Blätter

Ein Blatt wird entsprechend dem Booleschen Operator erzeugt.

Apply wird mehr rekursiv aufgerufen.

Page 39: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

39

WIRTSCHAFTSINFORMATIK

3.2.2 Apply3.2.2 Apply

1: F und G sind Blätter

Ein Blatt wird entsprechend dem Booleschen Operator erzeugt.

Apply wird mehr rekursiv aufgerufen.

Page 40: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

40

WIRTSCHAFTSINFORMATIK

3.2.2 Apply3.2.2 Apply

2.1: Beide Startknoten repräsentieren x3

Knoten mit x3 wird erzeugt.

Zwei rekursive Aufrufe von Apply.

Page 41: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

41

WIRTSCHAFTSINFORMATIK

3.2.2 Apply3.2.2 Apply

1: F und G sind Blätter

Es wird auf ein bereits berechnetes Ergebnis zurückgegriffen.

Kein rekursiver Aufruf von Apply.

Page 42: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

42

WIRTSCHAFTSINFORMATIK

3.2.2 Apply3.2.2 Apply

1: F und G sind Blätter

Ein Blatt wird entsprechend dem Booleschen Operator erzeugt.

Kein rekursiver Aufruf von Apply.

Page 43: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

43

WIRTSCHAFTSINFORMATIK

3.2.2 Apply3.2.2 Apply

2.2: F repräsentiert die „kleinere Variable“ x3

Ein Blatt wird entsprechend dem Booleschen Operator erzeugt.

Apply ist fertig. Das Ergebnis-OBDD ist nicht reduziert.

Page 44: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

44

WIRTSCHAFTSINFORMATIK

3.2.2 Apply3.2.2 Apply

Komplexität von Apply: O(|F|*|G|)

Tricks:

1. Frühzeitige Auswertung

2. Hashtabelle zum Speichern der Berechnungen

Page 45: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

45

WIRTSCHAFTSINFORMATIK

3.2.3 AndExists3.2.3 AndExists

existentielle Quantifizierung von Variablen

Für einen Vektor gilt:

x 0 x 1x.f f f

1 nx (x ,..., x )

na {false,true}

x.f ( x.f )(a)V

Für eine Boolesche Funktion ist die existenzielle Quantifizierung bezüglich der Variablen x definiert durch

Page 46: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

46

WIRTSCHAFTSINFORMATIK

3.2.3 AndExists3.2.3 AndExists

AndExists funktioniert wie Apply mit der Konjunktion (∧) als Booleschen Operator.

Die einzige Änderung ist:

x 0 x 1x.f f f

Page 47: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

47

WIRTSCHAFTSINFORMATIK

3.2.3 AndExists – Beispiel3.2.3 AndExists – Beispiel

Page 48: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

48

WIRTSCHAFTSINFORMATIK

3.2.3 AndExists – Beispiel3.2.3 AndExists – Beispiel

Page 49: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

49

WIRTSCHAFTSINFORMATIK

3.2.3 AndExists – Beispiel3.2.3 AndExists – Beispiel

Page 50: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

50

WIRTSCHAFTSINFORMATIK

3.2.3 AndExists – Beispiel3.2.3 AndExists – Beispiel

Page 51: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

51

WIRTSCHAFTSINFORMATIK

3.2.3 AndExists – Beispiel3.2.3 AndExists – Beispiel

Page 52: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

52

WIRTSCHAFTSINFORMATIK

3.2.3 AndExists – Beispiel3.2.3 AndExists – Beispiel

Das Ergebnis von AndExists ist nicht reduziert.

Page 53: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

53

WIRTSCHAFTSINFORMATIK

3.2.3 AndExists – Beispiel3.2.3 AndExists – Beispiel

Page 54: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

54

WIRTSCHAFTSINFORMATIK

3.2.3 AndExists – Beispiel3.2.3 AndExists – Beispiel

Page 55: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

55

WIRTSCHAFTSINFORMATIK

3.3 Komplexitätsbetrachtungen3.3 Komplexitätsbetrachtungen

3. Binary Decision Diagrams

3.1 Ordered Binary Decision Diagrams

3.2 Operationen auf OBDDs

3.3 Komplexitätsbetrachtungen

3.3.1 Darstellung Boolescher Funktionen als OBDDs

3.3.2 Operationen auf OBDDs

3.3 Komplexitätsbetrachtungen

Page 56: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

56

WIRTSCHAFTSINFORMATIK

3.3.1 Darstellung Boolescher 3.3.1 Darstellung Boolescher Funktionen als OBDDsFunktionen als OBDDs

Funktionsklasse Komplexität

bester Fall schlechtester Fall

symmetrisch linear quadratisch

Integer Addition linear exponentiell

Integer Multiplikation exponentiell exponentiell

Page 57: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

57

WIRTSCHAFTSINFORMATIK

3.3.2 Operationen auf OBDDs3.3.2 Operationen auf OBDDs

Algorithmus Komplexität

Reduktion von F proportional zur Knotenanzahl: O(F)

Variablenordnung mit Sifting O(n2) Vertauschungen zweier Variablen

Negation konstant (Vertauschung der Blätter)

Apply(F,G,*) quadratisch: O(|F|*|G|)

AndExists((x1,…,xn),F,G) exponentiell: O(|F|*|G|*22n)

Page 58: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

58

WIRTSCHAFTSINFORMATIK

GliederungGliederung

1. Motivation

2. Model Checking

3. Binary Decision Diagrams

4. Symbolisches Model Checking

4.1 Modellbildung

4.2 Spezifikation

4.3 Verifikation

5. Fazit

4. Symbolisches Model Checking

Page 59: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

59

WIRTSCHAFTSINFORMATIK

4.1 Modellbildung4.1 Modellbildung

Symbolische Darstellung der Kripke-Struktur

Page 60: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

60

WIRTSCHAFTSINFORMATIK

4.1 Modellbildung4.1 Modellbildung

Ein Zustand kann durch einen Vektor Boolescher Werte ausgedrückt werden:

1 np (x ,..., x ).

Eine Menge von Zuständen kann eindeutig durch ein Funktional dargestellt werden:

z.B. s1 ≙ (0,0)

- OBDD p enthält nur die Variablen x1,…,xn

- p ist eine Menge von Booleschen Vektoren

p

M = (S, S0, R, L)

Page 61: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

61

WIRTSCHAFTSINFORMATIK

4.1 Modellbildung4.1 Modellbildung

Beispiel zur Menge von Zuständen:1 np (x ,..., x ). p

2 1 2 1 2(x x ) (x x ) x

Boolescher Vektor (x2, x1):

= p

(1) ≙ Menge der Zustände, in denen r∈AP gilt.

M = (S, S0, R, L)

s3 und s4:

Page 62: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

62

WIRTSCHAFTSINFORMATIK

4.1 Modellbildung4.1 Modellbildung

Ein Zustandsübergang wird durch ein Paar von Zuständen ausgedrückt:

Eine Menge von Zustandsübergängen kann eindeutig durch ein Funktional dargestellt werden:

z.B. (s1,s2)≙( (0,0), (0,1) )

- OBDD R enthält nur die Variablen x1,…, xn, x1´,…, xn´

- R ist eine Menge von Paaren Boolescher Vektoren

R

(s,s )

1 n 1 nR ((x ,..., x ), (x ,..., x )).

M = (S, S0, R, L)

Page 63: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

63

WIRTSCHAFTSINFORMATIK

4.1 Modellbildung4.1 Modellbildung

M = (S, S0, R, L)

R1 n 1 nR ((x ,..., x ), (x ,..., x )).

R = ((s1,s2), (s2,s2), (s2,s3), (s3,s4))

Überlagerung

Page 64: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

64

WIRTSCHAFTSINFORMATIK

4.1 Modellbildung4.1 Modellbildung

Anhand einer atomaren Aussage wird ein OBDD mit denjenigen Zuständen zurückgegeben, in denen die Aussage gilt.

M = (S, S0, R, L)

2 1 2 1 2 1 2 2 1( x x ) ( x x ) (x x ) x (x x ) L(p) =

Page 65: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

65

WIRTSCHAFTSINFORMATIK

4.2 Spezifikation4.2 Spezifikation

Zur Erinnerung:

Page 66: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

66

WIRTSCHAFTSINFORMATIK

4.2 Spezifikation4.2 Spezifikation

Gesucht: CTL-Operator EX auf symbolischer Kripke-Struktur

Gegeben: EXp ≙ 1 n(x ,..., x ) x

1 n(x ,..., x ) x

Nachfolger

1 n 1 n((x ,..., x ), (x ,..., x )) Übergang

Lösung:

Page 67: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

67

WIRTSCHAFTSINFORMATIK

4.2 Spezifikation4.2 Spezifikation

EXp x. x .(R(x, x ) p(x ))

1 np (x ,..., x ). p1 n 1 nR ((x ,..., x ), (x ,..., x )). R

EXp x. x .( )

R p

AndExists Algorithmus

Page 68: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

68

WIRTSCHAFTSINFORMATIK

4.3 Verifikation4.3 Verifikation

Analyse der

Formel

AndExists

kleinster Fixpunkt

größter Fixpunkt

Page 69: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

69

WIRTSCHAFTSINFORMATIK

4.3 Verifikation: Beispiel4.3 Verifikation: Beispiel

EG p

Page 70: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

70

WIRTSCHAFTSINFORMATIK

4.3 Verifikation: Beispiel4.3 Verifikation: Beispiel

Page 71: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

71

WIRTSCHAFTSINFORMATIK

4.3 Verifikation: Beispiel4.3 Verifikation: Beispiel

Page 72: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

72

WIRTSCHAFTSINFORMATIK

4.3 Verifikation: Beispiel4.3 Verifikation: Beispiel

Page 73: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

73

WIRTSCHAFTSINFORMATIK

4.3 Verifikation: Beispiel4.3 Verifikation: Beispiel

Page 74: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

74

WIRTSCHAFTSINFORMATIK

4.3 Verifikation: Beispiel4.3 Verifikation: Beispiel

Page 75: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

75

WIRTSCHAFTSINFORMATIK

4.3 Verifikation: Beispiel4.3 Verifikation: Beispiel

Page 76: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

76

WIRTSCHAFTSINFORMATIK

GliederungGliederung

1. Motivation

2. Model Checking

3. Binary Decision Diagrams

4. Symbolisches Model Checking

5. Fazit5. Fazit

Page 77: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

77

WIRTSCHAFTSINFORMATIK

5. Fazit5. Fazit

Der vorgestellte Algorithmus zum Symbolischen Model Checking

ist ein effizientes Verfahren zur automatischen Verifikation.

Grenzen des Model Checking:-endlicher Zustandsraum-state explosion problem

Symbolic Model Verifier (SMV) System in der Praxis-Cache-Protokoll im IEEE-Futurebus+ (1992)

bisherige Erfolge vor allem im Hardwarebereich und bei

Kommunikationsprotokollen

Page 78: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

78

WIRTSCHAFTSINFORMATIK

5. Fazit5. Fazit

große Unternehmen aktiv im Bereich Model Checking-SLAM Projekt von Microsoft: Treiberverifikation bei Windows XP

aktuelle Forschungsrichtung: Software Model Checking

Verbesserungen notwendig

-einheitlicher Ansatz mit deduktiver Verifikation

Page 79: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Symbolisches Model Checking mit Binary Decision Diagrams Im Rahmen

79

WIRTSCHAFTSINFORMATIK

Vielen Dank für die Aufmerksamkeit!