SA-RT: Real Time Erweiterungen der SA
Mit Structured Analysis / Real Time (SA/RT) wird eine Methode bezeichnet, die auf der strukturierten Analyse nach DeMarco aufbaut. Für SA/RT existieren zwei verschiedene Ansätze :
Das gemeinsame Ziel beider Ansätze besteht darin, Systeme mit komplexem zeitabhängigen Verhalten zu modellieren.
Ward/Mellor-Ansatz
1985 wurde SA von Paul Ward und Stephen J. Mellor für die Spezifikation von Echtzeitsystemen erweitert. Beim Ward/Mellor-Ansatz werden die Datenflußdiagramme um folgende 3 Steuerkomponenten ergänzt:
- Steuerprozesse (normalerweise existiert nur 1 Steuerprozess pro DFD):überwachendes und organisierendes Bubble, welches die Aktivitäten der anderen Bubbles koordiniert
- Steuer- bzw. Ereignisflüsse (Signale)
- Steuer- bzw. Ereignisspeicher
Im DFD werden diese Steuerkomponenten mit gestrichelten Linien dargestellt.
Eine Stehlampe hat eine 50W- und 100W-Birne. Zieht man an der Schnur, werden nacheinander die Helligkeitszustände
- aus,
- 50 W,
- 100W,
- 150W
durchlaufen (Beispiel nach /Ward/Mellor/).
Das Zustandsübergangsdiagramm (STD State Transition Diagram) stellt die Zustände dieser Lampe dar. Zu jedem Zustandsübergang wird an der Beschriftung des Pfeils das Ereignis (= Eingabesignal) angegeben, welches den Zustandsübergang auslöst und darunter die Aktion (= Ausgabesignal) die vom System ergriffen wird (Ereignis-Aktions-Marken"). Welche Ausgangssignale gesetzt werden, hängt von den Eingangssignalen und vom aktuellen Zustand ab.
Zustandsdiagramm der Stehlampe
Im vorliegenden Fall wird die Lampe mit einem einzigen Eingabesignal gesteuert. Die Wirkung der Ausgabesignale ist vom jeweiligen Ausgangs-Zustand abhängig. Der zugehörige Steuerprozeß ( mit 1 Eingabesignal und 4 Ausgabesignalen ) ist in Steuerprozeßdarstellung dargestellt.
Steuerprozeßdarstellung
Nach der Ward/Mellor-Notation wird ein bestehendes DFD um Steuerflüsse, Steuerprozesse und gegebenenfalls Steuerspeicher ergänzt (Beispiel nach /Yourdan/).
DFD mit Steuerprozessen und Steuerflüssen
Hatley/Pirbhai-Ansatz
Hatley und Pirbhai entwickelten 1987 ihr eigenes Verfahren zur Modellierung von Echtzeitsystemen. Auch diese Methode baut auf der strukturierten Analyse nach DeMarco auf. Hatley und Pirbhai sehen zur Spezifikation eines Systems zwei Modelle vor:
- Anforderungsmodell:
technologieunabhängiges Modell der wesentlichen Anforderungen an das System - Architekturmodell:
technologieabhängiges Modell der Systemstruktur
Im Folgenden wird nur das Anforderungsmodell skizziert.
Das Anforderungsmodell betrachtet das System vor allem unter 2 Gesichtspunkten:
- informationsverarbeitender (funktionaler) Aspekt
wird im Prozeßmodell beschrieben; entspricht dem SA-Ansatz nach DeMarco; besteht aus Datenflußdiagrammen (Data Flow Diagram DFD), Prozeßspezifikationen (Process Specification PSPEC) und Data Dictionary (DD) - Steuerungs-Aspekt
wird im Steuermodell beschrieben; definiert, unter welchen Umständen die Prozesse aktiviert und deaktiviert werden; besteht aus Steuerflußdiagramm (Control Flow Diagram CFD), Steuerspezifikationen (Control Specification CSPEC) und Beschreibungen von zeitlichen Anforderungen (für Steuerspezifikationen werden u. a. Zustandsübergangsdiagramme verwendet)
Ein dritter Gesichtspunkt ist die Informations- und Datenmodellierung; hierfür schlagen Hatley und Pirbhai die Verwendung der Entity-Relationship-Modellierung vor.
Keine Modellierung von Steuerprozessen
Ein wichtiger Unterschied zum Ward/Mellor-Ansatz besteht darin, dass Hatley/Pirbhai keine Steuerprozesse modellieren. Dies schlägt sich auch in der grafischen Darstellung nieder. Beim Hatley/Pirbhai-Ansatz erfolgt das Aktivieren und Deaktivieren der Prozesse eines Datenflußdiagramms durch die zugeordnete Steuerspezifikation (CSPEC). Während eine Prozeßspezifikation (PSPEC) lediglich mit einem Primitivenprozess korrespondiert (diese sind per Definition auf der niedrigsten Zerlegungsebene angesiedelt) kann eine Steuerspezifikation (CSPEC) hingegen auf jeder Strukturebene angesiedelt sein.
Steuerflußdiagramme (Control Flow Diagram CFD)
Steuerflußdiagramme ordnen die Steuerflüsse den gleichen Pfaden zu, auf denen auch Daten fließen können. Die Steuerflußdiagramme (CFD) treten paarweise mit DFDs auf und beschreiben die gleichen Prozesse wie die zugehörigen DFDs.
Die Steuersignale werden im CFD gestrichelt dargestellt.
Die Prozesse in einem CFD repräsentieren nicht die Verarbeitung der in das System eintretenden Steuerflüsse (das ist Aufgabe der Steuerspezifikationen (CSPEC)).
Die Steuerflüsse die in die Prozesse eintreten, aktivieren bzw. deaktivieren diese Prozesse nicht (das ist Aufgabe der Prozeßaktivatoren, welche sich ebenfalls in den CSPECS befinden)!
Für die Steuerflüsse in CFDs gelten grundsätzlich die gleichen Regeln wie für Datenflüsse. Das bedeutet, dass sie zwischen korrespondierenden Mutter- und Tochterdiagrammen übergeben werden können. Ein grundlegender Unterschied besteht darin, dass die internen Quellen und Ziele der Datenflüsse Primitivenprozesse sind, während die internen Quellen und Ziele der Kontrollflüsse in der Regel CSPECs sind.
Die in den Steuerflußdiagrammen (CFDs) enthaltenen CSPEC-Balken sollen die Steuerflüsse zu und von den zugehörigen Steuerspezifikationen (CSPECs) darstellen.
Steuerspezifikationen (Control Specification CSPEC)
Eine Steuerspezifikation ist stets einem CFD/DFD-Paar zugeordnet. Die Steuerspezifikationen enthalten in der Regel
- Zustandsübergangsdiagramme (State Transition Diagram STD)
(zeigen die Zustände des Systems und die Beeinflußung durch Steuersignale an) sowie - Prozeßaktivierungstabellen (Process Activation Table PAT)
(zeigen die Umstände, unter denen die Prozesse aktiviert bzw. deaktiviert werden)
Die Hatley/Pirbhai-Notation soll im folgenden beispielhaft an einem Verkaufsautomatenbeispiel (nach Hatley/Pirbhai /93/) verdeutlicht werden. Dieses Beispiel enthä:
- Datenkontextdiagramm
- Steuerkontextdiagramm
- Timing-Spezifikation für die Systemein- und Systemausgabeereignisse
- DFD 0
- CFD 0
- CSPEC (mit STD und PAT)
Datenkontextdiagramm
Steuerkontextdiagramm
Eingabe | Ereignis | Ausgabe | Ereignis | Antwortzeit |
---|---|---|---|---|
Objekt | Einwurf | Falschmünzen | Auswurf | max. 2 sec |
Kundenauswahl | Eingabe | Produkt verfügbar | Anzeigen | max. 0,5 sec |
Produkt | Ausgeben | max. 5 sec | ||
Münzrückgabe- anforderung |
Eingabe | zurückgegebene Münzen |
Rückgabe | max. 2 sec |
Timing-Spezifikation
DFD 0
CFD 0
CSPEC Teil 1 - STD
Steueraktion | aktivierter Prozeß | ||
---|---|---|---|
Wechselgeld ausgeben | Produkt auswerfen | Gültige Auswahl holen |
|
Kundenanforderung akzeptieren |
0 | 0 | 1 |
Zahlung zurückgeben | 1 | 0 | 0 |
Neue Münze akzeptieren | 0 | 0 | 0 |
Produkt auswerfen | 1 | 1 | 0 |
CSPEC - Teil 2 PAT