Software Engineering für Softwareintensive Systeme Modelchecker „PHAVer“ Eike Rethmeier Polyhedral Hybrid Automaton Verifyer.

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

Temporale Logiken: LTL und CTL
Perceptrons and the perceptron learning rule
Algorithm Engineering
Modellbasierte Software-Entwicklung eingebetteter Systeme
Frame-Logik Eine Einführung Andreas Glausch.
Eingebettete Systeme Qualität und Produktivität
Prof. Dr. Holger Schlingloff
Qualitätssicherung von Software (SWQS)
Prof. Dr. Holger Schlingloff
Eingebettete Systeme Qualität und Produktivität
3. Kapitel: Komplexität und Komplexitätsklassen
8. Formale Sprachen und Grammatiken
Seminar über Algorithmen
Unscharfe Optimierung
Einführung in Berechenbarkeit und Formale Sprachen
Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim)
Seminar Software-Engineering für softwareintensive Systeme
Computergestützte Verifikation (Halbkurs) Karsten Schmidt Di 9-11 R Fr R
1 Computergestützte Verifikation Abstraktion.
1 Computergestützte Verifikation Teil II Infinite State Systems.
1 Computergestützte Verifikation Real Time Systeme 5.1 Timed Automata 5.2 TCTL 5.3 Abstraktion durch Regionen 5.4 Abstraktion durch Zonen.
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Prof. Dr. Holger Schlingloff
On a Buzzword: Hierachical Structure David Parnas.
Genetische Algorithmen
Genetische Algorithmen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Symbolisches Model Checking mit Binary Decision Diagrams
Semantik von Prolog & Unifikation
Reguläre Sprachen Karin Haenelt.
© Karin Haenelt 2006, Äquivalenzen Reg.Ausdrücke, Reg.Sprachen, EA ( ) 1 Reguläre Sprachen Karin Haenelt.
© Karin Haenelt, Transduktoren, Transduktoren für die Sprachverarbeitung Vereinigung von Transduktoren Karin Haenelt Karin Haenelt, Transduktoren,
Rigi und Web2Rsf vorgestellt von Tobias Weigand. Inhalt Ziel von Web2Rsf und Rigi Vorstellung des Parsers Web2Rsf Vorstellung des Werkzeugs Rigi Analyse.
Modelchecker – RED Tool: Region-Encoding Diagram Stefan Neumann.
GROOVE Graphs for Object-Oriented Verification Seminar: SEFSIS Sommersemester 2006 Basil Becker
Die Kräfte sind bekannt
Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld
Isabelle/HOL ( Kripke Structures & Model Checking ) Ying Wang, Nelli Bärsch, Bartosz Rynarzewski,
Überführung regulärer Ausdrücke in endliche Automaten Der Algorithmus von Glushkov und McNaughton/Yamada Karin Haenelt
Prof. Dr. Martin Ruckert Wie funktioniert MP3 ?. Seite 1 Oktober 2006 Wie funktioniert MP3 ? Prof. Dr. Martin Ruckert, Fakultät für Informatik und Mathematik,
Zeit, Ort und Weg Geschwindigkeit Beschleunigung
Statische Analyse Gero Leinemann.
Endliche Automaten Informatik JgSt. 13, Abitur 2009
Abschlussvortrag zur Studienarbeit
Effiziente Algorithmen
Polynome und schnelle Fourier-Transformation
Entwurf, unverbindlicher Vorabzug !
Analyse von Ablaufdiagrammen
Behandlung Singulärer Subsysteme mittels Graphentheorie
Betreuer: Dipl.-Ing. (Univ.) Anton Riedl
Computergestützte Verifikation
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Echtzeitsimulation einer Gasturbine Real-Time-Simulation of a Gas-Turbine Till Hoffmann -Diplomarbeit - September 2000.
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Nichtlineare Optimierung
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Dr.-Ing. René Marklein - NFT I - WS 06/07 - Lecture 4 / Vorlesung 4 1 Numerical Methods of Electromagnetic Field Theory I (NFT I) Numerische Methoden der.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Optimierungs- Algorithmen Petra Mutzel Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithmen und Datenstrukturen 2.
Modellierung: MATLAB – Simulink - Stateflow
Elemente einer Z-Spezifikation
1 Computergestützte Verifikation Übung 1 Konstruiere den Regionengraph für folgendes System (Anfang: k = 0) ! Identifiziere in diesem Graph.
Prof. Dr. Uwe Brinkschulte
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung 4 4. Mai 2000 Voronoi-Diagramm.
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
 Präsentation transkript:

Software Engineering für Softwareintensive Systeme Modelchecker „PHAVer“ Eike Rethmeier Polyhedral Hybrid Automaton Verifyer

Train-Gate-Controller Entstehung HyTech => PHAVer Agenda Hybride Automaten Semantische Modelle Transition Systems Timed / Timed Abstract Linearität Train-Gate-Controller Entstehung HyTech => PHAVer Verbesserungen von PHAVer

Modelchecker PHAVer Hytech PHAVer Für Hybride Systeme (diskret + kontinuierlich) Symbolischer Modelchecker für Lineare Hybride Automaten Schlüsselfeature: Parametrische Analyse CTL PHAVer Baut auf Hytech auf Eliminiert die Nachteile von Hytech Exakte Arithmetik Konservative Abschätzungen Partitionierung von state spaces Siehe (2) Erwähnen: Arithmetik = Zahldarstellung

X x ... , X x ... , X ' x , ... Hybride Automaten (1) Thermostat-Beispiel Graph (V,E) Variablen Initial, invariant, flow conditions init(v), inv(v) weisen Knoten Prädikate zu. Freie Variablen aus X flow(v) weist Knoten Prädikat zu. Freie Variablen aus X x 1, ... , n X x 1, ... , n X ' x 1 , ... n Siehe (1) X Punkt ist ÄnderungsRATE! X

Ausführung eines HA resultiert in Hybride Automaten (2) Jump conditions jump(e) weist jeder Kante Prädikat zu. Freie Variablen aus Events Endliche Menge Σ an Events. Für jede Kante ein Event. Ausführung eines HA resultiert in Kontinuierliche Änderung (flows) Diskrete Änderung (jumps). X event : E Übergang klar machen zur nächsten Folie! Jetzt haben wir die Syntax, was fehlt ist eine exakte Semantik

Semantisches Modell / Transition Systems (Unendliche) Zustandsmenge x Für jedes Event definiere Q , Q V n v , x Q inv X : ist wahr Kein x sondern Kreuzprodukt. Was ist mit Zeit? { e E , ' jump X : x ist wahr event v , x σ ' :

Timed Transition / Time-abstract Timed transition system { n f : 0, r diffbar mit 1 f x , r ' r v , x ' : 2 0, r : inv v X f und flow , wahr Time-abstract transition system Keine differenzierbare Funktion Zusätzliche Events lösen Zustandsübergänge aus Zu Epsilon mehr sagen, klar machen, dass nur _Hilfsvariable Erst linken Teil bringen, sagen „Unter welchen Umständen darf ein Übergang stattfinden“ Auch hinschreiben: Wann kann so ein Übergang stattfinden?

Lineare Hybride Automaten (LHAs) Linearität flow(v), inv(c), init(v)... jump(e)... ... sind lineare Ungleichungen, Komposition von lin. Ungl. Resultat: Zustandsmengen sind konvexe Polyeder Literatur (2) Linearität: Beispiel nennen Konvexe Polyeder: erklären was es ist und wozu (Optimierung) Es gibt wege um von nicht-linearen zu linearen Automaten zu kommen.

Lineare Hybride Automaten (LHAs) Linearität flow(v), inv(c), init(v)... jump(e)... ... sind lineare Ungleichungen, Komposition von lin. Ungl. Resultat: Zustandsmengen sind konvexe Polyeder flow(v) hat nur Elemente aus Man kann HAs durch LHAs approximieren X Kein LHA ! Folie für polyeder Literatur (2) Linearität: Beispiel nennen Konvexe Polyeder: erklären was es ist und wozu (Optimierung) Es gibt wege um von nicht-linearen zu linearen Automaten zu kommen.

Komposition zweier Automaten H1, H2 Mit Joint Events Synchronsation über ein gemeinsames Event Bei einem nicht gemeinsamen Event in H1: In H2 vergeht keine Zeit far near past far

Train Gate Controller

Train Gate Controller – Beispiel HyTech => PHAVer Train Gate Controller – Beispiel Wie früh muss der Controller von der Zug-Ankunft informiert werden, um Schranke zu senken? „Safety Properties“ HyTech ist beschränkt bei komplexeren Problemen PHAVer Für komplexere Probleme Muss Nachteile von HyTech aufheben / verringern. Berechnet Parameter, mit denen verbotene Zustände nicht erreicht werden (3) Seite 16 Warum ist HyTech beschränkt?

PHAVer, Verbesserungen Exakte Arithmetik Begrenzte Zahlen => Overflow errors Parma Polyhedra Library Unterstützt beliebig große Zahlen Leichtere Identifizierung von Konvergenz, Nichtdeterminismus. Vereinfachung der Polyeder Bit-Begrenzung Constraint-Begrenzung Konservative Verfahren Was ist Konvergenz, beschreiben Polyeder = Wertebereich von Zahlen

Normalenvektor des constraints Approximation des Vektors Bit-Begrenzung Normalenvektor des constraints Approximation des Vektors Tangente durch lineare Programmierung Nach Rundung des neuen constraints Bei Bit-Begrenzung werden die Daten ungenauer, daher eine konservative Abschätzung

Weitere Verbesserungen Partitionierung von Locations (Knoten) Verbesserung der Genauigkeit Vereinfachung von Zustandsmengen Begrenzt die Komplexität Kann Konvergenz beschleunigen Halten ist normalerweise nicht garantiert Reduziert das Model, so dass Halten enscheidbar ist Abwägen (Trade-Off) von Geschwindigkeit Halteproblem Resourcenverbrauch Verlust von Rechengenauigkeit Sagen, dass ich bei 2 was anderes mache als bei 1

Entwickler: Goran Frehse Unregelmäßige Updates Über PHAVer Entwickler: Goran Frehse http://www.cs.ru.nl/~goranf/ Unregelmäßige Updates Keine weitergehenden Resourcen / Dokumente Dokumente teils veraltet Starke Kenntnis des Programms / Theorie selbst nötig Für Parameteranpassung Für Ergebnis-Interpretation

Zusammenfassung Lineare Hybride Automaten Semantik von LHAs Vorstellung Train-Gate-Controller PHAVer als Weiterentwicklung von HyTech

Literatur The Theory of Hybrid Automata, Henzinger Proceedings of the 11th Annual Symposium on Logic in Computer Science, IEEE Computer Society Press, 1996, pp. 278-292 HyTech: A Model Checker for Hybrid Systems, Henzinger, Ho, Wong-Toi Software Tools for Technology Transfer, 1:110--122, 1997 PHAVer: Algorithmic Verification of Hybrid Systems past HyTech, Frehse Proceedings of the Fifth International Workshop on Hybrid Systems: Computation and Control, Lecture Notes in Computer Science 3414, Springer-Verlag, 2005, pp. 258-273 Bestiarium of Hybrid Systems, Krilavicius, March 2005 http://wwwhome.cs.utwente.nl/~krilaviciust/publications.htm