Modelchecker „PHAVer“ Software Engineering für Softwareintensive Systeme Eike Rethmeier UNIVERSITÄT PADERBORN

Download Report

Transcript Modelchecker „PHAVer“ Software Engineering für Softwareintensive Systeme Eike Rethmeier UNIVERSITÄT PADERBORN

UNIVERSITÄT PADERBORN
Die Universität der Informationsgesellschaft
Software Engineering für Softwareintensive Systeme
Modelchecker „PHAVer“
Eike Rethmeier
UNIVERSITÄT PADERBORN
Software Engineering für Softwareintensive Systeme
PHAVer
Die Universität der Informationsgesellschaft
Agenda
Hybride Automaten
Semantische Modelle
Transition Systems
Timed / Timed Abstract
Linearität
Train-Gate-Controller
Entstehung HyTech => PHAVer
Verbesserungen von PHAVer
2
UNIVERSITÄT PADERBORN
Software Engineering für Softwareintensive Systeme
PHAVer
Die Universität der Informationsgesellschaft
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
3
Software Engineering für Softwareintensive Systeme
PHAVer
UNIVERSITÄT PADERBORN
Die Universität der Informationsgesellschaft
Hybride Automaten (1)
Thermostat-Beispiel
Graph (V,E)
Variablen
X
X
x1, ... , x n
x1, ... , x n
X'
x 1 ' , ... , x n '
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 X X
4
UNIVERSITÄT PADERBORN
Software Engineering für Softwareintensive Systeme
PHAVer
Die Universität der Informationsgesellschaft
Hybride Automaten (2)
Jump conditions
jump(e) weist jeder Kante Prädikat zu. Freie Variablen aus X
X
Events
Endliche Menge Σ an Events. Für jede Kante ein Event.
event : E
Ausführung eines HA resultiert in
Kontinuierliche Änderung (flows)
Diskrete Änderung (jumps).
5
Software Engineering für Softwareintensive Systeme
PHAVer
UNIVERSITÄT PADERBORN
Die Universität der Informationsgesellschaft
Semantisches Modell / Transition Systems
(Unendliche) Zustandsmenge Q , Q0 Q
n
x
Q V
v,x
Q
inv v X : x ist wahr
Für jedes Event
v,x
σ
v ' , x' :
definiere
{
e E ,e' E'
jump e X , X ' : x , x' ist wahr
event e
6
Software Engineering für Softwareintensive Systeme
PHAVer
UNIVERSITÄT PADERBORN
Die Universität der Informationsgesellschaft
Timed Transition / Time-abstract
Timed transition system
r
0
v ,x
r
v , x' :
{
f : 0, r
1 f 0
2
n
diffbar mit
x, f r
0, r :
inv v X : f
flow v X , X :
x'
und
f
,f
wahr
Time-abstract transition system
Keine differenzierbare Funktion
Zusätzliche Events lösen Zustandsübergänge aus
7
UNIVERSITÄT PADERBORN
Software Engineering für Softwareintensive Systeme
PHAVer
Die Universität der Informationsgesellschaft
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
8
UNIVERSITÄT PADERBORN
Software Engineering für Softwareintensive Systeme
PHAVer
Die Universität der Informationsgesellschaft
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 X
Kein LHA !
Man kann HAs durch LHAs approximieren
9
Software Engineering für Softwareintensive Systeme
PHAVer
UNIVERSITÄT PADERBORN
Die Universität der Informationsgesellschaft
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
far
near
past
far
10
UNIVERSITÄT PADERBORN
Software Engineering für Softwareintensive Systeme
PHAVer
Die Universität der Informationsgesellschaft
Train Gate Controller
11
UNIVERSITÄT PADERBORN
Software Engineering für Softwareintensive Systeme
PHAVer
Die Universität der Informationsgesellschaft
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
12
UNIVERSITÄT PADERBORN
Software Engineering für Softwareintensive Systeme
PHAVer
Die Universität der Informationsgesellschaft
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
13
UNIVERSITÄT PADERBORN
Software Engineering für Softwareintensive Systeme
PHAVer
Die Universität der Informationsgesellschaft
Bit-Begrenzung
a)
b)
c)
d)
Normalenvektor des constraints
Approximation des Vektors
Tangente durch lineare Programmierung
Nach Rundung des neuen constraints
14
UNIVERSITÄT PADERBORN
Software Engineering für Softwareintensive Systeme
PHAVer
Die Universität der Informationsgesellschaft
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
15
UNIVERSITÄT PADERBORN
Software Engineering für Softwareintensive Systeme
PHAVer
Die Universität der Informationsgesellschaft
Ü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
16
UNIVERSITÄT PADERBORN
Software Engineering für Softwareintensive Systeme
PHAVer
Die Universität der Informationsgesellschaft
Zusammenfassung
Lineare Hybride Automaten
Semantik von LHAs
Vorstellung Train-Gate-Controller
PHAVer als Weiterentwicklung von HyTech
17
UNIVERSITÄT PADERBORN
Software Engineering für Softwareintensive Systeme
PHAVer
Die Universität der Informationsgesellschaft
Literatur
•
•
•
•
The Theory of Hybrid Automata, Henzinger
Proceedings 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-Toi
Software Tools for Technology Transfer, 1:110--122, 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.
258-273
Bestiarium of Hybrid Systems, Krilavicius, March 2005
http://wwwhome.cs.utwente.nl/~krilaviciust/publications.htm
18