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.

Slides:



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

Temporale Logiken: LTL und CTL
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Kap. 13 Sweep-Line Algorithmen Kap Schnittprobleme
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Steigung m berechnen Man kann die Steigung auch berechnen,
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Bounded Model Checking II
B-Bäume.
Default Logiken Zhao Li
Hauptseminar Modellüberprüfung Kathrin Ott
Seminar Modellüberprüfung
Marco Barz Seminar über Algorithmen SoSe2007
Verifizieren versus Berechnen
Algorithmen und Komplexität
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 Symbolisches Model Checking 4.1 CTL Model Checking mit Binary Decision Diagrams (1. Systeme 2. Spezifikationen.
1 Computergestützte Verifikation Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:
1 Computergestützte Verifikation Probleme bei der Softwareverifikation 1.komplexe Datentypen und Expressions 2.Pointer und dynamische Datenstrukturen.
Computergestützte Verifikation
1 Computergestützte Verifikation Teil II Infinite State Systems.
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:
1 Übung 1 Adaptiere die Prozeduren CheckEU und/oder CheckAU zu Prozeduren CheckEF und CheckAF!
1 Computergestützte Verifikation Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:
Algorithmentheorie 04 –Hashing
Suche in Texten: Suffix-Bäume
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
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.
Modelchecker – RED Tool: Region-Encoding Diagram Stefan Neumann.
Minimum Spanning Tree: MST
Isabelle/HOL ( Kripke Structures & Model Checking ) Ying Wang, Nelli Bärsch, Bartosz Rynarzewski,
Beispiel mit vier Personen und vier Sitzplätzen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
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/
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Fuzzymengen – Was ist das?
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Optimierungstechniken in modernen Compilern
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Computergestützte Verifikation
Boolesche Algebra Einführung in die Boolesche Algebra George Boole
Analyse der Laufzeit von Algorithmen
Technische Informatik II
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
1 Computergestützte Verifikation Übung 1 Konstruiere den Regionengraph für folgendes System (Anfang: k = 0) ! Identifiziere in diesem Graph.
Algorithmen und Datenstrukturen
 Präsentation transkript:

1 Computergestützte Verifikation

2 Binary Decision Diagrams (BDD) Inhalt: Die Datenstruktur BDD Operationen auf BDD CTL Model Checking mit BDD Fairness

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

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

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

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

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

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

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 als nextstate-Funktion generiert werden System erfüllt  gdw. I  SAT 

10 Beispiel:3-bit-Zähler x0’   x0  x1’  (¬ x1  x0)  x2’  (¬ x2  (x0  x1 ))

11 CTL Model Checking –einfache Fälle 1.Elementare Aussagen – setzen BDD voraus, normalerweise kein Problem 2.       ¬  -- einfache Anwendung von APPLY 3. SAT EX     y1....  yn[T(x1,...,xn,y1,....,yn)  SAT  (y1,....,yn)] 4. AX   ¬ EX ¬  bleiben: EU und EG – Rest ist dann ableitbar per Tautologien

12 Model Checking EU geg: SAT , SAT  ges: SAT E(  U  wissen: SAT   SAT E(  U  wissen auch: Wenn s’ in SAT E(  U  und s in SAT  und T(s,s’), so ist auch s in SAT E(  U  und schließlich: Weiter nix Z  := SAT  do Z   Z   (SAT   SAT EX Z  until nothing changes SAT E(  U  :=Z Berechnen kleinsten Fixpunkt eines monoton wachsenden Mengenoperators

13 Model Checking EG geg: SAT  ges: SAT EG  wissen: SAT EG   SAT  wissen auch: Wenn s’ in SAT EG  und s in SAT  und T(s,s’), so ist auch s in SAT EG  und schließlich: Weiter nix Z  := SAT  do Z   Z    SAT EX Z until nothing changes SAT EG  := Z Berechnen größten Fixpunkt eines monoton fallenden Mengenoperators

14 By the way....  -Kalkül einfache Aussagen (Mengen) + boolesche Operationen (Mengenoperationen) + “kleinster Fixpunkt von... “ + “größter Fixpunkt von...” wird auch als Spezifikationssprache verwendet

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

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?

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

Fairness Arbeiten mit zustandsbasierter Fairness und schwachen Fairnessannahmen geg: BDDs C1,..., Cn, stehen für Fairnessannahmen GF C1,...., GF Cn Ansatz: trickreiche Adaption der Fixpunktoperationen

19 Faires EG fair: Z  := SAT  do Z   Z     k=1 n  SAT EX E(  U (Z  Ck)) until nothing changes SAT E C G  := Z unfair: Z  := SAT  do Z   Z    SAT EX Z until nothing changes SAT EG  := Z

20 Andere faire Operatoren E C (  U  ) = E(  U (    E C G true)) E C X  = EX(    E C G true) Rest: Tautologien

21 Übung 1 Gib einen eigenen Fixpunktalgorithmus zur Berechnung von SAT EF  an!

22 Übung 2 Wende die Formel zur frühen Quantifizierung (Folie 17) auf die partitionierte Transitionsrelation des 3-bit-Zählers auf Folie 16 an! Wie groß ist die maximale Tiefe (Zahl der vorkommenden Variablen) eines Zwischenresultats bei dieser Berechnung?