Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Software Engineering für Softwareintensive Systeme Modelchecker „PHAVer“ Eike Rethmeier Polyhedral Hybrid Automaton Verifyer."—  Präsentation transkript:

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

2 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

3 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

4 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

5 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

6 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 σ ' :

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

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

9 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.

10 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

11 Train Gate Controller

12 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?

13 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

14 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

15 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

16 Entwickler: Goran Frehse Unregelmäßige Updates
Über PHAVer Entwickler: Goran Frehse 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

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

18 Literatur The Theory of Hybrid Automata, Henzinger Proceedings of the 11th Annual Symposium on Logic in Computer Science, IEEE Computer Society Press, 1996, pp HyTech: A Model Checker for Hybrid Systems, Henzinger, Ho, Wong-Toi Software Tools for Technology Transfer, 1: , 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 Bestiarium of Hybrid Systems, Krilavicius, March 2005


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

Ähnliche Präsentationen


Google-Anzeigen