Software Engineering für Softwareintensive Systeme Modelchecker PHAVer Eike Rethmeier

Preview:

Citation preview

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

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

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

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

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

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

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

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)

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 !

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

11

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

Software Engineering für Softwareintensive SystemePHAVer

Train Gate Controller

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

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

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

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

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

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

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