Prof. Dr. Liskowsky; Vorlesung Software-Entwicklungswerkzeuge; WS 07/08 2.4.3 Zustandsgraphen Folie 2 -1+45 Prof. Dr. Liskowsky; Vorlesung Software-Entwicklungswerkzeuge; WS 07/08 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 Prof. Dr. Liskowsky; Vorlesung Software-Entwicklungswerkzeuge; WS 07/08 Endliche deterministische Zustandsautomaten Mit ihnen wird das interne oder externe Verhalten diskreter, dynamischer Systeme auf der Basis aktueller oder vergangener Ereignisse erklärt. Kombinatorische Maschine (Spezialfall) Sequentielle Maschine (I, O, Z, f, g, zo ) (I, O, f) I endliche Menge der möglichen Inputs O endliche Menge der möglichen Outputs 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 oc ohne Gedächtnis, d. h. unabhängig von Zuständen f: I O Ausgaben nur von Eingaben abhängig Z Anfangszustand Dargestellt z.B. mit: Zustandsübergangsdiagramm (STD) Dargestellt z.B. mit: Entscheidungstabelle (DT) Folie 2 -3+45 Prof. Dr. Liskowsky; Vorlesung Software-Entwicklungswerkzeuge; WS 07/08 Notationsformen von Zustandsmodellen Zustandsmodell Zustand MealyAutomat Zustand MooreAutomat Zustand/Aktion, Aktion,...[Bed.] ZustandsEreignisMatrix je eine Zeile (Bsp. Mealy) Statechart Higraph (Mealy od. Moore) komplexer hierarchischer Zustand Anf.zustand Transition Endzustand Ereignis, [Bedingung]/ Aktion, Aktion,... Ereignis auslös. Ereignis je eine Spalte Matrix-Elemente Aktion, Folgezust. Ereignis, [Bedingung]/ Aktion, Aktion,... Stelle, (Bedingung) Petrinetz Zustand Objekte, Marken Ereignis Aktion, Aktion,... Folie 2 -4+45 Prof. Dr. Liskowsky; Vorlesung Software-Entwicklungswerkzeuge; WS 07/08 Zustandsübergangsdiagramm(Dynamisches System zur Steuerung einer Heizung) Beispiele Mealy-Automat: Ruhend 1 Stop / stoppe "heizen" Start / starte "heizen" Heizend 2 Temperatur erreicht / starte "gleichhalten"; stoppe "heizen" Moore-Automat: 1 3 Stop / stoppe "gleichhalten" Gleichhaltend Ruhend/stoppe "heizen"; stoppe "gleichhalten" Stop Start Stop 2 Heizend/"heizen" Temperatur erreicht 3 Gleichhaltend/starte "gleichhalten“; stoppe "heizen“ Folie 2 -5+45 Prof. Dr. Liskowsky; Vorlesung Software-Entwicklungswerkzeuge; WS 07/08 Beispiel einer Zustands-Ereignisoder auch State Event Matrix (SEM) Matrix Gleiches dynamisches System zur Steuerung einer Heizung: Start Ruhend Heizend Gleichhaltend Temperatur erreicht Stop starte "heizen" / Heizend starte "gleichhalten"; stoppe "heizen "/ stoppe "heizen" / Ruhend Gleichhaltend stoppe "gleichhaltend" / Ruhend 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 Prof. Dr. Liskowsky; Vorlesung Software-Entwicklungswerkzeuge; WS 07/08 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 Y A D B E 5 sec f [in(G)] e g F h C e G n m p e H I 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] Folie 2 -7+45 Prof. Dr. Liskowsky; Vorlesung Software-Entwicklungswerkzeuge; WS 07/08 STD-Prüfungen mit Werkzeugen 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 Prof. Dr. Liskowsky; Vorlesung Software-Entwicklungswerkzeuge; WS 07/08 2.4.4 Entscheidungstabellen Folie 2 -9+45 Prof. Dr. Liskowsky; Vorlesung Software-Entwicklungswerkzeuge; WS 07/08 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. Beispiel einer DT: Gewähren eines Kredites Bedingungsanzeiger bzw. Regeln Bedingungen (Inputs) Kreditgrenze überja schritten Eigenfi nanz. ausreich. ja Belastung zumutbar Kredit gewähren Aktionen (Outputs) Kredit nicht gewähren Vorlage neuer Konditionen ja ja ja nein ja ja nein nein ja nein 1 nein nein nein nein ja ja ja nein nein nein ja nein 1 1 1 1 1 1 1 Aktionsanzeiger Folie 2 -10+45 Prof. Dr. Liskowsky; Vorlesung Software-Entwicklungswerkzeuge; WS 07/08 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 n Regeln) 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. Belastung zumutbar Kredit gewähren Kredit nicht gewähren Vorlage neuer Konditionen ja ja nein nein ja 1 1 1 Folie 2 -11+45