Kein Folientitel

Werbung
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.3
Feb 2012
Realzeit-Modellierung
Inhalt
• Übersicht
• Datenflussdiagramm (erweitert)
– Kontrollfluss
– Kontroll-Spezifikation
• Entscheidungstabelle
• Zustandsdiagramm
• Alternative Ablaufbeschreibungen (standardisierte Diagramme):
– Flussdiagramm (Programmablaufplan, flowchart) nach DIN 66001)
– Aktivitätsdiagramm (activity diagram) nach der UML
Christoph Riewerts
Seite 1
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.3
Feb 2012
Realzeit-Modellierung
Übersicht
Kontext
Diagramm
Erweiterte Legende:
0
Kontrollfluss
Kontroll-Spezifikation
(CSpec)
DFD 0
1
3
2
DFD 1
Zustandsdiagramm (CSpec)
DFD 2
1.1
2.1
1.2
2.2
2.3
Entscheidungstabelle (CSpec)
Data
Dictionary
- Datenflüssen und Bestandteilen davon
Definition von: - Kontrollflüssen und Bestandteilen davon
- Dateien / Datenbanken und Bestandteilen davon
Seite 2
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.3
Feb 2012
Realzeit-Modellierung
Datenflussdiagramm
Die Realzeit-Modellierung ist eine Erweiterung der Strukturierten Analyse und basiert
auf den Arbeiten von Hatley/Pirbhai zum Requirements Model.
Datenflussdiagramme
werden erweitert um:
• Kontrollflüsse und
• Kontroll-Spezifikationen:
• Entscheidungstabelle
• Zustandsdiagramm
Beispiel DFD 0 (Ausschnitt)
Beispiel Kontext-Diagramm
Seite 3
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.3
Feb 2012
Realzeit-Modellierung
Datenflussdiagramm
Der Kontrollfluss ist eine Leitung, auf der diskrete Informationen zur Steuerung/Kontrolle
des Systems transportiert werden.
• Darstellung im Diagramm: gestrichelte Linien mit optionalen Pfeilspitzen
• Namensvergabe: Substantiv im Singular, möglichst mit Verb im Partizip
• Beispiele: System aktiviert, Funktion beendet, Taste gedrückt, Flugzeug steigend
Kontrollflüsse werden im
Gegensatz zu den
Datenflüssen nicht in den
Prozessen, sondern in den
Kontroll-Spezifikationen (z.B.
ET = Entscheidungstabelle)
verarbeitet.
Seite 4
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.3
Feb 2012
Realzeit-Modellierung
Datenflussdiagramm
Die Kontroll-Spezifikation (CSpec) dient zur Verarbeitung von diskreten Kontrollflüssen/informationen.
• Darstellung im Diagramm: senkrechter Strich (engl. bar, Barren)
• Namensvergabe: keiner, nur Typkennzeichen
Bedieneingabe
Motor läuft
• Typen von Kontroll-Spezifikationen:
• PAT = Prozess-Aktivierungstabelle
• ET = Entscheidungstabelle
Tempomat
aktiviert
Gang D
eingelegt
• STD = Zustandsdiagramm
• Falls Kontrollflüsse als Ein- oder auch Ausgangsgrößen von Prozessen eingezeichnet
werden, dann nur deshalb, weil sie in den zuständigen DFD's benötigt werden.
• Kontroll-Spezifikationen können komplex aufgebaut sein und aus mehreren
Teil-Spezifikationen bestehen (mehrere ET und STD und PAT)
• zu jedem DFD gibt es genau eine oder keine CSpec ==> dieselbe Ident-Nummer
Seite 5
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.3
Feb 2012
Realzeit-Modellierung
Prozess-Aktivierungstabelle
Die Prozess-Aktivierungstabelle (PAT) zeigt, welche Kontrollflüsse welche Prozesse
starten/beenden.
• In einem CSPEC können nur die Prozesse aktiviert (oder auch terminiert) werden, die im
zugehörigen DFD enthalten sind; d.h., der Analytiker muss die Kontrollflüsse so lange
durch das Modell „schleusen“, bis sie auf dem DFD als Eingangsgröße eines Barrens
erscheinen, wo auch die Prozesse eingezeichnet sind, die es zu aktivieren gilt.
• Beachte: eine PAT hat als Barren in einem DFD keine Ausgänge!
• Beispiel: Wenn K2=1, wird P2 gestartet, wenn K1=1, wird P1 und P3 gestartet
Regel 1
Regel 2
Kontrollfluss K1
"0"
"1"
Kontrollfluss K2
"1"
"0"
PAT
2
K
G
1
E
K1
M
Starte Prozess 1
Starte Prozess 2
K2
3
D
PAT
Starte Prozess 3
Eingabe
X
X
Ausgabe
X
Seite 6
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.3
Feb 2012
Realzeit-Modellierung
Kontroll-Spezifikation
Übung:
Modellieren Sie schematisch ein System, in dem zur Aktivierung der Prozesse 1 und 2.1
der externe Kontrollfluss C1 und zur Aktivierung des Prozesses 2.2 der externe
Kontrollfluss C2 herangezogen werden muss; externe Kontrollflüsse kommen aus dem
Kontext.
Seite 7
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.3
Feb 2012
Realzeit-Modellierung
Entscheidungstabelle
Entscheidungstabelle (ET) als logischer Automat:
Alle Ausgangsgrößen lassen sich durch die derzeitigen Eingangsgrößen herleiten.
Definition (DIN 66241):
Tabellarisches Beschreibungsmittel für formalisierbare Entscheidungsprozesse
Aufteilung der ET in 4 Quadranten und schrittweises Vorgehen:
3. Schritt
2. Schritt
Bedingungen formulieren
Bedingungen
Regeln
Aktionen
Maßnahmen
1. Schritt
Alle formal möglichen
Bedingungskombinationen
(Regeln) aufstellen (Eintragen
von "J" und "N")
Aktionen formulieren
5. Schritt
6. Schritt
Auf Eindeutigkeit und
Vollständigkeit prüfen
Redundanzen verringern
durch Verwendung der
don't-care-Anweisung ("-")
und der ELSE-Regel
4. Schritt
Zu jeder Regel Maßnahmen
definieren (Eintragen von "X")
Seite 8
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.3
Feb 2012
Realzeit-Modellierung
Entscheidungstabelle
Beispiel Zahlenschloss: Bei der Einstellung von drei
Ziffern zwischen 0 und 9 ist das Zahlenschloss nur
geöffnet, wenn die Ziffernfolge 2-5-3 beträgt,
sonst bleibt das Schloss geschlossen.
3
Alle formal möglichen Bedingungskombinationen (Regeln) aufstellen
(Eintragen von "J" und "N")
Bedingungen formulieren
Wahrheitstabelle
Aktionen
formulieren
5
3. Schritt
2. Schritt
1. Schritt
2
R1 R2 R3 R4 R5 R6 R7 R8
1. Ziffer gleich 2
J
J
J
2. Ziffer gleich 5
J
J
N N J
J
3. Ziffer gleich 3
J
N
J
N J
Schloss öffnen
X
X
X X X X X X
Schloss schließen
J
N N N N
N J
N N
N
4. Schritt
Zu jeder Regel
Maßnahmen definieren
(Eintragen von "X")
Seite 9
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.3
Feb 2012
Realzeit-Modellierung
Entscheidungstabelle
Beispiel Zahlenschloss (ff)
R1 R2 R3 R4 R5 R6 R7 R8
Wahrheitstabelle
1. Ziffer gleich 2
J
J
J
2. Ziffer gleich 5
J
J
N N J
3. Ziffer gleich 3
J
N J
Schloss öffnen
X
Schloss schließen
N J
J
Redundanzen verringern
bei DEN Regeln, die dieselben
Aktionen hervorrufen ……
N N
N J
N
… durch Verwendung der ELSE-Regel
R1 R2 R3 R4
1. Ziffer gleich 2
J
-
-
2. Ziffer gleich 5
J
-
N -
3. Ziffer gleich 3
J
N -
Schloss öffnen
X
Schloss schließen
N N N N
X X X X X X X
… durch Verwendung von don't-care ("-")
Entscheidungstab.
J
5. Schritt
N
-
X X X
Entscheidungstab. R1 ELSE
1. Ziffer gleich 2
J
2. Ziffer gleich 5
J
3. Ziffer gleich 3
J
Schloss öffnen
X
Schloss schließen
Felder
bleiben
leer
X
Seite 10
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.3
Feb 2012
Realzeit-Modellierung
Entscheidungstabelle
6. Schritt
Auf Eindeutigkeit und
Vollständigkeit prüfen
Eine ET ist immer vollständig,
wenn sie über die Wahrheitstabelle
entwickelt wird.
ET
R1
R2
R3
R4
Ansteckende Krankheit
j
n
n
n
Besuch außerhalb
Besuchszeit
-
j
j
n
Patient hat Fieber
-
j
n
j
Besuchszeit max. 30 min
Widerspruchsfreiheit und Vollständigkeit
lassen sich formal prüfen, z.B. durch
ein CASE-Tool (INNOVATOR).
Woran erkennt man auf einen Blick,
dass die nebenstehende ET
formal vollständig ist?
Besuch ablehnen
Besuch mit Begleitung
einer Schwester
Besuch in der öffentlichen
Besuchszeit
Else
x
x
x
x
x
Seite 11
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.3
Feb 2012
Realzeit-Modellierung
Zustandsdiagramm
Zustandsdiagramm (STD = state transition diagram) als endlicher Automat:
Alle Ausgangsgrößen lassen sich durch die derzeitigen und vergangenen Eingangsgrößen
herleiten; der somit erforderliche Speicher definiert die Zustände des Automaten.
Zustandsdiagramm enthält vier Komponenten:
•
Zustand, repräsentiert durch ein Rechteck (mit abgerundeten Ecken), das den Namen
des Zustands enthält; der Anfangszustand eines STD's ist extra gekennzeichnet.
•
Zustandsübergang, repräsentiert durch einen Pfeil, dessen Spitze die Richtung des
Übergangs zeigt.
Syntax: Ereignis / Aktion
•
Ereignis, das den Zustandsübergang auslöst
•
Aktion, die beim Zustandsübergang ausgeführt wird
oder
Ereignis
Aktion
Folgendes ist möglich:
•
Ein Zustandsübergang führt wieder zu sich selbst, wenn beim Auftreten des
Ereignisses eine Aktion ausgeführt wird, aber kein Zustandswechsel stattfinden soll.
•
Ein Zustand wird beim Auftreten des Ereignisses gewechselt, ohne dass eine Aktion
ausgeführt wird.
Seite 12
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.3
Feb 2012
Realzeit-Modellierung
Zustandsdiagramm
Beispiel Tresorschloss: Bei der Einstellung der
drei richtigen Ziffern, die das Öffnen des Tresorschlosses
erlauben, kommt es auf die zeitliche Reihenfolge an.
Frage: Aus Sicht eines
endlichen Automaten
hat das
Zustandsdiagramm
3 Eingangsgrößen und
4 Ausgangsgrößen.
Welche sind das?
Seite 13
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.3
Feb 2012
Realzeit-Modellierung
Zustandsdiagramm
Beispiel Tresorschloss (ff): Die Information eines STD’s lässt sich auch mit Hilfe
einer Zustandsübergangsmatrix (SEM = state event matrix) darstellen:
Zustand/Ereignis
Ziffer richtig
Schloss
verriegelt
Schalter1
setzen/
Auf 2.Ziffer
wartend
Ziffer falsch
Auf 2.Ziffer
wartend
Schalter2
setzen/
Auf 3.Ziffer
wartend
Schalter
rücksetzen/
Schloss
verriegelt
Auf 3.Ziffer
wartend
Schalter3
setzen/
Schloss
geöffnet
Schalter
rücksetzen/
Schloss
verriegelt
Schloss geöffnet
Tresor schließen
SEM wird häufig
bei einer großen
Anzahl von
Zustandsübergängen
eingesetzt.
Schalter
rücksetzen/
Schloss verriegelt
Seite 14
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.3
Feb 2012
Realzeit-Modellierung
standardisierte Diagramme
Vorteile bei standardisierten Diagrammen:
• Symbole und Verbindungen/Pfeile sind eindeutig definiert.
• Die verwendeten Symbole sind für den Kontext wichtig.
• Den Anwendern ist die Darstellung bekannt.
Beispiel Flussdiagramm nach DIN 66001 (s. Beispiel):
• Extra-Symbole für Ein- und Ausgabefunktion
• Pfeile kennzeichnen keinen Datenfluss
Beispiel Aktivitätsdiagramm nach der UML:
• Extra-Symbole für Parallelität
• Unterscheidung zwischen Daten- und Kontrollfluss
• Extra-Symbolik für Verantwortungsbereich
Hinweis: Wenn möglich, bei Verwendung der standardisierten
Diagramme keine eigenen Erweiterungen einbauen.
Diagramme können immer nur einen Ausschnitt wiedergeben,
den jedoch vollständig und widerspruchsfrei.
Seite 15
Herunterladen