2.4.3 Zustandsgraphen Folie 2-1+45 Paradigma der Zustandsmodellierung Zustandsmodellierung betrachtet ein System als Zustandsautomaten beschreibt die Zerlegung in Zustände und Zustandsübergänge orientiert sich an der Theorie der Automaten Darstellungsmittel: Zustandsübergangsdiagramm, Zustandsübergangsmatrizen(SEM) Statechart (hierarchischer Automat) Entscheidungstabelle Petri-Netz Entscheidungsbäume Entscheidungsnetzwerke u. a. Quelle: nach Hußmann, H.: Vorlesungsskript "Softwaretechnologie II"; WS97/98, Fak. Informatik der TU Dresden Folie 2-2+45
Endliche deterministische Zustandsautomaten Mit ihnen wird das interne oder externe Verhalten diskreter, dynamischer Systeme auf der Basis aktueller oder vergangener Ereignisse erklärt. Sequentielle Maschine I endliche Menge der möglichen Inputs O endliche Menge der möglichen Outputs Kombinatorische Maschine (Spezialfall) (I, O, Z, f, g, z o ) (I, O, f) endl. Schaltwerk mit Gedächtnis Z endl. Menge der möglichen Zustände (Zustandsraum) f: I x Z Z (Zustandsübergangsfunktion) g: I x Z O (Ausgabefunktion) z Z Anfangszustand o c Dargestellt z.b. mit: Zustandsübergangsdiagramm (STD) ohne Gedächtnis, d. h. unabhängig von Zuständen f: I O Ausgaben nur von Eingaben abhängig Dargestellt z.b. mit: Entscheidungstabelle (DT) Folie 2-3+45 Notationsformen von Zustandsmodellen Zustandsmodell Zustand Anf.zustand Transition Mealy- Automat Zustand Ereignis, [Bedingung]/ Aktion, Aktion,... Endzustand Moore- Automat Zustand/Aktion, Aktion,...[Bed.] Ereignis Zustands- Ereignis- Matrix (Bsp. Mealy) je eine Zeile auslös. Ereignis je eine Spalte Matrix-Elemente Aktion, Folgezust. Statechart Higraph (Mealy od. Moore) Petrinetz komplexer hierarchischer Zustand Stelle, (Bedingung) Zustand Objekte, Marken Ereignis, [Bedingung]/ Aktion, Aktion,... Ereignis Aktion, Aktion,... Folie 2-4+45
Mealy-Automat: Zustandsübergangsdiagramm- (Dynamisches System Beispiele zur Steuerung einer Heizung) 1 Moore-Automat: Start / starte "heizen" 2 Temperatur erreicht / starte "gleichhalten"; stoppe "heizen" Heizend Stop / stoppe "heizen" Stop / stoppe "gleichhalten" 3 Gleichhaltend 1 /stoppe "heizen"; stoppe "gleichhalten" Start 2 Stop Heizend/"heizen" Stop Temperatur erreicht 3 Gleichhaltend/starte "gleichhalten ; stoppe "heizen Folie 2-5+45 Beispiel einer Zustands-Ereignisoder auch State Matrix Event Matrix (SEM) Gleiches dynamisches System zur Steuerung einer Heizung: Heizend Gleichhaltend Start starte "heizen" / Heizend Temperatur erreicht starte "gleichhalten"; stoppe "heizen" / Gleichhaltend Stop stoppe "heizen "/ stoppe "gleichhaltend" / Vergleich STD und SEM STD bietet graphische Anschaulichkeit mit Anzeige des Anfangszustandes SEM ist durch Matrizenstruktur bei größeren Systemen geordneter SEM kann mit erläuternden Kommentaren in den Matrixelementen versehen werden. Beide Darstellungsarten sind weitgehend äquivalent und können ineinander überführt werden. Folie 2-6+45
Beispiel eines grundlegenden Statecharts Grundlage Higraphen: nach Mealy oder Moore Erweiterung gerichteter Graphen um (1) strukturierte Knotenmengen mit Zustandsgeneralisierung: -Mengenvereinigung (XOR) -karthesischem Produkt (AND) (2) mehrstellige Relationen durch Verbinden -komplexer Knotenmengen -deren Teilmengen sowie Belegung der (3) Knoten Zustand (4) Menge von Knoten komplexer Zustand (5) Pfeile Ereignisse Prädikate (Bed.) Aktionen A f [in(g)] B C H e n Y D E G g h e 5 sec e I F m p AND-Operator (gestrichelte Linie) modelliert Nebenläufi gkeit der Zustände A und D innerhalb des komplexen Zustandes Y. Synchronisation durch Transitionen, die auf gleiches Ereignis reagieren. Quelle: [2, S. 277] STD-Prüfungen mit Werkzeugen Folie 2-7+45 Ein STD zeigt die Systemzustände (Knoten) und die sie beeinfl ussenden Kontrollsignale (Zweige). Folgende Kriterien sind werkzeuggestützt überprüfbar: Regeln für das Aufstellen von STD: Jeder Zustand muss einen Namen haben. An die Transition wird das den Wechsel bewirkende Ereignis und die infolge des Zustandswechsels auszuführende eine oder mehrere Aktionen notiert (Mealy Automat). Jeder Zustand muss mindestens eine Eingangs- und eine Ausgangstransition besitzen. Es ist nur eine Eingangs-Transition zulässig. Die Eingangs-Transition muss nicht beschriftet werden. Der Anfangszustand besitzt eine Transition ohne Quelle aber mit Ziel in einen der Zustände. Transitionen ohne Ziel sind zulässig (Ende-Zustand impliziert). Balanceregeln zwischen STD und CSPEC: Jeder Eingabekontrollfl uß des Bar muss als Ereignis auftreten. Jeder Ausgabekontrollfl uß des Bar muss als Aktion auftreten. Folie 2-8+45
2.4.4 Entscheidungstabellen Syntax von oder auch Decision Table (DT) Entscheidungstabellen Tabellarische Darstellung des Verhaltens einer kombinatorischen Maschine, indem den Inputs (Bedingungen, Ereignisse) und ihren möglichen Ausprägungen die zugehörigen Outputs (Aktionen) zugeordnet werden. Folie 2-9+45 Beispiel einer DT: Gewähren eines Kredites Bedingungsanzeiger bzw. Regeln Bedingungen (Inputs) Aktionen (Outputs) Kreditgrenze überschritten ja ja ja ja nein nein nein nein Eigenfi nanz. ausreich. ja ja nein nein ja ja nein nein Belastung zumutbar ja nein ja nein ja nein ja nein Kredit gewähren 1 1 Kredit nicht gewähren 1 1 1 1 Vorlage neuer Konditionen 1 1 Aktionsanzeiger Folie 2-10+45
Aufstellen und wkz.gest. Prüfung von DT Vorgehen: 1) Aufstellen der Aktionen: mögliche Outputs (Ereignisse, Maßnahmen, Prozesse) des Systems 2) Aufstellen der Bedingungen (Eingangsereignisse), zu denen Aktionen auftreten 3) Expansion der vollständigen Bedingungsanzeiger durch Kombination mit Aktionszuordnung (n Beding.--> 2 Regeln) n 4) Optimierung der vollständigen DT durch Eliminieren redundanter Regeln, Aktionen bzw. Bedingungen Schritt 4) am Beispiel: Erweiterung: Mit ganz. Werten für Aktionsanzeiger kann Reihenfolge des Aktionsaufrufs gesteuert werden. Kreditgrenze überschritten - - - Eigenfi nanz. ausreich. ja - nein Belastung zumutbar ja nein ja Kredit gewähren 1 Kredit nicht gewähren 1 Vorlage neuer Konditionen 1 Folie 2-11+45