Modelchecker – RED Tool: Region-Encoding Diagram Stefan Neumann
2 S OFTWARE E NGINEERING G ROUP Agenda Einführung in RED Grundlagen kontinuierliche Modelle Darstellung kont. Modelle CDD / CRD Zusammenfassung / Fazit
3 S OFTWARE E NGINEERING G ROUP 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:
4 S OFTWARE E NGINEERING G ROUP Schwerpunkt/Ausrichtung Diskrete Systeme Kontinuierliche Systeme Hybride Systeme Train-Gate-Control, modellierbar in RED Diskrete Teile Kontinuierliche Teile Hybride Teile DiskretKontinuierlich Hybrid
5 S OFTWARE E NGINEERING G ROUP RED im Überblick Rückwärts- und Vorwärtsanalyse Automatische Erkennung: Diskret Kontinuierlich Hybrid => Verwendung unterschiedlicher Datenstrukturen Auffinden von Gegenbeispielen Heuristiken zur Variablenordnung
6 S OFTWARE E NGINEERING G ROUP Motivation des Vortrags Orientierung im theoretischer Bereich Kontinuierliche / Hybride Systeme Vortrag konzentriert sich auf die Theorie Teilbereich: Datenstrukturen zur Darstellung kontinuierlicher Systeme
7 S OFTWARE E NGINEERING G ROUP Grundlagen – Kontinuierliche Systeme – Timed Automata Bestandteile Timed Automata: Endlicher Graph Endliche Menge von clocks X Graph besteht aus: Locations (Orte) Kanten X:x 1,...,x n
8 S OFTWARE E NGINEERING G ROUP Timed Automata - Aufbau Locations: Haben Invarianten Solange Invariante erfüllt, kann in verweilt werden Kanten: Schalten in Nullzeit Mit Bedingung versehen Können Clocks zurücksetzen S 1 x1000 x x0 S 2 x:0 S 1 Location hat Invariante : x1000 S 1
9 S OFTWARE E NGINEERING G ROUP Darstellung von Bereichen / Clock-Regions Fragestellung: Ist der Wert innerhalb einer Region? Schwierigkeiten: Effiziente Darstellung Effiziente Modifikation y x X32 Y3
10 S OFTWARE E NGINEERING G ROUP Mögliche Darstellungform BDD – artige Darstellungsformen, Vorteile: Platzeffizient (Reduzierbar, Variablenordnung) Effiziente Modifizierung möglich von z. B.: BDD ähnliche Formen Typisch, Variablen in den Knoten Kanten mit Bedingungen / Verschiedene Formen X Y 1X3 Mögliche Kantenbeschriftung Intervalldarstellung: Ungleichung: 1,3 13
11 S OFTWARE E NGINEERING G ROUP Lösung - CDD CDD – Clock Difference Diagram Effiziente Darstellungsform Kantenbeschriftung: Intervallgrenzen 1,3 X Y TRUE 2,3 y x
12 S OFTWARE E NGINEERING G ROUP RED – Darstellungsform CRD CRD – Clock-Restriction-Diagram y x X32Y3 Formel umstellen zu: 0-X X – 0 0-Y Y-0 TRUE X1,X03 0Y2,Y03
13 S OFTWARE E NGINEERING G ROUP 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
14 S OFTWARE E NGINEERING G ROUP Manipulation (CDD/CRD) Vereinigung von zwei Clock-Regions 1X32Y3 Zu beobachten Darstellungsgröße Darstellungsform 2X31Y3 y x
15 S OFTWARE E NGINEERING G ROUP Vereinigung CDD 1X32Y3 y x Stichwort: Fragmentierung 2X31Y3 1,2 TRUE Y XXX YY 2,3 1,2
16 S OFTWARE E NGINEERING G ROUP Vereinigung CRD Beobachtung Nur zwei Pfade CRD und CDD fast gleich groß Redundanz y x X X Y Y-0 TRUE X Y Y X TRUE 0-X X Y Y-0 TRUE X Y Y
17 S OFTWARE E NGINEERING G ROUP 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
18 S OFTWARE E NGINEERING G ROUP Zusammenfassen CRD Vereinfachen nach Vereinigung Gleiche Teile Zusammenfassen 0-X X-0 0-Y Y-0 TRUE X-0 0-Y Y ,2 TRUE Y XXX YY 2,3 1,2 0-X X Y Y-0 TRUE X Y 3 1 2
19 S OFTWARE E NGINEERING G ROUP 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
20 S OFTWARE E NGINEERING G ROUP 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: AB A B t f f t TRUEFALSE A B t f t TRUE
21 S OFTWARE E NGINEERING G ROUP Kombiniert 0-X X Y Y-0 TRUE A B t f t A B t f t 0-X X Y Y-0 TRUE * =
22 S OFTWARE E NGINEERING G ROUP Zusammenfassung Schwerpunkt Modelchecker RED Beispiel Clock-Zones Vergleich: Datenstrukturen CRD vs. CDD Darstellungsform Modifikation Effizienz
23 S OFTWARE E NGINEERING G ROUP Fazit RED Schwerpunkt Lehre - Forschung Theoretischer Schwerpunkt Aktive Weiterentwicklung Problematisch Einsatz im kommerziellen Bereich schwierig Wenig Dokumentation Webseiten wenig hilfreich: