1 Computergestützte Verifikation 14.6.2002. 2 6. Abstraktion.

Slides:



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

Christian Scheideler SS 2009
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,
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Bounded Model Checking II
Prof. Dr. W. Conen 15. November 2004
Zusammenfassung der Vorwoche
Default Logiken Zhao Li
3. Berechenbarkeit Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt,
Hauptseminar Modellüberprüfung Kathrin Ott
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
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 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
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (06 – Reduktion endlicher Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Algorithmentheorie 7 – Bin Packing
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Kapitel 5 Stetigkeit.
Kapitel 6 Differenzierbarkeit. Kapitel 6: Differenzierbarkeit © Beutelspacher Juni 2005 Seite 2 Inhalt 6.1 Die Definition 6.2 Die Eigenschaften 6.3 Extremwerte.
Symbolisches Model Checking mit Binary Decision Diagrams
Modelchecker – RED Tool: Region-Encoding Diagram Stefan Neumann.
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
Relationentheorie AIFB SS Algorithmen zur Bildung von 3NF-Relationsschemata Algorithmen zur Bildung von 3NF-Relationsschemata (2|8) (2)Synthese.
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Flüsse, Schnitte, bipartite Graphen
...ich seh´es kommen !.
Diskrete Mathematik II
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
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Auslegung eines Vorschubantriebes
Analyseprodukte numerischer Modelle
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
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.
1 Übung 1 Konstruiere den Regionengraph für folgendes System (Anfang: k = 0) ! Identifiziere in diesem Graph einen Pfad, der EG k  1 bezeugt! k=0k=1k=2.
Analyse der Laufzeit von Algorithmen
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 6. Abstraktion

3 Simulation ist Simulationsrelation, wenn für alle c,a,c: Wenn c a und c c in C, so ex. ein a mit c a und a a in A C A

4 Simulation und Computation Tree rot gelb grün Gas Bremse

5 Existential Abstraction Sehr praktikabel: 1.Wähle abstrakte Zustandsmenge (nach Kriterien wie z.B. Bewahrung elementarer Eigenschaften) 2. Ergänze kanonisch eine Übergangsrelation rot gelb grün Gas Bremse

6 Beispiele 1. Vorzeichenabstraktion Nat { 0} 2. Logarithmische Abstraktion Nat Nat; i lg i = log 2 (i+1) 3. Bit-Abstraktion AND/ OR/NOT RegReg AND/ OR/NOT RegReg I OI O

7 Bit-Abstraktion AND/ OR/NOT RegReg I O T(x1...xn,x1...xn) = ½ i1...im R(x1..xn,i1...im,x1...xn) AND/ OR/NOT RegReg I O T(x1..xj,x1...xj) = ½ i1...im xj+1...xn xj+1...xn R(x1...xn,i1...im,x1...xn)

8 Bisimulation Wenn sowohl als auch -1 Simulationsrelationen sind, heißen C und A bisimilar, und heißt Bisimulationsrelation bisimilar ist schärfer als A simuliert C und C simuliert A!

9 graphische Veranschaulichung Sei a a. Daraus folgt für alle c: c a, es existiert c: c c und c a (Bisimulation) es existiert c: c a es existiert c: c c und c a (exist. Abstr.)

10 Beispiele für Bisimulationen 1.Symmetrien Wenn [s] [s], so gibt es ein s in [s] mit s s 2. Regionen (mit Selbstschleifentrick wie bei Zonen)

11 Bisimulation und CTL(*) Satz 1: Wenn A und C bisimilar sind, so erfüllen sie die gleichen CTL*-Formeln Satz 2: Wenn A und C die gleichen CTL-Formeln erfüllen, so sind sie bisimilar Das heißt: Wenn es eine CTL*-Formel gibt, die A und C unterscheidet, so gibt es bereits eine CTL-Formel.

12 Konstruktion von Bisimulationen Nicht jede abstrakte Zustandsmenge kann zu einem bisimilaren Transitionssystem ergänzt werden rot gelb grün Gas Bremse Konstruktion von bisimilaren Transitionssystemen aus abstrakter Zustandsmenge erfordert Abstraktionsverfeinerung

13 Schwache Bisimulation Erweitertes Spiel (aktionsbasiert): spezielle Aktion : unsichtbar Spieler 1 macht einen Zug (ein Schritt) Spieler 2 darf einen Zug machen, der aus der von Spieler 1 gewählten Aktion, umrahmt von beliebig vielen -Aktionen, besteht, und zu einem Zustand führt, der in Relation zum Zustand von Spieler 1 steht C simuliert A schwach schwache Bisimulation ( und -1..., wie gehabt)... bewahrt CTL*-X Partial order reduction für CTL* liefert schwach bisimilares reduziertes Transitionssystem

14 Zusammenfassung Abstraktion zentral: Simulation/Bisimulation Simulation ACTL* Bisimulation CTL* Jede Menge abstrakter Zustände kann zu Simulation fortgesetzt werden, aber nicht immer zu einer Bisimulation Die meisten Reduktionstechniken sind Abstraktionen

15 7. Abstraktionsverfeinerung 7.1 allgemeine Abstraktionsverfeinerung geg.: Abstraktion ges: aussagekräftigere Abstraktion 7.2 Gegenbeispielgesteuerte Verfeinerung geg.: Abstraktion, Scheingegenbeispiel ges.: Abstraktion, die Gegenbeispiel ausschließt

16 Spaltung abstrakter Zustände z.B. Zonen: Z1 := Z ci – cj < k Z2 := Z ci – cj k z.B. Bit-Abstraktion: weitere Variablen sichtbar machen

allgemeine Verfeinerung geg.: simulierende Abstraktionsrelation z.B. Zonengraph ges.: mögl. grobe Verfeinerung, die zus. Bedingungen erfüllt. z.B. Bisimulation oder Vererbung von ACTL* in die andere Richtung oder Bewahrung weiterer Elementaraussagen Mittel: Spaltung von abstrakten Zuständen

18 Wo spalten? Bisimulation: gutschlecht Bewahrung von ACTL* in die andere Richtung: gut genug: Core Core muss sich wie Bisimulation verhalten

19 Wie spalten? Beispiel: Zonen Welche Uhrenstellung in Z1 hat Nachfolger in Z2? 1.Schnitt mit Constraint 2.Nullstellen 3.Schnitt mit Invariante des diskreten Nachfolgers 4.Zeitverlauf 5.Schnitt mit Invariante Komplement nicht unbedingt konvex ggf. mehrere Zonen als Spaltprodukt lernen: brauchen Möglichkeit, abstrakten Vorgänger zu berechnen 1. Schnitt mit Null 2. Öffnung nach oben 3.Schnitt mit Constraint 4.Schnitt mit Zone

20 Propagierung Spaltung eines abstrakten Zustandes kann weitere Spaltungen notwendig machen Propagation nach rückwärts bis sich nix mehr ändert

21 Konsequenteste Umsetzung Beginne mit Entwickle Transitionssystem ausschliesslich per Verfeinerung Splitting Tree: dokumentiert Spaltgeschichte = Datenstruktur für Zustandsmenge (Zustand = Pfad im Splitting Tree)

Gegenbeispielgesteuerte Verfeinerung Algorithmus: 1.initiale Abstraktion 2.Verifikation von (aus ACTL*) im abstrakten System 3. gilt gilt auch im konkreten System 4. gilt nicht abstraktes Gegenbeispiel 5. Prüfe, ob Gegenbeispiel im konkreten System realisierbar ist 6. ja gilt nicht 7. nein verfeinere Abstraktion derart, daß Gegenbeispiel auch im abstrakten System unrealisierbar wird 8. GOTO 2

23 Beispiel: Bit-Abstraktion AND/ OR/NOT RegReg I O T(x1..xj,x1...xj) = ½ i1...im xj+1...xn xj+1...xn R(x1...xn,i1...im,x1...xn) initiale Abstraktion: möglichst wenige Variablen sichtbar z.B. die in der Formel vorkommenden Existential Abstraction (Abstraktion ist Funktion) Verifikation mit BDD- oder SAT-basiertem Model Checking

24 Abstraktes Gegenbeispiel einfachster Fall: Gegenbeispiel = endl. Pfad = Folge von Belegungen der sichtbaren Variablen c1 (k).. cj (k) Realisierbarkeit im konkreten System = Erfüllbarkeit von I(c1 (0)...cj (0), x(j+1) (0)...x(n) (0) ) T(c1 (0)...cj (0), x(j+1) (0)...x(n) (0),c1 (1)...cj (1), x(j+1) (1)...x(n) (1) )).... SAT-Checker

25 Scheingegenbeispiele dead end state = erreichbar von einem konkreten Zustand im ersten abstrakten Zustand bad state = hat Nachfolger Verfeinerung = trenne dead end und bad states erfüllbare Pfadformel nicht erfüllbare Pfadformel

26 Verfeinerungsproblem Welche (möglichst wenige) Variablen sichtbar machen, damit bad und dead end states getrennt werden? Optimale Lösungen algorithmisch schwer Approximationen, Heuristiken,....

27 Eine Separationsidee 1.ein paar konkrete Beispiele gewinnen.... macht der SAT-Checker 2. wenigstens die Beispiele trennen d1 = (0,1,0,1) d2 = (1,1,1,0) b1 = (1,1,1,1) b2 = (0,0,0,1) indem möglichst wenige Variable sichtbar werden, i=1 4 vi = min die d1 von b1 v1 + v3 1, d1 von b2 v2 1 d2 von b1 v4 1 und d2 von b2 v1 + v2 + v3 + v4 1 trennen ganzzahliges Optimierungsproblem, NP=hart, (v1,v2,v4), (v2,v3,v4)

28 Andere Separationsideen - Mache signifikante Variablen in der Pfadformel sichtbar + Konfliktanalyse im SAT-Checker + Fourieranalyse + Lernansätze + Analyse abhängiger Variablen

29 Übung 1 Verfeinere die gegebene Abstraktion zu einer Bisimulation ( = gleiche Strichart)!

30 Übung 2 Verfeinere die gegebene Abstraktion derart, daß der abstrakte Pfad A B C D nicht mehr realisierbar ist! 1,2,3 A 4,5,6 B 7,8 C 9,10,11 D