Modelchecker

Werbung
UNIVERSITÄT PADERBORN
Die Universität der Informationsgesellschaft
Modelchecker – RED
Tool:“Region-Encoding Diagram”
Stefan Neumann
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Agenda
Einführung in RED
Grundlagen kontinuierliche Modelle
Darstellung kont. Modelle CDD / CRD
Zusammenfassung / Fazit
2
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Modelchecker RED
Entstanden: Dept. of Electrical Engineering National Taiwan
University
Ständig weiterentwickelt / theoretisch orientiert
Nutzbar für Bereiche Lehre und Forschung
Kommerzielle Nutzung nur nach Absprache
Konsolenanwendung
Weblink: http://www.iis.sinica.edu.tw/~farn/red
3
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Schwerpunkt/Ausrichtung
Diskrete Systeme
Kontinuierliche Systeme
Hybride Systeme
Diskret
Kontinuierlich
Hybrid
Train-Gate-Control, modellierbar in RED
Diskrete Teile
Kontinuierliche Teile
Hybride Teile
4
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
RED im Überblick
Rückwärts- und Vorwärtsanalyse
Automatische Erkennung:
Diskret
Kontinuierlich
Hybrid
=> Verwendung unterschiedlicher Datenstrukturen
Auffinden von Gegenbeispielen
Heuristiken zur Variablenordnung
5
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Motivation des Vortrags
Orientierung im theoretischer Bereich
Kontinuierliche / Hybride Systeme
Vortrag konzentriert sich auf die Theorie
Teilbereich: Datenstrukturen zur Darstellung kontinuierlicher
Systeme
6
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Grundlagen – Kontinuierliche Systeme – Timed Automata
Bestandteile Timed Automata:
Endlicher Graph
Endliche Menge von clocks X
X : x1 , ... , x n
Graph besteht aus:
Locations (Orte)
Kanten
7
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Timed Automata - Aufbau
Locations:
Haben Invarianten
Solange Invariante erfüllt,
kann in S 1verweilt werden
Location S 1 hat Invariante :
x 1000
S1
x 1000
x 1000
Kanten:
Schalten in Nullzeit
Mit Bedingung versehen
Können Clocks zurücksetzen
x: 0
S2
x 0
8
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Darstellung von Bereichen / Clock-Regions
Fragestellung: Ist der Wert innerhalb einer Region?
Schwierigkeiten:
Effiziente Darstellung
Effiziente Modifikation
y
3
1
X
3
2
Y
3
2
1
3
x
9
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Mögliche Darstellungform
BDD – artige Darstellungsformen, Vorteile:
Platzeffizient (Reduzierbar, Variablenordnung)
Effiziente Modifizierung möglich von z. B.:
X
1 X 3
BDD ähnliche Formen
Typisch, Variablen in den Knoten
Kanten mit Bedingungen / Verschiedene Formen
Y
Mögliche Kantenbeschriftung
Intervalldarstellung:
Ungleichung:
1,3
1
3
TRUE
10
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Lösung - CDD
CDD – Clock Difference Diagram
X
Effiziente Darstellungsform
1,3
Kantenbeschriftung: Intervallgrenzen
Y
y
3
2,3
TRUE
2
1
3
x
11
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
RED – Darstellungsform CRD
CRD – Clock-Restriction-Diagram
0-X
1
1
X
3
2
Y
3
X–0
y
3
3
2
0-Y
1
x
3
2
Formel umstellen zu:
Y-0
0 X
0 Y
1,X
2, Y
0 3
3
0 3
TRUE
12
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Eigenschaften CRD / CDD
Effizienz der Darstellung (CRD/CDD) im Beispiel
CDD erzeugt kleineren Graph
Im Beispiel zu beachten
Beispiel sehr einfach
Was passiert bei Manipulation der Strukturen
Nachfolgend
Vereinigung zweier Regionen
13
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Manipulation (CDD/CRD)
Vereinigung von zwei Clock-Regions
1
X
3
2
Y
3
2
X
3
1
Y
3
y
3
Zu beobachten
Darstellungsgröße
Darstellungsform
2
1
3
x
14
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Vereinigung CDD
1
X
3
2
Y
3
2
X
3 1 Y
3
y
3
X
X
1,2
2
2,3
Y
3
x
2,3
Y
2,3
1
X
2,3
Y
1,2
TRUE
Stichwort: Fragmentierung
15
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Vereinigung CRD
0-X
0-X
1
0-X
2
1
X-0
X-0
y
3
2
2
X-0
X-0
33
33
0-Y
0-Y
1
3
x
0-Y
0-Y
2
11
Y-0
Y-0
Y-0
Y-0
33
TRUE
3 3
TRUE
Beobachtung
Nur zwei Pfade
CRD und CDD fast gleich groß
Redundanz
TRUE
16
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Beobachtung
Unterschiede nach Vereinigung:
CDD/CRD fast gleich groß
Mehrere Identische Teile beim CRD
2 Pfade beim CRD / 3 Pfade beim CDD
Experimente bestätigen diese Beobachtungen
Zustandsmengenexplosion bei CDDs mit zunehmender Anzahl
Clocks
17
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Zusammenfassen CRD
Vereinfachen nach Vereinigung
Gleiche Teile
Zusammenfassen
0-X
0-X
11
22
X -X-0
0
X X-0
-0
33
X
X
1,2
X
2,3
0-Y
0-Y
0-Y
0-Y
2,3
2
Y
Y
2,3
TRUE
2
1
1
Y
Y-0
2,3
3
Y-0
Y-0
1,2
3
3
TRUE
TRUE
18
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Darstellung von CRDs
Weitere Optimierungen möglich:
Variablenordnung (Clock-Reihenfolge)
Zone-Containment
Kaskadieren: Graph an bestimmten Stellen erweitern
Dadurch Zone-Containment Ermittlung einfacher
Weiterer Punkt: Kombination CRD / BDD
19
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
CRD und BDD
CRD kombinierbar mit BDD, wenn:
BDD hat nur TRUE-Endknoten
Operatoren wie Schnitt, Vereinigung bei CRD
Entsprechend and bzw. or bei BDD
Beispiel:
A B
A
A
f
f
t
B
t
TRUE
t
t
f
FALSE
B
TRUE
20
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Kombiniert
A
f
t
B
t
0-X
1
A
f
t
B
t
0-X
X-0
*
=
3
0-Y
2
TRUE
1
X-0
3
0-Y
2
Y-0
3
Y-0
3
TRUE
TRUE
21
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Zusammenfassung
Schwerpunkt Modelchecker RED
Beispiel Clock-Zones
Vergleich: Datenstrukturen CRD vs. CDD
Darstellungsform
Modifikation
Effizienz
22
UNIVERSITÄT PADERBORN
SOFTWARE ENGINEERING GROUP
Die Universität der Informationsgesellschaft
Fazit
RED
Schwerpunkt Lehre - Forschung
Theoretischer Schwerpunkt
Aktive Weiterentwicklung
Problematisch
Einsatz im kommerziellen Bereich schwierig
Wenig Dokumentation
Webseiten wenig hilfreich:
http://cc.ee.ntu.edu.tw/~farn/red/
http://cc.ee.ntu.edu.tw/~farn/
23
Herunterladen