1 Computergestützte Verifikation 21.5.2002. 2 4. Symbolisches Model Checking 4.1 CTL Model Checking mit Binary Decision Diagrams (1. Systeme 2. Spezifikationen.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen für das Erfüllbarkeitsproblem SAT
Advertisements

Temporale Logiken: LTL und CTL
Kap. 13 Sweep-Line Algorithmen Kap Schnittprobleme
(Zweistufige) Logiksynthese
Kapitel 1 Der Boolesche Kalkül
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Bounded Model Checking II
Arbeiten mit Mittelwert- und Kovarianzstrukturmodellen
B-Bäume.
3. Berechenbarkeit Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt,
Seminar Modellüberprüfung
Verifizieren versus Berechnen
Algorithmen und Komplexität
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Christian Schindelhauer
1 Computergestützte Verifikation Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:
Computergestützte Verifikation
Computergestützte Verifikation (Halbkurs) Karsten Schmidt Di 9-11 R Fr R
1 Computergestützte Verifikation Abstraktion.
Computergestützte Verifikation
Computergestützte Verifikation
1 Computergestützte Verifikation SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem.
1 Computergestützte Verifikation Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:
Computergestützte Verifikation
1 Computergestützte Verifikation SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem.
Computergestützte Verifikation
1 Computergestützte Verifikation Real Time Systeme 5.1 Timed Automata 5.2 TCTL 5.3 Abstraktion durch Regionen 5.4 Abstraktion durch Zonen.
Computergestützte Verifikation
1 Computergestützte Verifikation Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:
Qualitätssicherung von Software
1 Computergestützte Verifikation Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Kann eine XML-Datenbank temporal sein? Universität zu Köln Hauptseminar: Datenbanken vs. Markup Dozent: Prof. Dr. Manfred Thaller Referentin: Cigdem Varol.
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
Rechneraufbau & Rechnerstrukturen, Folie 1.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 1.
Symbolisches Model Checking mit Binary Decision Diagrams
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 4.1.
Semantik von Prolog & Unifikation
Übung zum R-Baum, Gegeben ist die dargestellte Menge von Rechtecken, die in der Reihenfolge 1, 7, 9, 13, 3, 5, 11, 6, 8, 10, 4, 14, 12, 2 eingegeben.
Modelchecker – RED Tool: Region-Encoding Diagram Stefan Neumann.
Minimum Spanning Tree: MST
Rel-Modell Relationenspezifische Operationen (11|21) Definition: natural join (natürlicher Verbund) Geg.: zwei Relationen r 1 : (A) und.
Beweiser – Integer Linear Problems Oleg Iskov Methoden der Verifikation Universität Bremen SS2005.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Sensitivitätsanalyse
Adaptive Systeme-2 Grundlagen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Tutorium Makro- und Mikroökonomik
Technische Informatik II
Technische Informatik II (INF 1211) Aufgabenteil (Mit Unterlagen)
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Das Traveling Salesman Problem (TSP)
Computergestützte Verifikation
Algorithmen für das Erfüllbarkeitsproblem SAT
1 Computergestützte Verifikation Binary Decision Diagrams (BDD) Inhalt: Die Datenstruktur BDD Operationen auf BDD CTL Model.
Boolesche Algebra Einführung in die Boolesche Algebra George Boole
Technische Informatik II
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
1 Computergestützte Verifikation Übung 1 Konstruiere den Regionengraph für folgendes System (Anfang: k = 0) ! Identifiziere in diesem Graph.
 Präsentation transkript:

1 Computergestützte Verifikation

2 4. Symbolisches Model Checking 4.1 CTL Model Checking mit Binary Decision Diagrams (1. Systeme 2. Spezifikationen 3. explizites Model Checking) (4.2 SAT-basiertes Model Checking)

3 Binary Decision Diagrams (BDD) Ausgangspunkt: Boolesche Funktionen = Mengen von Bit-Vektoren: M f M f M (x1,....,xn) = W gdw. [x1,....,xn] M Inhalt: Die Datenstruktur BDD Operationen auf BDD CTL Model Checking mit BDD Fairness

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

5 Reduktion des Baums x1=? x2=? x3=?x4=? x3=?x4=? YYNNNNNN 0 1

6 Reduktion des Baums x1=? x2=? x3=?x4=? x3=? YN 0 1

7 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)

8 Verschiedene Variablenordnungen YN x1=? x2=? x3=? x4=? x1=? x3=? x2=? x4=? Y N

9 Abhängigkeit von Variablenordnung Manche Funktionen haben kleine (polynomiell große) BDD, unabhängig von der Variablenordnung Für viele Funktionen kann die Größe des BDD zwischen poly und exp schwanken, abhängig von Variablenordnung Optimale Variablenordnungen sind nicht effizient berechenbar Viele, viele Heuristiken Reordering (statisch oder dynamisch) hilft bei Speicherproblemen Manche Funktionen haben (exponentiell) große BDD, unabhängig von der Variablenordnung

10 Normalform Bei gegebener Variablenordnung ist das entstehende BDD eindeutig bestimmt! Mengengleichheit, Emptiness können effizient entschieden werden

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

Operationen auf BDD Eingabe: 1-2 (reduzierte!) BDD Ausgabe: neues (auch reduziertes!) BDD einfaches RESTRICT: f n-stellig b in {0,1} RESTRICT(f,b) (n-1)-stellig f(x2,.....,xn) := f(b,x2,....,xn) Implementation: root := root.child[b]

13 Operationen auf BDD APPLY(op,f1,f2) f1,f2 n-stellig f(x1,....,xn) := f1(x1,.....,xn) op f2(x1, ,xn) f(x1,....,xn) ( x1 f(1,x2,....,xn) ) ( ¬x1 f(0,x2,....,xn) ) Shannon-Expansion x1 ( f1(1,x2,....,xn) op f2(1,x2,...,xn) ) ¬x1 ( f1(0,x2,....,xn) op f2(0,x2,....,xn) )

14 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| )

15 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| )

16 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)

17 Übung 1 Konstruiere ein reduziertes BDD zu folgender Funktion x1 x2 x3 f(x1,x2,x3)

18 Übung 2 Welche Funktion repräsentiert dieses BDD? YN x1=? x2=? x3=? x4=? 01

19 Übung 3 Wieviele Anwendungen von APPLY und RESTRICT sind notwendig, um zu gegebenen BDDs für Mengen M,N und K ein BDD für (M \ N) (N \K) zu konstruieren?