Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Bounded Model Checking II Julia Withauer 12.06.2002 Inhalt: 1............. Kurze Wiederholung 2............. Übersetzung in Aussagenlogik (Prüfung der.

Ähnliche Präsentationen


Präsentation zum Thema: "Bounded Model Checking II Julia Withauer 12.06.2002 Inhalt: 1............. Kurze Wiederholung 2............. Übersetzung in Aussagenlogik (Prüfung der."—  Präsentation transkript:

1 Bounded Model Checking II Julia Withauer Inhalt: Kurze Wiederholung Übersetzung in Aussagenlogik (Prüfung der Entscheidbarkeit) Bestimmung der Schranke (LTL)

2 Kripke-Modell: Quintupel M = (S, I, T, A, ) S endliche Menge der Zustände binäre Kodierung: s = ( s(0), s(1),..., s(n-1) ) I S endliche Menge der Anfangszustände T S S endliche Menge von Transitionsrelationen (s, t) T := s t A Menge von atomaren Aussagen (z.B. p,q) : S P( A ) Funktion zur Markierung der Zustände mit Elementen von A Ein Pfad = (so, s1, s2,... ) ist eine Folge von Zuständen, es gilt: i = (s i, s i+1,...) (i) = s i

3 Temporale Operatoren (LTL): Gf globally zu jedem zukünftigen Zeitpunkt gilt f Xf next time zum nächsten Zeitpunkt gilt f Ff finally zu irgendeinem zukünftigen Zeitpunkt gilt f fUg until g wird gelten, bis dahin gilt f fRg release f wird gelten, bis dahin gilt g oder g gilt immer

4 Übersetzung in Aussagenlogik Herleiten einer aussagenlogischen Formel φ Entscheidbarkeitsproblem der Aussagenlogik (SAT) M Ef gdw. k mit M k Ef SAT φ gdw. M k f |[ M, f ]| k := |[ M ]| k |[ f ]| k

5 k f (s o, s 1, s 2, …, s k ) mit (1) (s o, s 1, s 2, …, s k ) ist ein Pfad ohne Loop und (s o, s 1, s 2, …, s k ) f als Pfad ohne Loop (2) (s o, s 1, s 2, …, s k ) ist ein Pfad mit k-Loop und (s o, s 1, s 2, …, s k ) f als Pfad mit l- Loop Überblick Wie gehen wir vor?

6 Fragestellung: ist ein Pfad in M, wenn k-1 |[ M ]| k := I(s 0 ) T(s i,s i+1 ) i = 0 Ist = (s 0, s 1, s 2,..., s k ) ein Pfad in M? folgende Eigenschaften erfüllt sind: s 0 ist Anfangszustand und (s 0,s 1 ), (s 1,s 2 ) … (s k-1,s k ) sind Transitionen.

7 {z 0, z 2 } I { (z0,z1), (z1,z2), (z2,z0), (z2,z3), (z3,z2), (z3,z3) } T Finden von aussagenlogischen Formeln für das gegebene Modell Dazu ein BEISPIEL: z i = ( z i (0), z i (1) ) = z i (0) z i (1)

8 I(s 0 ) = ( ( ¬ s 0 (0)) ( ¬ s 0 (1)) ) (s 0 (0) ( ¬ s 0 (1)) ) T(s 0,s 1 ) = [ ( ¬ s 0 (0) ¬ s 0 (1) ) ( ¬ s 1 (0) s 1 (1) ) ] ( z 0 z 1 ) [ ( s 0 (0) ¬ s 0 (1) ) ( ¬ s 1 (0) ¬ s 1 (1) ) ] ( z 2 z 0 ) [ ( s 0 (0) ¬ s 0 (1) ) ( s 1 (0) s 1 (1) ) ] ( z 2 z 3 ) T(s 1,s 2 ) = [ ( ¬ s 1 (0) ¬ s 1 (1) ) ( ¬ s 2 (0) s 2 (1) ) ] ( z 0 z 1 ) [ ( ¬ s 1 (0) s 1 (1) ) ( s 2 (0) ¬ s 2 (1) ) ] ( z 1 z 2 ) [ ( s 1 (0) s 1 (1) ) ( s 2 (0) ¬ s 2 (1) ) ] ( z 3 z 2 ) [ ( s 1 (0) s 1 (1) ) ( s 2 (0) s 2 (1) ) ] ( z 3 z 3 ) z i = ( z i (0), z i (1) ) = z i (0) z i (1)

9 Gegebene Pfade mit k = 3 - = (s o, s 1, s 2 ) : z2z2 zozo z 1 |[ M ]| k := I(s 0 ) T(s 0,s 1 ) T(s 1,s 2 ) = [ ( ( ¬ s 0 (0)) ( ¬ s 0 (1)) ) (s 0 (0) ( ¬ s 0 (1)) ) ] [ ( ¬ s 0 (0) ¬ s 0 (1) ) ( ¬ s 1 (0) s 1 (1) ) ] [ ( s 0 (0) ¬ s 0 (1) ) ( ¬ s 1 (0) ¬ s 1 (1) ) ] [ ( s 0 (0) ¬ s 0 (1) ) ( s 1 (0) s 1 (1) ) ] [ ( ¬ s 1 (0) ¬ s 1 (1) ) ( ¬ s 2 (0) s 2 (1) ) ] [ ( ¬ s 1 (0) s 1 (1) ) ( s 2 (0) ¬ s 2 (1) ) ] [ ( s 1 (0) s 1 (1) ) ( s 2 (0) ¬ s 2 (1) ) ] [ ( s 1 (0) s 1 (1) ) ( s 2 (0) s 2 (1) ) ] z1z1 z2z2 z 3 |[ M ]| k := [ ( 0 1) ( 1 1 ) ] [ ( ) ( ) ( ) ] [ ( ) ( ) ( ) ( ) ] 1.) 2.) 1.)1 1 1 Gültiger Pfad!

10 Gegebene Pfade mit k = 3 - = (s o, s 1, s 2 ) : z2z2 zozo z 1 |[ M ]| k := I(s 0 ) T(s 0,s 1 ) T(s 1,s 2 ) = [ ( ( ¬ s 0 (0)) ( ¬ s 0 (1)) ) (s 0 (0) ( ¬ s 0 (1)) ) ] [ ( ¬ s 0 (0) ¬ s 0 (1) ) ( ¬ s 1 (0) s 1 (1) ) ] [ ( s 0 (0) ¬ s 0 (1) ) ( ¬ s 1 (0) ¬ s 1 (1) ) ] [ ( s 0 (0) ¬ s 0 (1) ) ( s 1 (0) s 1 (1) ) ] [ ( ¬ s 1 (0) ¬ s 1 (1) ) ( ¬ s 2 (0) s 2 (1) ) ] [ ( ¬ s 1 (0) s 1 (1) ) ( s 2 (0) ¬ s 2 (1) ) ] [ ( s 1 (0) s 1 (1) ) ( s 2 (0) ¬ s 2 (1) ) ] [ ( s 1 (0) s 1 (1) ) ( s 2 (0) s 2 (1) ) ] z1z1 z2z2 z 3 1.) 2.) |[ M ]|k := ( 1 0) ( 0 0 ) ] [ … ] [ … ] = 0 Kein gültiger Pfad! Gültiger Pfad!

11 Fragestellung: Wie übersetzt man die LTL-Formeln in aussagenlogische Formeln? Pfad ohne Schleife |[ p ]| k i := p(s i ) |[ ¬ p ]| k i := ¬ p(s i ) |[ f g ]| k i := |[ f ]| k i |[ g ]| k i |[ Gf ]| k i := false (wir wissen nichts über k+1 ) p (s i )

12 allgemeine Übersetzung ohne Loop |[ Ff ]| k i := |[ f ]| k i |[ f ]| k i+1 … |[ f ]| k k-1 |[ f ]| k k |[ Xf ]| k i := |[ f ]| k i+1 für i < k, sonst false ( k+1 ?) |[ f U g ]| k i := |[ g ]| k i ( |[ g ]| k i+1 |[ f ]| k i ) (|[ g ]| k i+2 |[ f ]| k i |[ f ]| k i+1 ) … ( |[ g ]| k k |[ f ]| k i |[ f ]| k i+1 … |[ f ]| k k-1 ) |[ f R g ]| k i k := |[f]| k m m = i k m-1 := ( |[g]| k m |[f]| k n ) m = i n = i k m := ( |[f]| k m |[g]| k n ) m = i n = i |[M, f]| k := |[M]| k ( ¬ L k |[ f ]| k 0 )

13 Pfad mit (k,l)-Schleife i, l, k mit i, l k

14 l |[ p ]| k i := p(s i ) l |[ ¬ p ]| k i := ¬ p(s i ) l |[ f g ]| k i := l |[ f ]| k i l |[ g ]| k i l |[ Gf ]| k i l |[ Ff ]| k i l |[ Xf ]| k i := l |[ f ]| k l für i = k, l |[ f ]| k i+1 sonst k := l |[f]| k m m = min(i,l) k := l |[f]| k m m = min(i,l)

15 l |[ f U g ]| k i := l |[ g ]| k i ( l |[ g ]| k i+1 l |[ f ]| k i ) ( l |[ g ]| k i+2 l |[ f ]| k i l |[ f ]| k i+1 ) … ( l |[ g ]| k k l |[ f ]| k i l |[ f ]| k i+1 … l |[ f ]| k k-1 ) ( l |[ g ]| k l l |[ f ]| k i l |[ f ]| k i+1 … l |[ f ]| k k ) ( l |[ g ]| k l+1 l |[ f ]| k i l |[ f ]| k i+1 … l |[ f ]| k l ) … ( l |[ g ]| k i-1 l |[ f ]| k i l |[ f ]| k i+1 … l |[ f ]| k i-2 ) l |[ f R g ]| k i k m-1 i-1 k m-1 := ( l |[g]| k m l |[f]| k n ) ( l |[g]| k m l |[f]| k n l |[f]| k n ) m = i n = i m = l n = i n = l k k m := l |[g]| k m ( l |[f]| k m l |[g]| k n ) m = min(i,l) m = i n = i i-1 k m ( l |[f]| k m l |[g]| k n l |[g]| k n ) m = l n = i n = l

16 Fragestellung: Besitzt der Pfad eine Schleife (Loop)? k L k := l L k mit l L k := T(s k,s l ) l = 0 Loop-Bedingung: allgemeine Übersetzung mit Loop k |[M, f]| k := |[M]| k ( ( l L k l |[ f ]| k 0 ) ) l = 0

17 Allgemeine Übersetzung: k |[ M, f ]| k := |[ M ]| k ( ( ¬ L k |[ f ]| k 0 ) ( l L k l |[ f ]| k 0 ) ) l = 0 |[ M, f ]| k erfüllbar M k Ef M Ef

18 Bestimmung der Schranke k k 2 |f| |M| |M| - Anzahl der Zustände des Kripke-Modells M |f| - Länge der LTL-Formel f (Anzahl der Operatoren) Abschätzung durch Büchi-Automat: Konstruktion des Produktautomaten |B f | |M| Betrachten des Pfades w = v 0 v 1 ω (Loop!) |v 1 | |B f | |M| mit |B f | = 2 O(|f|)


Herunterladen ppt "Bounded Model Checking II Julia Withauer 12.06.2002 Inhalt: 1............. Kurze Wiederholung 2............. Übersetzung in Aussagenlogik (Prüfung der."

Ähnliche Präsentationen


Google-Anzeigen