1 / 18

Software Engineering für Softwareintensive Systeme Modelchecker „PHAVer“ Eike Rethmeier

Software Engineering für Softwareintensive Systeme Modelchecker „PHAVer“ Eike Rethmeier. Agenda. Hybride Automaten Semantische Modelle Transition Systems Timed / Timed Abstract Linearität Train-Gate-Controller Entstehung HyTech => PHAVer Verbesserungen von PHAVer. Modelchecker PHAVer.

sasha
Télécharger la présentation

Software Engineering für Softwareintensive Systeme Modelchecker „PHAVer“ Eike Rethmeier

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Engineering für Softwareintensive SystemeModelchecker „PHAVer“Eike Rethmeier

  2. 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 • 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

  4. X X X x ... , x 1, n X x ... , x 1, n X ' x ' , ... , x ' 1 n 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

  5. X X event : E 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).

  6. 0 Q , Q Q v , x Q inv v X : x ist wahr Q V e E , e ' E ' σ jump e X , X ' : x , x ' ist wahr v , x v ' , x ' : event e Semantisches Modell / Transition Systems • (Unendliche) Zustandsmenge x • Für jedes Event definiere n {

  7. f : 0, r diffbar mit 1 f 0 x , f r x ' r : r v , x v , x ' 2 0, r : 0 inv v X : f und flow v X , X : f , f wahr Timed Transition / Time-abstract • Timed transition system { n • Time-abstract transition system • Keine differenzierbare Funktion • Zusätzliche Events lösen Zustandsübergänge aus

  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

  9. X 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 Kein LHA !

  10. far far near past Komposition • 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

  11. Train Gate Controller

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

  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

  14. Bit-Begrenzung Normalenvektor des constraints Approximation des Vektors Tangente durch lineare Programmierung Nach Rundung des neuen constraints

  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

  16. Ü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

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

  18. Literatur • The Theory of Hybrid Automata, HenzingerProceedings 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-ToiSoftware Tools for Technology Transfer, 1:110--122, 1997 • PHAVer: Algorithmic Verification of Hybrid Systems past HyTech, FrehseProceedings 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 2005http://wwwhome.cs.utwente.nl/~krilaviciust/publications.htm

More Related