close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

C

EinbettenHerunterladen
Zustandsmaschinen
Statecharts
Beispiel
Zustandsmaschinen
Statecharts
Beispiel
Was machen wir heute?
Methodische- und Praktische Grundlagen
der Informatik 3 – Softwaretechnik
WS 0809
Steffen Helke
➜ Beschreibung reaktiver Systeme
¨
Andreas Mertgen, Georgy Dobrev (Leitung Ubungsbetrieb)
➜ Von Zustandsmaschinen zu Statecharts
Rojahn Ahmadi, Daniel G´
omez Esper´
on, Simon Rauterberg, Jennifer Ulrich
➜ Beispiel von David Harel: Digitale Uhr
Fachgebiet Softwaretechnik
Technische Universit¨
at Berlin
Zustandsmaschinen
Statecharts
Systemklassifikation nach Verhalten
Transformationelle Systeme
Komplexe Datenstrukturen und Dateninvarianten
Ein-Ausgabe Transformationen im Vordergrund
Beispiele: Sortieralgorithmus, Bibliotheksverwaltung, Compiler
Relativ gut verstanden; viele Methoden; z.B. Fusion.
Reaktive Systeme
Kontinuierliche Reaktion auf externe und interne Ergeinisse
Zeitabh¨angige Reaktionen
Zustandswechsel durch Ereignisse
Beispiele: TV-Bedienung, Kesselsteuerung, Airbussoftware
Relativ schlecht verstanden; wenig praxisnahe Methoden.
Beispiel
Zustandsmaschinen
Statecharts
Beispiel
Beschreibung Reaktiver Systeme mit Zustandsmaschinen
S
E (C) / A
T
S, T: Systemzust¨ande, E : Ereignis, A: Aktion, C : Bedingung
Beispiel: Fernbedienung
S Fernbedienung auf Kanal 35.
E Dr¨
ucken der Taste zum Weiterschalten
A Aussenden eines Infrarotsignals
T Fernbedienung auf Kanal 36.
Zustandsmaschinen
Statecharts
Beispiel
Zustandsmaschinen
Beispiel: Dampfkesselsteuerung
Statecharts
Beispiel: Airbussoftware
S Pumpen in Betrieb
S Flugzeug im Steigflug
E Aktueller Wasserstand wird gelesen
E Aktuelle Flugh¨
ohe wird gelesen
C Wasserstand u
¨berschreitet Limit
A Abschaltsignal an Pumpen
C Reiseflugh¨
ohe erreicht
T Pumpen ausser Betrieb.
T Flugzeug im Normalflug.
Zustandsmaschinen
Statecharts
Bewertung
Beispiel
A Signal an Steuerklappen
Beispiel
Zustandsmaschinen
Statecharts
Beispiel
Statecharts
+ Graphisch klare Notation
+ Intuitive Semantik
+ Realistisches Modell
+ Gut erforschte Theorie
- Keine Hierarchie
- Keine Modularit¨at
- Zustandsexplosion
Abhilfe durch Erweiterungen: → Statecharts
Entwickelt Mitte der 80’er Jahre von D.Harel (Weizmann
Institut)
Ausgangspunkt: Zustandsmaschinen
Erweiterungen:
Hierarchische Komposition von Zust¨anden (XOR-Komposition)
Parallele Komposition von Zust¨anden (AND-Komposition)
Broadcasting
Zustandsmaschinen
Statecharts
Beispiel
Zustandsmaschinen
Hierarchische Komposition
Statecharts
Beispiel
V
V
S
a
b
a
S
U
S
b
c (P)
T
V
T
b
d
b
First sketch
S
a
Equivalent state machine
using XOR-composition
b
V ist eine Abstraktion von S und U
→ Schrittweise Verfeinerung m¨oglich
T
U
Statecharts
Beispiel
U
a
S
b
c (P)
Statecharts
Beispiel: Citizen Quartz Multi Alarm III
V
T
b
d
Introduction of additional arrows
Zustandsmaschinen
Default Zust¨ande
a
c (P)
d
Refinement of arrows
S
T
V
S
Zustandsmaschinen
b
Refinement of state
V
Basic state machine
T
d
T
d
U
U
b
d
a
c (P)
a
a
d
U
U
Funktionen:
b
c (P)
d
T
!
a
!
AM
12
12 : 31
b
Zeitangabe
c
Stundenbeep, Beepertest
d
Zwei unabh¨angige Alarme
Stopuhr
Indication of default states
Licht, Stromschw¨acheanzeige
Beispiel
Zustandsmaschinen
Statecharts
Beispiel
Zustandsmaschinen
Statecharts
¨
Uberg
¨ange zwischen Anzeigen und Weckern
Beispiel
¨
Uberg
¨ange zwischen Anzeigen
alarms-beep
T hits T1 (P1)
displays
alarm1
beeps
any buttons pressed
displays
d
d
2 min in date
time
30 sec in alarms-beep
alarm2
beeps
a
T hits T2 (P2)
both
beep
T hits T1 (P)
stopwatch
date
a
a
chime
a
alarm1
a
alarm2
T: interne Zeit; T1, T2: Einstellungen der beiden Wecker
P1: alarm1enabled ∧ (alarm2disabled ∨ T 1 = T 2)
P2: alarm2enabled ∧ (alarm1disabled ∨ T 1 = T 2)
P: alarm1enabled ∧ alarm2 = enabled ∧ T 1 = T 2
Zustandsmaschinen
Statecharts
Beispiel
Zustandsmaschinen
Statecharts
History Connector (1)
Idee: Auswahl des Eintrittzustandes anhand der
“Systemgeschichte”.
a
a
History Connector (2)
H*: Auswahl bis in die unterste Zustandsebene
K
K
H
G
alarm1
alarm1
A
H
off
d
F
on
H
G
C
A
the two states and enter ‘off’ , if
you are here for the first time.
F
C
D
d
d
B
E
D
B
E
on
(a)
Enter the most recently visited of
*
H
off
d
Beispiel
Equivalent notation
(a): System w¨ahlt nur zwischen G und F
(b): System w¨ahlt zwischen {A, B, C , D, E }
(b)
Zustandsmaschinen
Statecharts
Beispiel
¨
Verfeinerung: Uberg
¨ange zwischen den Anzeigen
2 sec in wait
wait
update
c
mon
hr
time
c
a
date
a
alarm2
H
off
d
d
on
off
d
d
day
year
c
d
c
mode
b
time
on
c
b
update2
Zustandsmaschinen
1
min
c
H
a
on
b
c
10
min
alarm1
H
a
off
d
c
c
a
chime
sec
d
2 min in date
stopwatch
wait
date
d
c
H
c
d
update1
Statecharts
Beispiel
Zustandsmaschinen
Transitionen aus Unterzust¨anden
Statecharts
Verfeinerung: Aktualisierung von Wecker 1
alarm1
c
update
b
update
c
incorrect
Beispiel
2 sec
in wait
update
c
b
Statecharts
Verfeinerung: Aktualisierung von Zeit und Datum
H *
^
c
Zustandsmaschinen
b
c
correct
c
b
update1
1
min
H
c
d
10
min
c
hr
Beispiel
Zustandsmaschinen
Statecharts
Beispiel
Zustandsmaschinen
Statecharts
Beispiel
Parallele Komposition
Y
K
L
m
S
U
a
b (in )
m
c
T
S,U
W
d
V
S,V
c
a
a
a
d
S,W
a
b
c
T,U
Y ist Kreuzprodukt von K und L
Y hat 6 Zust¨ande (2 × 3)
Ohne parallele Komposition: exponentielles Zustandswachstum
a
m
T,V
T,W
d
¨
Aquivalente
Beschreibung von Y ohne parallele Komposition
Zustandsmaschinen
Statecharts
Beispiel
Schnittstelle einer parallelen Komposition
X1
X2
d
h (in S)
n
K
L
S
U
W
T
V
w
H
a
t
Y1
b
e
Y2
Document
Kategorie
Technik
Seitenansichten
2
Dateigröße
164 KB
Tags
1/--Seiten
melden