230 likes | 297 Views
Stefan Neumann. Modelchecker – RED Tool:“ Region-Encoding Diagram”. Agenda. Einführung in RED Grundlagen kontinuierliche Modelle Darstellung kont. Modelle CDD / CRD Zusammenfassung / Fazit. Modelchecker RED. Entstanden: Dept. of Electrical Engineering National Taiwan University
E N D
Stefan Neumann Modelchecker – REDTool:“Region-Encoding Diagram”
Agenda Einführung in RED Grundlagen kontinuierliche Modelle Darstellung kont. Modelle CDD / CRD Zusammenfassung / Fazit
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
Schwerpunkt/Ausrichtung Diskrete Systeme Kontinuierliche Systeme Hybride Systeme Diskret Kontinuierlich Hybrid • Train-Gate-Control, modellierbar in RED • Diskrete Teile • Kontinuierliche Teile • Hybride Teile
RED im Überblick • Rückwärts- und Vorwärtsanalyse • Automatische Erkennung: • Diskret • Kontinuierlich • Hybrid • => Verwendung unterschiedlicher Datenstrukturen • Auffinden von Gegenbeispielen • Heuristiken zur Variablenordnung
Motivation des Vortrags • Orientierung im theoretischer Bereich • Kontinuierliche / Hybride Systeme • Vortrag konzentriert sich auf die Theorie • Teilbereich: Datenstrukturen zur Darstellung kontinuierlicher Systeme
Grundlagen – Kontinuierliche Systeme – Timed Automata Bestandteile Timed Automata: Endlicher Graph Endliche Menge von clocks X X : x , ... , x 1 n • Graph besteht aus: • Locations (Orte) • Kanten
Location hat Invariante : S 1 S S x 1000 1 1 x 1000 x : 0 x 1000 S 2 x 0 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
y 3 1 X 3 2 Y 3 2 x 3 1 Darstellung von Bereichen / Clock-Regions • Fragestellung: Ist der Wert innerhalb einer Region? • Schwierigkeiten: • Effiziente Darstellung • Effiziente Modifikation
X Y 1 X 3 1,3 1 3 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 • Mögliche Kantenbeschriftung • Intervalldarstellung: • Ungleichung:
X 1,3 Y y 2,3 3 TRUE 2 x 1 3 Lösung - CDD • CDD – Clock Difference Diagram • Effiziente Darstellungsform • Kantenbeschriftung: Intervallgrenzen
0-X 1 X – 0 3 1 X 3 2 Y 3 0-Y 2 Y-0 0 X 1 , X 0 3 3 0 Y 2, Y 0 3 TRUE RED – Darstellungsform CRD • CRD – Clock-Restriction-Diagram y 3 2 x 1 3 Formel umstellen zu:
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
Manipulation (CDD/CRD) 2 1 X X 3 3 1 2 Y Y 3 3 y 3 2 x 3 1 • Vereinigung von zwei Clock-Regions • Zu beobachten • Darstellungsgröße • Darstellungsform
2 X 3 1 Y 3 X X X y 1,2 2,3 2,3 3 1 X 3 2 Y 3 Y Y Y 2 2,3 2,3 1,2 TRUE x 3 1 Vereinigung CDD Stichwort: Fragmentierung
0-X 0-X 2 0-X 1 1 2 X - 0 X - 0 X - 0 X - 0 3 3 y 3 3 0-Y 0-Y 3 2 1 0-Y 0-Y 2 2 1 Y-0 Y-0 Y-0 Y-0 3 3 TRUE TRUE 3 3 x 3 1 TRUE Vereinigung CRD • Beobachtung • Nur zwei Pfade • CRD und CDD fast gleich groß • Redundanz
Experimente bestätigen diese Beobachtungen • Zustandsmengenexplosion bei CDDs mit zunehmender Anzahl Clocks Beobachtung • Unterschiede nach Vereinigung: • CDD/CRD fast gleich groß • Mehrere Identische Teile beim CRD • 2 Pfade beim CRD / 3 Pfade beim CDD
0-X 1 2 0-X 1 2 X-0 X-0 X - 0 X - 0 3 3 X X X 3 3 0-Y 0-Y 1,2 2,3 2,3 0-Y 0-Y 2 1 Y Y Y 2 1 2,3 2,3 1,2 Y-0 Y-0 TRUE Y-0 3 3 TRUE TRUE Zusammenfassen CRD • Vereinfachen nach Vereinigung • Gleiche Teile • Zusammenfassen
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
A B Beispiel: A f A t f B t t f B t TRUE FALSE TRUE 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
A f t B t 0-X 0-X 1 1 X - 0 X - 0 3 3 A 0-Y 0-Y f 2 2 t B Y-0 Y-0 t 3 3 TRUE TRUE TRUE Kombiniert = *
Zusammenfassung • Schwerpunkt Modelchecker RED • Beispiel Clock-Zones • Vergleich: Datenstrukturen CRD vs. CDD • Darstellungsform • Modifikation • Effizienz
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/