Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier.

Ähnliche Präsentationen


Präsentation zum Thema: "Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier."—  Präsentation transkript:

1 Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

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

3 3 Software Engineering für Softwareintensive Systeme PHAVer 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 4 Software Engineering für Softwareintensive Systeme PHAVer 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 Xx 1,...,x n Xx 1,...,x n X'x 1 ',,x n ' XX

5 5 Software Engineering für Softwareintensive Systeme PHAVer 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). XXevent:E

6 6 Software Engineering für Softwareintensive Systeme PHAVer Semantisches Modell / Transition Systems (Unendliche) Zustandsmenge x Für jedes Event definiere Q,Q 0 Q v,xQinvvX:xist wahr eE,e'E' jumpeX,X':x,x'ist wahr evente v,x σ v',x': { QV n

7 7 Software Engineering für Softwareintensive Systeme PHAVer Timed Transition / Time-abstract Timed transition system r 0 v,x r v,x' : { Time-abstract transition system Keine differenzierbare Funktion Zusätzliche Events lösen Zustandsübergänge aus f:0,rdiffbarmit 1f0x,frx' 20,r: invvX:fund flowvX,X:f,fwahr n

8 8 Software Engineering für Softwareintensive Systeme PHAVer Linearität flow(v), inv(c), init(v)... jump(e) sind lineare Ungleichungen, Komposition von lin. Ungl. Resultat: Zustandsmengen sind konvexe Polyeder Lineare Hybride Automaten (LHAs)

9 9 Software Engineering für Softwareintensive Systeme PHAVer 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 Lineare Hybride Automaten (LHAs) X Kein LHA !

10 10 Software Engineering für Softwareintensive Systeme PHAVer 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 near far past far

11 11 Software Engineering für Softwareintensive Systeme PHAVer Train Gate Controller

12 12 Software Engineering für Softwareintensive Systeme PHAVer 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 13 Software Engineering für Softwareintensive Systeme PHAVer 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 14 Software Engineering für Softwareintensive Systeme PHAVer Bit-Begrenzung a)Normalenvektor des constraints b)Approximation des Vektors c)Tangente durch lineare Programmierung d)Nach Rundung des neuen constraints

15 15 Software Engineering für Softwareintensive Systeme PHAVer 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 16 Software Engineering für Softwareintensive Systeme PHAVer Ü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 17 Software Engineering für Softwareintensive Systeme PHAVer Zusammenfassung Lineare Hybride Automaten Semantik von LHAs Vorstellung Train-Gate-Controller PHAVer als Weiterentwicklung von HyTech

18 18 Software Engineering für Softwareintensive Systeme PHAVer 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."

Ähnliche Präsentationen


Google-Anzeigen