sew-02f2-zustandsgra..

Werbung
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
Herunterladen