1 Computergestützte Verifikation
2 5. Real Time Systeme 5.1 Timed Automata 5.2 TCTL 5.3 Abstraktion durch Regionen 5.4 Abstraktion durch Zonen
3 geometrische Veranschaulichung 0 c1 c2 c1>2 c2 – c1 0 c1 – c2 < 4 c2 > 1 c2 3 c1 4
4 Clock Difference Diagrams ci - cj [0,3) [3,17] (17, ) -Nachbildung aller BDD-Operationen, plus -Projektion -Öffnung -Schnitt aber: lange Zeit offen: Normalisierung (inzwischen wohl gelöst für DDD)
5 Zusammenfassung RT-Systeme Zwei Ansätze: Größe vs. Expressivität bei gleicher Größe viel komplexer kleine Erweiterungen der Syntax können fatale Folgen für Entscheidbarkeit haben Manchmal dienen Uhren nur für Fairness
6 Tools UPPAAL basiert auf Zonen explizit + symbolisch (CDD) spezialisiert auf einfache Erreichbarkeitsaussagen Eingabe: Komponenten als Timed Automata
7 Tools KRONOS TCTL-Model Checker basiert auf Zonen und Abstraktionsverfeinerung Eingabe: Komponenten als Timed Automata www-verimag.imag.fr/TEMPORISE/kronos/index-english.html
8 Tools RED region encoding diagrams Regionen + BDD homepage.iis.sinica.edu.tw/farn/public_html/red/
9 6. Abstraktion
10 Worum geht es? Studieren Beziehungen zwischen 2 Systemen C und A, die Eigenschaften vererben Wie kann man diese Beziehungen herstellen? Hintergrund: Prozessalgebra
11 Abstraktionsrelation geg: 2 Systeme C und A Verbindung wird über eine Relation hergestellt rot gelb grün Gas Bremse
12 Beispiele für Abstraktionsrelationen Symmetrien s [s] Real-Time Regionen [d,v] [d,R] Real-Time Zonen [d,v] [d,Z] ist sogar Funktion, d.h. zu s in C ex. genau ein s in A mit s s
13 Mengensichtweise rot gelb grün GasBremse gelb a {c | c a}
14 Vererbung elementarer Eigenschaften Welche Eigenschaften erfüllt ein abstrakter Zustand a p höchstens dann, wenn für alle c a: c p Gas ¬ rot Gas grün Gas ¬ grün beschriften abstraktes Transitionssystem mit geltenden elementaren Eigenschaften; nicht notwendigerweise abgeschlossen bzgl. Negation
15 Abstraktion und Nachfolger Vererbung elementarer Eigenschaften allein reicht nicht Ampel G( ¬rot X X X ¬rot) Ampel G(¬rot X X ¬rot) Auto G( ¬rot X X X ¬rot) Auto G(¬rot X X ¬rot)
16 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
17 Simulation als Spiel C und A sind Spieler, ziehen abwechselnd, C beginnt C zieht (= Übergang in C). A zieht (= Übergang in A). As Ziel: Immer einen Zustand erreichen, der zum aktuellen C-Zustand in Relation steht Cs Ziel: A in ausweglose Situation manövrieren Simulation = (lokale) Gewinnstrategie für A
18 Simulation C simuliert A falls eine Simulationsrelation von C nach A besteht. = jedes Verhalten in C kann in A nachgebildet werden A hat ein reicheres Verhalten als C gelb grün rot Gas Bremse ist keine Simulationsrelation grün Gas gelb Bremse rot Gas
19 Beispiel für Simulation rot gelb grün Gas Bremse Diesmal: Ampel simuliert Auto
20 simuliert ist nicht symmetrisch A B1 B C D A B C D C A C simuliert A, aber A simuliert nicht C 2
21 Simulation und Computation Tree rot gelb grün Gas Bremse
22 Bewahrung von ACTL* Fazit: Berechnungsbaum von C findet sich als Teilbaum des Berechnungsbaums von A wieder ACTL* quantifiziert nur universell über Pfade Satz: Wenn C A simuliert, so gilt jede ACTL*-Eigenschaft von A auch in C
23 Ein Transitionssystem simuliert seinen symmetrisch reduziertes System s [s] (Betrachten Eigenschaften, sie insensitiv sind bzgl. Symmetrie) ss [s] Jede ACTL*-Eigenschaft des symm. reduzierten Systems gilt auch im originalen System
24 Ein Real-Time-Transitionssystem simuliert seinen Zonengraph Annahme für Simulation: Selbstschleifen an jedem Zustand des Zonengraphs später: Schleifen weglassen, weil kein X in TCTL a) Zeitverlauf b) diskreter Übergang
25 Ein Transitionssystem simuliert jede Überapproximation Sei [S,E,A] ein Transitionssystem Wenn S S und E S, so ist [S,E,A] eine Überapproximation von S : Id Wenn eine ACTL*-Eigenschaft in einer Überapproximation gilt, so auch im originalen System Interessant für symbolische Verifikation
26 Konstruktion von Abstraktionen geg: Konkretes System C = [S,E], Menge A von abstrakten Zuständen, Relation von C in A ges: E, so daß Simulationsrelation zwischen C und A wird Lösung: a a gdw. es gibt c,c mit c a und c a und c Existential Abstraction
27 Existential Abstraction vs Simulation Wenn sich abstrakte Zustände überlappen können, fordert existential abstraction mehr Ereignisse als die Def. von Simulation Existential Abstraction: nach Def. Simulation reicht:
28 Abstraktionsfunktionen Wenn abstrakte Zustände zu disjunkten konkreten Zustandsmengen korreliert sind (c a und c a a = a) dann fallen Simulation und Existential Abstraction zusammen, d.h. die durch Existential Abstraction definierte Ereignismenge ist die kleinste, die zu einer Simulationsrelation macht. Regionen Symmetrie Simulation: Wenn c a und c c, so ex. a mit c a und a a Ex. Abstraction: Wenn c a und c c und c a, so a a
29 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
30 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
31 Übung 1 Geg: guarded command Programm: init(x) = init(y) = 0 g1: x > 3 x := x – 2; g2: x = 0 y := y + 1; g3: true x := - y; g4: x < y y := y – x; Ergänze abstrakte Zustandsmenge {x 0} x {y 0} zu einem abstrakten Transitionssystem, das vom konkreten System simuliert wird!
32 Übung 2 Bestimme eine Abstraktionsrelation derart, daß das linke System das rechte System simuliert (Anfangszustand rot)!