18
U N IV ER S ITÄ T PA DERBORN Die Universität der Informationsgesellschaft Software Engineering für Softwareintensive Systeme Modelchecker „PHAVer“ Eike Rethmeier

Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

Embed Size (px)

Citation preview

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

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive Systeme

Modelchecker „PHAVer“

Eike Rethmeier

Page 2: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

2

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

Agenda

Hybride AutomatenSemantische Modelle

Transition SystemsTimed / Timed Abstract

LinearitätTrain-Gate-ControllerEntstehung HyTech => PHAVer

Verbesserungen von PHAVer

Page 3: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

3

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

Modelchecker PHAVer

HytechFür Hybride Systeme (diskret + kontinuierlich)Symbolischer Modelchecker für Lineare Hybride AutomatenSchlüsselfeature: Parametrische AnalyseCTL

PHAVerBaut auf Hytech aufEliminiert die Nachteile von Hytech

Exakte ArithmetikKonservative AbschätzungenPartitionierung von state spaces

Page 4: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

4

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

Hybride Automaten (1)

Thermostat-Beispiel

Graph (V,E)Variablen

Initial, invariant, flow conditionsinit(v), inv(v) weisen Knoten Prädikate zu. Freie Variablen aus Xflow(v) weist Knoten Prädikat zu. Freie Variablen aus

X x1, ... , xn

X x1, ... , xn

X ' x1 ' , ... , xn '

X X

Page 5: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

5

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

Hybride Automaten (2)

Jump conditionsjump(e) weist jeder Kante Prädikat zu. Freie Variablen aus

EventsEndliche Menge Σ an Events. Für jede Kante ein Event.

Ausführung eines HA resultiert in Kontinuierliche Änderung (flows)Diskrete Änderung (jumps).

X X

event : E

Page 6: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

6

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

Semantisches Modell / Transition Systems

(Unendliche) Zustandsmenge x

Für jedes Event definiere

Q , Q0 Q

v , x Q inv v X : x ist wahr

e E ,e' E'jump e X , X ' : x , x' ist wahrevent e

v , xσ

v ' , x ' : {

Q V n

Page 7: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

7

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

Timed Transition / Time-abstract

Timed transition system

r 0 v , xr

v , x' :{Time-abstract transition system

Keine differenzierbare FunktionZusätzliche Events lösen Zustandsübergänge aus

f : 0, r diffbar mit

1 f 0 x , f r x '2 0,r :

inv v X : f undflow v X , X : f , f wahr

n

Page 8: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

8

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

Linearitätflow(v), inv(c), init(v)...jump(e)...... sind lineare Ungleichungen, Komposition von lin. Ungl.

Resultat: Zustandsmengen sind konvexe Polyeder

Lineare Hybride Automaten (LHAs)

Page 9: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

9

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

Linearitätflow(v), inv(c), init(v)...jump(e)...... sind lineare Ungleichungen, Komposition von lin. Ungl.

Resultat: Zustandsmengen sind konvexe Polyederflow(v) hat nur Elemente aus

Man kann HAs durch LHAs approximieren

Lineare Hybride Automaten (LHAs)

X

Kein LHA !

Page 10: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

10

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

Komposition

Komposition zweier Automaten H1, H2Mit Joint EventsSynchronsation über ein gemeinsames EventBei einem nicht gemeinsamen Event in H1:In H2 vergeht keine Zeit

near

far

past

far

Page 11: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

11

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

Train Gate Controller

Page 12: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

12

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

HyTech => PHAVer

Train Gate Controller – BeispielWie früh muss der Controller von der Zug-Ankunft informiert werden, um Schranke zu senken?„Safety Properties“HyTech ist beschränkt bei komplexeren Problemen

PHAVerFür komplexere ProblemeMuss Nachteile von HyTech aufheben / verringern.Berechnet Parameter, mit denen verbotene Zustände nicht erreicht werden

Page 13: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

13

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

PHAVer, Verbesserungen

Exakte ArithmetikBegrenzte Zahlen => Overflow errorsParma Polyhedra LibraryUnterstützt beliebig große ZahlenLeichtere Identifizierung von Konvergenz, Nichtdeterminismus.

Vereinfachung der PolyederBit-BegrenzungConstraint-BegrenzungKonservative Verfahren

Page 14: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

14

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

Bit-Begrenzung

a) Normalenvektor des constraintsb) Approximation des Vektorsc) Tangente durch lineare Programmierungd) Nach Rundung des neuen constraints

Page 15: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

15

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

Weitere Verbesserungen

Partitionierung von Locations (Knoten)Verbesserung der Genauigkeit

Vereinfachung von ZustandsmengenBegrenzt die KomplexitätKann Konvergenz beschleunigen

Halten ist normalerweise nicht garantiertReduziert das Model, so dass Halten enscheidbar ist

Abwägen (Trade-Off) vonGeschwindigkeit HalteproblemResourcenverbrauchVerlust von Rechengenauigkeit

Page 16: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

16

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

Über PHAVer

Entwickler: Goran Frehsehttp://www.cs.ru.nl/~goranf/

Unregelmäßige UpdatesKeine weitergehenden Resourcen / DokumenteDokumente teils veraltetStarke Kenntnis des Programms / Theorie selbst nötig

Für ParameteranpassungFür Ergebnis-Interpretation

Page 17: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

17

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

Zusammenfassung

Lineare Hybride AutomatenSemantik von LHAsVorstellung Train-Gate-ControllerPHAVer als Weiterentwicklung von HyTech

Page 18: Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

18

UN IVERSITÄT PA DERBO RNDie U niversitä t der Inform ationsgesellsch a ft

Software Engineering für Softwareintensive SystemePHAVer

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