Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harel‘s „Statecharts: A Visual Formalism for Complex Systems“, Science of Computer Programming 8 (1987)] Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 1 Überblick Einleitung Motivation Statecharts 1. 2. 3. Superstates Orthogonalität erweiterte Transitionen 1. 2. 3. 4. 5. Szenario: Fahrradcomputer Zusammenfassung Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 2 1. Einleitung Transformationales System System „Gebilde, dessen Elemente sich als Einheit von der Umwelt abgrenzen“ Reaktives System Def. nach Wikipedia (03.05.2006) Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 3 1. Einleitung Klassische Zustands-Ereignis-Diagramme: Deterministischer Endlicher Automat Moore-Automat Harald Detering Mealy-Automat Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 4 2. Motivation Defizite klassischer Zustands-Diagramme: Gruppierung / Verfeinerung von Zuständen Darstellen der Unabhängigkeit von Zuständen Allgemeinere Transitionen Vielzahl von Zuständen, da „flach“ Zur Beschreibung komplexer, reaktiver Systeme ungeeignet! Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 5 3. Statecharts Entwickelt von David Harel in 1984 1978 Habilitation am Massachusetts Institute (seit 1980 am Weizmann Institute of Science) of Technology Fachgebiete: Komplexität Dynamische Logik Datenbanktheorie Automatentheorie Visuelle Programmierung (MDD) Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 6 3. Statecharts „Statecharts = Zustandsdiagramme + Tiefe + Orthogonalität + Broadcast-Kommunikation“ Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 7 3. Statecharts Notation: Default Zustand A Transition a Ereignis B Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 8 3. Statecharts wesentliche Merkmale: 1. 2. 3. Superstates Orthogonalität (Unabhängigkeit) Erweiterte Transitionen Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 9 3.1 Superstates Zustände können ineinander geschachtelt werden Ermöglichen Gruppierung und Verfeinerung von Zuständen Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 10 3.1 Superstates Weiterer Vorteil: Zoom-In / -Out möglich Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 11 3.2 Orthogonalität Darstellung der Nebenläufigkeit, Unabhängigkeit von Zuständen: • Konfiguration = Kombination aus Zuständen aller Substates • Nebenläufige States können Bezug aufeinander nehmen Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 12 3.3 erweiterte Transitionen Transitionen erweitert um Historie Beim Eintritt in einen Zustand wird in den letztbesuchte Unterzustand gesprungen Aktionen Transitionen können selbst Ereignisse auslösen, die von allen anderen Zuständen wahrgenommen werden ( Broadcast-Kommunikation) Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 13 3.3 erweiterte Transitionen Transitionen erweitert um Bedingungen Transition wird nur dann ausgeführt, wenn best. Bedingung zutrifft Selektion Auswahl eines Unterzustandes aufgrund eines Selektionskriteriums Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 14 4. Szenario b c Funktionen: Tageskilometer Fahrzeit durchschn. km/h max. km/h Uhrzeit Kilometer gesamt Fahrzeit gesamt a Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 15 4. Szenario Resultierender Statechart: Sigma BC 1106 Display 15 min. keine Aktion aktiv Standby a a OR i (in Rechner.stop) Rechner Tages-km run a Gesamtzeit Fahrzeit a a a Harald Detering stop durchschn. km/h gesamt km Uhrzeit 2 Sek. kein i i a a max. km/h Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 16 5. Zusammenfassung Stärken: Graphische Beschreibung komplexer Systeme Schwächen: schwerer formalisierbar als „klassische“ Zustandsautomaten Widersprüche/Zyklen möglich Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 17 5. Zusammenfassung Hat in einer Variante Einzug in die UML gefunden („UML-Statechart“) diverse Tools: Rhapsody Statemate Poseidon 1997: Weiterentwicklung „Objektorientierte Statecharts“ Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 18 Fragen? Harald Detering Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 19