Die Methodenkategorie "Systemverhaltensmodelle" ist im Hauptteil der Methodenzuordnung zur Unterstützung der Anforderungsanalyse von Funktions- oder Softwareanteilen mit hoher Kritikalität vorgesehen. Die Unterstützung erfolgt auf den Ebenen System, Segment und SW-Einheit, wenn komplexes Echtzeitverhalten auftritt und auf die Gewährleistung der Funktionalität einen wesentlichen Einfluß hat. Eine spezifische Methode wird erst im Rahmen der Operationalisierung der Methodenzuordnung ausgewählt.
Jede Einzelmethode der Methodenkategorie muß zur Eignung für den genannten Einsatzzweck mindestens die folgenden Fähigkeiten und Eigenschaften aufweisen:
Die nachfolgend genannten Einsatzkriterien sind als Hilfe für die Auswahl von Einzelmethoden innerhalb der Methodenkategorie gedacht.
In / Davis, 88 / findet sich eine vergleichende Übersicht über Methoden zur Verhaltensspezifikation ereignisorientierter Systeme. Im Hauptteil der Methodenzuordnung sind bereits als Methoden verankert: Entscheidungstabellen, endliche Automaten, Pseudocode. Im folgenden werden einzeln vorgestellt:
1 Identifikation/Definition der Methode
/ Reisig, 86 /
2 Kurzcharakteristik der Methode
Petri-Netze (PNET) sind eine Modellierungsmethode, die auf einer (von C. A. Petri entwickelten) speziellen Netztheorie aufbaut. Mittels PNET werden ereignisorientierte (auch nichttechnische) Systeme mit diskreten Bestandteilen und diskreten lokalen Zustandsänderungen hinsichtlich ihrer Kausalstruktur und Dynamik modelliert (z. B. Fertigungssystem samt Steuerungssoftware, Dienstleistungssystem, Kommunikationssystem, Realzeitprogrammsystem). Insbesondere können auch konkurrierende, parallel ablaufende Prozesse und deren Synchronisation durch eindeutige Darstellung ihrer Kausalbeziehungen genau spezifiziert werden. Besonderes Kennzeichen der PNET ist ihre dynamische Notation der zeitlich aktuellen Besetzung der Stellen (Marken).
3 Beurteilung der Methode
Stärken von PNET sind:
Zu berücksichtigende Besonderheiten beim Modellieren mit PNET
Bei sehr umfangreichen PNET ist auf eine frühzeitige Zerlegung in Teilnetze zu achten, um die Übersichtlichkeit der Spezifikation zu erhöhen.
Eine beträchtliche Erleichterung beim Modellieren mit PNET ist die Bereitstellung einer Bibliothek, die Netzdarstellungen häufig gebrauchter Funktionstypen mit jeweils genau definierten Eigenschaften enthält (etwa für Zugriffs-, Synchronisations-, Sperr-, Konfliktauflösungsmechanismen, usw.).
Einarbeitung in die Methode
Das Erlernen der Notation samt Semantik ist leicht. Das Modellieren komplexer Systeme mittels PNET erfordert Übung.
Werkzeugunterstützung:
Eine Werkzeugunterstützung für PNET ist bei Modellierung und Analyse
größerer (Teil-) Systeme unerläßlich, um die Vorteile der
Methode auszuschöpfen. Es gibt eine ganze Reihe von Werkzeugen.
4 Anwendung der Methode im V-Modell
Die Methode wird in den Aktivitäten SE 1.5 und SE 3.3 zur Modellierung der Funktionsabläufe herangezogen.
5 Schnittstellen
Datenflußdiagramme können in analysierbare Petri-Netze werkzeuggestützt überführt werden. Der Benutzer wandelt durch grafische Markierung Prozeßelemente in Transitionen um und fügt mittels zusätzlicher Beschriftung der Datenflußdiagramm-Pfeile Stellen zwischen die Transitionen ein. Das so vorbereitete Datenflußdiagramm wird einem PNET-basierten Werkzeug zur weiteren Bearbeitung (Analyse, Simulation) übergeben. Dadurch werden Datenflußdiagramme einer dynamischen Konsistenzprüfung zugänglich gemacht.
Nach / Graubmann, 85 / und / Grabowski, 90 / können durch SDL dargestellte Automaten in Petri-Netze transformiert werden und sind dann analysierbar auf Verklemmungsfreiheit und andere dynamische Eigenschaften. Durch automatische Transformation aus SDL hervorgegangene Petri-Netze können ferner im Rahmen eines Gesamtentwurfs in bestehende Teilnetze eingebettet werden.
6 Weitere Hinweise
Weiterentwicklungen/Varianten
Neben der einfachsten Form von PNET - den Bedingungs-/Transitionsnetzen - gibt es mehrere Ausprägungen. Eine naheliegende Erweiterung sind die Stellen-/Transitionsnetze, bei denen jede Stelle mehrere gleichartige Marken halten kann, die beim Schalten einer Transition auch in unterschiedlicher Anzahl transportiert werden können. Mit diesen PNET kann man auch komplexere Systeme bequem spezifizieren. Zeitbehaftete PNET gestatten die Angabe von Zeitverzögerungen beim Schalten und erlauben so die detaillierte Spezifikation eines Systems. Die mächtigste Form der PNET sind die Prädikaten-/Transitionsnetze. Hier gibt es verschiedenartige, sog. individuelle Marken, die eine Stelle gemischt besetzen können. Sie werden beim Schalten über die Pfeile in verschiedenartiger Zusammensetzung transportiert. Dies, sowie zusätzliche Schaltbedingungen werden durch Prädikate beschrieben. Bei Realzeitsystemen bedeutet das faktisch die lokale Speicherung und den kontrollierten Austausch von Daten, die auf hohem Abstraktionsniveau spezifiziert sind. Das kausale Prozeßmodell der PNET wird durch diese Möglichkeiten wirkungsvoll ergänzt.
7 Literatur
/ Baumgarten, 90 / Allgemein orientierte Einführung in Petri-Netze mit mehreren Fallbeispielen
/ Reisig, 85 / Einführung in die Entwurfspraxis mit Petri-Netzen
/ Reisig, 86 / Mathematisch orientierte Einführung in die Grundlagen von Petri-Netzen mit Beweisen; Standard- und Nachschlagewerk
/ Grabowski, 90 / Darstellung der Prinzipien der Transformation von SDL-Diagrammen in Petri-Netze
/ Graubmann, 85 / Werkzeugorientierte Darstellung der Validation von SDL-Diagrammen mittels Transformation in Petri-Netze
1 Identifikation/Definition der Methode
/ Harel, 87 /
2 Kurzcharakteristik der Methode
Statecharts (STC) sind eine Methode zur Spezifizierung reaktiver Systeme (siehe / Seifert, 91 /), d. h. von Systemen, die in Echtzeit auf externe und interne Ereignisse reagieren müssen. Die Methode basiert auf einer in / Harel, 87 / vorgeschlagenen Erweiterung der Notation endlicher Automaten. Mittels STC werden ereignisorientierte (Teil-) Systeme modelliert, die sich in zusammengesetzten, geschachtelten Zuständen - entsprechend geschachtelten Teilautomaten - befinden können und parallel arbeitende Komponenten haben. STC orientieren sich praxisnah an ingenieursmäßigen Erfordernissen.
3 Beurteilung der Methode
Stärken von STC sind:
- Die Eignung zur Verhaltensmodellierung komplexer Echtzeit- (Teil-) Systeme, die aus relativ wenigen, aber in sich komplexen Bestandteilen aufgebaut sind und mit einer ereignisorientierten Umgebung kommunizieren. Dies gilt vor allem, wenn der Beschreibungsgegenstand als System geschachtelter, kommunizierender endlicher Automaten formuliert werden kann.
- Der besondere Wert der Methode liegt in der übersichtlichen Notation komplexer Systeme aus kommunizierenden Automaten und in der Möglichkeit des raschen Aufbaus umfangreicher Verhaltensspezifikationen auf anwendernahem Niveau.
Zu berücksichtigende Besonderheiten beim Modellieren mit STC
Man erhält immer ein getaktetes System (wegen "microsteps" und "broadcasting"), d. h. alle aktivierten Sub-Automaten, insbesondere auch parallele Automaten, laufen im gleichen globalen Zeittakt.
Statische und dynamische Semantik der STC (siehe / SEMSTC, 90 /) sind zum Teil sehr komplex und bedürfen einer genauen Beachtung durch den Anwender. Insbesondere kann die globale Präsenz der Ereignisse (siehe /Harel, 87/ S. 233, / SEMSTC, 90 /, S. 2, 5, 24-28) zu Undeterminiertheiten bei Zustandsübergängen führen. Diese können z. B. durch Prioritätenvergabe aufgelöst werden.
Obwohl STC in erster Linie für synchron getaktete Systeme geeignet sind, kommt eine Anwendung zur Modellierung verteilter Systeme gegebenenfalls dann in Betracht, wenn Synchronisationsaspekte entweder unwesentlich sind oder durch zusätzliche Maßnahmen (z. B. Kommunikationsprotokolle) sichergestellt werden. Darüberhinaus können zur Nachbildung expliziter Kommunikationskanäle sowie zur Speicherung von Ereignissen (events) über mehrere globale Zeittakte hinaus zusätzliche Zustände definiert werden, die diese Pufferfunktion übernehmen.
STC besitzen zwar keine Notation für aktuelle Zustände; dennoch können - unter Beachtung der Semantik der Methode (siehe / SEMSTC, 90 /) - Erreichbarkeitsgraphen zur Analyse dynamischer Abläufe (gegebenenfalls werkzeuggestützt) gewonnen werden. Zur gezielten Modellierung bestimmter Eigenschaften werden häufig spezielle Zustände als sog. "Fallen" (traps) eingeführt.
Einarbeitung in die Methode
Die grafischen und textuellen Ausdrucksmittel der Methode sind sehr vielfältig. Die Semantik muß genau verstanden werden; hier sei hingewiesen auf die speziellen Annahmen der Methode wie z. B. globale Verfügbarkeit von Events, Berücksichtigung intern erzeugter Events, Verwendung von History-Informationen, Beschränkung der Lebensdauer von Events auf einen Taktschritt, Abhandlung von Compound Transitions, unterschiedliche Zeitmodelle (generous model; greedy model), usw. (siehe / SEMSTC, 90 /). Besondere Beachtung verdient auch die richtige Beurteilung von Wettrennbedingungen (race conditions); diese müssen auf beiden Zeitebenen (micro- und macrosteps) verfolgt werden. Schulung und Übung sind erforderlich.
4 Anwendung der Methode im V-Modell
Die Methode wird in den Aktivitäten SE 1.5 und SE 3.3 zur Modellierung der Funktionsabläufe herangezogen.
Für Systeme hoher Kritikalität sind in der Regel nur kausal-logische Synchronisier- und Sperrmechanismen akzeptabel, d. h. diese müssen in dem Zustandsmodell unabhängig von temporalen Aspekten formuliert werden.
5 Schnittstellen
In der Methodenzuordnung (Submodell SE) steht der Modellierungsaspekt im Vordergrund. Explizite Prüf- bzw. Verifikationsschritte werden durch das Submodell QS geregelt. Hierbei kommt insbesondere die Methode SIMU als Nachfolgemethode zu STC in Betracht. Das durch STC erstellte Verhaltensmodell kann dann mit den Mitteln der Simulation systematisch geprüft und verifiziert werden.
6 Weitere Hinweise
Veröffentlichte Varianten der Methode sind nicht bekannt. STC sind unter bestimmten Bedingungen auf sog. strukturierte Petri-Netze (S-Netze) abbildbar und dann mit den Mitteln der Netztheorie analysierbar.
Werkzeugunterstützung ist zum Nachvollzug der Spezifikation von Systemen nichttrivialen Umfangs unerläßlich. Bisher ist ein Werkzeug für die Methode bekannt.
7 Literatur
/ Harel, 87 / Referenzveröffentlichung des Entwicklers von Statecharts, zur Einführung geeignet, mit Beispielen
/ Seifert, 91 / Ergänzende Darstellung der Methode
/ SEMSTC, 90 / Genaue und verbindliche Darstellung der Semantik von Statecharts
1 Identifikation/Definition der Methode
/
SDL,
85a / Z.100, Kapitel 2.2 (Prozeß-Diagramm, Signale),
Z.101, Kapitel 2.3.4, 2.3.5 (Kommunikationskonzept),
Z.100, Kapitel 2.4 (Block-Interaktionsdiagramm)
/ SDL, 85b / Annex D, Kapitel D.4.3.4 (Dynamische Semantik)
/ SDL, 91 / Kapitel 9.1.3, 9.4.1 (Time-Sequence Diagrams)
/ SDL, 92 / Kapitel 4 (Basic Message Sequence Charts)
2 Kurzcharakteristik der Methode
SDL ist eine Sprache zur Spezifikation von ereignisorientierten Systemen, insbesondere Telekommunikationssystemen (vor allem in den Funktionsbereichen Anrufbearbeitung, Wartung, Fehlerbehandlung, Systemkontrolle sowie beim Entwurf von Datenkommunikationsprotokollen). SDL ist aber auch generell geeignet zur Verhaltensspezifikation anderer ereignisorientierter (Teil-) Systeme. SDL gestattet insbesondere die Spezifikation konkurrierend ablaufender, kommunizierender Echtzeitprozesse in Form von geschachtelten Zustandsautomaten.
Die Sprache ist in grafischer und (semantisch äquivalenter) textueller Notation definiert.
3 Beurteilung der Methode
Kriterien für den Einsatz von SDL
SDL ist besonders geeignet zur Verhaltensmodellierung von (Teil-) Systemen mit relativ wenigen, aber komplexen Bestandteilen. Die Time-sequence Diagrams (zwar kein Bestandteil des SDL-Standards, aber für das Zusammenwirken mit SDL konzipiert) sind besonders gut geeignet für die Spezifikation des nach außen sichtbaren Systemverhaltens aus Anwendersicht; sie sind wegen ihrer einfachen Form auch besonders gut verständlich.
Stärken von SDL
Diese liegen in der einfachen dynamischen Semantik ("SDL-Maschine"), die das Verhalten realer Echtzeitsysteme angemessen modelliert. Dazu gehört auch die Möglichkeit, Prozeßinstanzen dynamisch zu generieren. Die Methode wird bereits seit vielen Jahren zur Spezifikation komplexer Telekommunikationssysteme eingesetzt.
Der besondere Wert der Methode liegt in der Kombination von Verhaltensspezifikation und Systemstrukturierung ohne Methodenbruch; wertvoll für die spätere Implementierung ist auch die durchgängige Zugrundelegung asynchroner Kommunikationsmechanismen.
Wichtige dynamische Eigenschaften eines spezifizierten Systems (z. B. Verklemmungen, Race Conditions, Erreichbarkeit usw.) sind - wegen der einfachen dynamischen Semantik und der gezielten Signalübermittlung - gut nachvollziehbar.
Zu berücksichtigende Besonderheiten beim Modellieren mit SDL
Als nachteilig beim Einsatz zur Verhaltensmodellierung kann sich auswirken, daß es zum Verlust von Signalwirkungen kommen kann. Dies ist Folge der Semantik bei der Abarbeitung der Prozeß-Eingabewarteschlange (siehe / SDL, 85a /, Z.101, Kapitel 2.3.5, / SDL, 85b /, Annex D, Kapitel D.4.3.4.2.1, S.109). Die Abarbeitung der Prozeß-Eingabewarteschlange kann jedoch durch Gebrauch des Save-Mechanismus (siehe / SDL, 85a /, Z.101, Kapitel 3.3.2, / SDL, 91 / Kapitel 3.8.1, Kapitel 8.3.4) so gesteuert werden, daß jeder Zustand nur die ihn aktivierenden Signale konsumiert, andere Signale jedoch in der Schlange beläßt. Die gesamte Wirkung ist dann so, als ob jeder Zustand eine eigene Signal-Eingabewarteschlange besitzt; dies entspricht weitgehend der intuitiv erwarteten Semantik.
Einarbeitung in die Methode
Die Notation ist wegen des gesamten Leistungsspektrums der Methode und wegen einer Reihe spezieller Symbole relativ umfangreich. Elementares ist jedoch gut erlernbar. Die Abstimmung von Prozeß- und Block-Baumdiagrammen erfordert besondere Beachtung. Die dynamische Semantik ist von überschaubarem Umfang und frei von problematischen Hilfsannahmen; sie enthält notwendige Regeln zum Ablauf paralleler, asynchron kommunizierender Automaten und zur Auflösung real möglicher Konfliktfälle. Schulung (siehe / SDL, 85c /) und Übung in der Methode sind erforderlich.
Werkzeugunterstützung
Diese ist zur Erstellung und zum Nachvollzug der Spezifikation von Systemen nichttrivialen Umfangs unerläßlich (Grundsätzliches hierzu siehe / SDL, 85b /, Annex D, Kapitel D.10). Bisher sind mehrere Werkzeuge für die Methode auf dem Markt.
4 Anwendung der Methode im V-Modell
Die Methode wird in den Aktivitäten SE 1.5 und SE 3.3 zur Modellierung der Funktionsabläufe herangezogen.
5 Schnittstellen
SDL ist nach / SDL, 88 /, Kapitel 3.3 auf Petri-Netze abbildbar und dadurch deren Analysemöglichkeiten zugänglich.
Die formale Definition von SDL macht die Sprache geeignet zur Abbildung in Programmiersprachen (siehe / SDL, 85b /, Annex D, Kapitel D.10.2, D.10.8).
6 Weitere Hinweise
Veröffentlichte Varianten der Methode: keine, da SDL standardisiert ist.
7 Literatur
/ SDL, 85a / Referenzwerk des CCITT; Standardnotation und Sprachkonzept von SDL
/ SDL, 85b / Anhang zum Referenzwerk, mit Syntax und beispielhaften Benutzerhinweisen
/ SDL, 85c / Materialien zu SDL-Kurs
/ SDL, 88 / Enthält Hinweis auf Transformierbarkeit von SDL-Diagrammen in Petri-Netze
/ SDL, 91 / Praxisorientiertes Einführungswerk mit vielen Beispielen, Ergänzung zur CCITT-Referenz
/ SDL, 92 / Referenzwerk des CCITT zu "Message Sequence Charts", einer SDL-orientierten Ausprägung von Time-Sequence Diagrams