Date post: | 01-Jan-2016 |
Category: |
Documents |
Upload: | leroy-wright |
View: | 28 times |
Download: | 2 times |
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