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