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