Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Tele Entwurf von Telekommunikationssystemen- 60 - Übersicht  1. Einführung in den Software-Entwurfsprozess  2. Anforderungsspezifikation mit Zustandsmaschinen.

Ähnliche Präsentationen


Präsentation zum Thema: "Tele Entwurf von Telekommunikationssystemen- 60 - Übersicht  1. Einführung in den Software-Entwurfsprozess  2. Anforderungsspezifikation mit Zustandsmaschinen."—  Präsentation transkript:

1 tele Entwurf von Telekommunikationssystemen Übersicht  1. Einführung in den Software-Entwurfsprozess  2. Anforderungsspezifikation mit Zustandsmaschinen  3. Anforderungsspezifikation mit Linearer Temporaler Logik  4. Automatenbasiertes Model Checking  5. Die Modellierungssprache Promela und der SPIN Model Checker  6. Effizienzsteigernde Massnahmen  7. Anwendungsbeispiele von SPIN Model Checking  8. Eine visuelle Entwicklungsumgebung für Promela/Spin  9.Verwandte, semi-formale Modellierungsmethoden

2 tele Entwurf von Telekommunikationssystemen Zustandsorientierte Analyse  Zustand  ein System besitzt unterschiedliche Variablen, die entweder sichtbar oder intern und damit nicht sichtbar sein können  jede Variable ist über einem Datenbereich definiert  ein Zustand ist eine Funktion, die jeder Variable einen Wert aus dem jeweiligen Datenbereich zuweist  Naheliegend, das Verhalten reaktiver Systeme durch  Zustände,  die Zustandswechsel hervorrufenden Stimuli  und die durch Zustandswechsel hervorgerufenen Ereignisse zu charakterisieren

3 tele Entwurf von Telekommunikationssystemen Zustandsorientierte Analyse  Analyseansatz nach [Davis]  Definition von Objekten, Funktionen und Zuständen  Beschränkung und Kontrolle der mit Objekten, Funktionen und Zuständen assoziierten Aktionen  Definition der Zusammenhänge von Objekten, Funktionen und Zuständen  Objekte “… is a real-world entity, important to the discussion of requirements, with a crisply defined boundary.”  Charakterisiert durch –Attribute –Funktionen –Zustände –Beziehung zu anderen Objekten  Beispiel Das System soll den Typ der Sensoren an Bord jedes Schiffes anzeigen.

4 tele Entwurf von Telekommunikationssystemen Zustandsorientierte Analyse  Funktionen “… a task, service, process, mathematical function or activity that is either (1) now being performed in the real world, or (2) to be performed by the system to be specified.”  Beispiel Das System soll den Typ der Sensoren an Bord jedes Schiffes anzeigen. Die Telefonanlage soll innerhalb von 100 ms einen Wählton erzeugen  Charakterisiert durch –Das Objekt, das diese Funktion ausführt –Attribute der Funktion –Zustände, in denen die Funktion ausführbar ist –Verhältnis zu anderen Funktionen

5 tele Entwurf von Telekommunikationssystemen Zustandsorientierte Analyse  Zustand “... is a condition of some thing that captures some history of that thing and is used by that thing to help to determine how it is to behave in certain circumstances.”  Beipiele Solange die Fahrwerksräder sich nicht drehen soll der Umkehrschub nicht aktiv sein Waffen sollen nicht abgefeuert werden können solange sich das Flugzeug im Trainingsmodus befindet Wenn bei nicht läutendem Telefon der Hörer abgenommen wird dann soll entweder ein Besetztzeichen ertönen und der Hörer wieder aufgelegt werden, oder es soll ein Wählton ertönen und eine Telefonnummer eingegeben werden können.  Charakterisiert durch –das Objekt, dem der Zustand gehört (jedes aktive Objekt hat genau einen aktuellen Zustand) –Attribute eines Zustands –die in einem Zustand ausführbaren Funktionen –Zusammenhang mit anderen Zuständen

6 tele Entwurf von Telekommunikationssystemen Beispiel: Telefon Wenn bei nicht läutendem Telefon der Hörer abgenommen wird dann soll entweder ein Besetztzeichen ertönen und der Hörer wieder aufgelegt werden, oder es soll ein Wählton ertönen und eine Telefonnummer eingegeben werden können.  Objekte –Benutzer  Attribute *Name etc. (hier nicht relevant)  Funktionen *hörer_abnehmen *hörer_auflegen *telefonnummer_wählen  Zustände *still *abgenommen *gewählt  Beziehungen *mehrere Benutzer teilen ein Telefon

7 tele Entwurf von Telekommunikationssystemen Beispiel: Telefon Wenn bei nicht läutendem Telefon der Hörer abgenommen wird dann soll entweder ein Besetztzeichen ertönen und der Hörer wieder aufgelegt werden, oder es soll ein Wählton ertönen und eine Telefonnummer eingegeben werden können.  Objekte –Telefon  Attribute *Nummer etc. (hier nicht relevant)  Funktionen *starte_ / stoppe_läuten *starte_ / stoppe_wählton *starte_ / stoppe_besetztton  Zustände *still *abgenommen *erwarte_nummer  Beziehungen *mehrere Benutzer teilen ein Telefon *Telefon wird mit anderem Telefon verbunden

8 tele Entwurf von Telekommunikationssystemen Beispiel: Telefon Wenn bei nicht läutendem Telefon der Hörer abgenommen wird dann soll entweder ein Besetztzeichen ertönen und der Hörer wieder aufgelegt werden, oder es soll ein Wählton ertönen und eine Telefonnummer eingegeben werden können.  Funktionen (hier unvollständige Aufstellung) –starte_wählton  Objekt: Telefon  Attribute: -  Zustände: abgenommen  andere Funktionen: - (nicht gleichzeitig stoppe_wählton) –telefonnummer_wählen  Objekt: Benutzer (Telefon)  Attribute: Nummer  Zustände: abgenommen –hörer_auflegen  Objekt: Benutzer (Telefon)  Zustände: abgenommen, erwarte_nummer

9 tele Entwurf von Telekommunikationssystemen Beispiel: Telefon  Zustände (hier unvollständige Aufstellung) –abgenommen  Objekt: Benutzer  Attribute: Wählton oder Besetzton ertönt  Funktionen: hörer_auflegen, telefonnummer_wählen  Zusammenhang: *Vorgängerzustand: still *Nachfolgezustand: gewählt (bei telefonnummer_wählen), still (bei hörer_auflegen) –abgenommen  Objekt: Telefon  Attribute: -  Funktionen: starte_wählton, starte_besetztton  Zusammenhang: *Vorgängerzustand: still *Nachfolgezustand: erwarte_nummer (bei starte_wählton), still (bei starte_besetztton)

10 tele Entwurf von Telekommunikationssystemen Zustandsmaschinen  Reaktive Systeme sind charakterisiert durch Folgen von Zustandsübergängen, hervorgerufen durch Ereignisse, und begleitet von Antworten  Zustandsübergänge (Transitionen) sind momentan und diskret  während das System in einem Zustand ist, bleiben die Werte aller Variablen konstant  Beschreibung durch Folgen von Zuständen und Zustandsübergängen

11 tele Entwurf von Telekommunikationssystemen Zustandsmaschinen  Beschreibung durch Endliche Zustandsmaschine (finite state machine, FSM)  Zustände –momentaner Kontrollzustand –Werte aller diskreten Zustandsvariablen  Zustandstransitionsregeln Vorher: 1. Kontrollzustand, in dem sich das System vor Ausführung der Transition befinden muss 2. Bedingung für die Auführbarkeit der Transition (Ereignis aus der Umgebung, Boolscher Ausdruck auf den Zustandsvariablen, true) Nachher: 3. optionale Änderung der Umgebung (meist Ausgabeereignis) 4. Neuer Kontrollzustand

12 tele Entwurf von Telekommunikationssystemen Zustandsmaschinen  Beispiel: Getränkeautomat (GA) freiausg erh ?g ?a !d !z

13 tele Entwurf von Telekommunikationssystemen Zustandsmaschinen  Endliche Zustandsmaschinen  sei Q: endliche Menge von Zuständen q 0  Q (genannt Anfangszustand) I: ein Alphabet (genannt Eingabesymbole) O mit I  O   : ein Alphabet (genannt Ausgabesymbole) A = I  O (genannt Ereignisalphabet)  : Q  Q eine Relation  : Q x A  Q eine Relation  : Q x I  O x Q eine Relation  (Q, q 0,  ) nennen wir ein Transitionssystem freiausg erh

14 tele Entwurf von Telekommunikationssystemen Zustandsmaschinen  Endliche Zustandsmaschinen  sei Q: endliche Menge von Zuständen q 0  Q (genannt Anfangszustand) I: ein Alphabet (genannt Eingabesymbole) O mit I  O   : ein Alphabet (genannt Ausgabesymbole) A = I  O (genannt Ereignisalphabet)  : Q  Q eine Relation  : Q x A  Q eine Relation  : Q x I  O x Q eine Relation  (Q, q 0, A,  ) nennen wir eine endliche Moore-Maschine freiausg erh ?g ?a !d !z

15 tele Entwurf von Telekommunikationssystemen Zustandsmaschinen  Endliche Zustandsmaschinen  sei Q: endliche Menge von Zuständen q 0  Q (genannt Anfangszustand) I: ein Alphabet (genannt Eingabesymbole) O mit I  O   : ein Alphabet (genannt Ausgabesymbole) A = I  O (genannt Ereignisalphabet)  : Q  Q eine Relation  : Q x A  Q eine Relation  : Q x I  O x Q eine Relation  (Q, q 0, I, O,  ) nennen wir eine endliche Mealey-Maschine frei erh ?g/- ?a/!d ?a/!z

16 tele Entwurf von Telekommunikationssystemen Über Zustandsmaschinen  Moore und Mealey Machines haben die gleiche Ausdrucksfähigkeit (siehe [Hopcroft and Ullman])  Die hier betrachteten Zustandsmaschinen sind nichtdeterministisch, d.h., in einem Zustand können mehr als eine Transition zu unterschiedlichen Nachfolgezuständen gleichzeitig ausführungbereit sein

17 tele Entwurf von Telekommunikationssystemen Zustandsmaschinen und Anforderungen  Beschreiben Zustandsmaschinen ein was oder ein wie?  Wie können Zustandsmaschinen Anforderungen spezifizieren? implementierter GA Zustandsmaschinen Spezifikation GA 1 0 g a z g a d g a freiausg erh ?g ?a !d !z

18 tele Entwurf von Telekommunikationssystemen Zustandsmaschinen und Anforderungen  Beschreiben Zustandsmaschinen ein was oder ein wie?  Wie können Zustandsmaschinen Anforderungen spezifizieren? implementierter GA Zustandsmaschinen Spezifikation GA 1 0 g a z g a d g a g a d g a z g a z g a d g a z d g freiausg erh ?g ?a !d !z

19 tele Entwurf von Telekommunikationssystemen Zustandsmaschinen und Anforderungen  Beschreiben Zustandsmaschinen ein was oder ein wie?  Wie können Zustandsmaschinen Anforderungen spezifizieren? implementierter GA Zustandsmaschinen Spezifikation GA 1 0 d g a z d g a z g a d a g a d g a z g a z g a d freiausg erh ?g ?a !d !z

20 tele Entwurf von Telekommunikationssystemen Zustandsmaschinen und Anforderungen  A = {g, a, d, z} beschreibt ein Alphabet der extern beobachtbaren Ereignisse  Die Zustandsmaschine GA beschreibt ein mathematisches Modell für alle zulässigen Folgen beobachtbarer Ereignisse  Akzeptierungskriterien  ist eine zulässige Ereignisfolge ?  Notwendigkeit, Zustandsmaschinenmodell um Akzeptierungskriterien zu erweitern freiausg erh ?g ?a !d !z

21 tele Entwurf von Telekommunikationssystemen Nichtdeterministische Endliche Automaten  EA Sei  M = (Q, q 0, A,  ) eine endliche Zustandsmaschine, und  F  Q (wir nennen F die Menge der Akzeptierungszustände). Dann nennen wir N = (M, F) einen nichtdeterministischen endlichen Automaten (EA).  Pfad Sei  N ein EA.  Wir nennen die Zustandsfolge (q 0, q 1,.., q k ) einen Pfad von N genau dann, wenn

22 tele Entwurf von Telekommunikationssystemen Nichtdeterministische Endliche Automaten  Pfadmarkierung Sei  N ein EA.  Wir nennen das Wort a = (a 0, a 1,.., a k )  A* eine Pfadmarkierung von N genau dann, wenn es einen Pfad (q 0, q 1,.., q k+1 ) von N gibt so dass  Ferner nennen wir a akzeptiert, falls q k+1  F.  Bemerkung: Für jede von einem nichtdeterministischen EA akzeptierte Sprache gibt es einen deterministischen EA, der die gleiche Sprache akzeptiert (siehe [Hopcroft and Ullman])

23 tele Entwurf von Telekommunikationssystemen Nichtdeterministische Endliche Automaten  Akzeptierer für formale Sprachen  Für GA, F = {frei}  GA akzeptiert die Sprache L GA = (g a (z | d))*  L GA repräsentiert vollständig alle zulässigen, beobachtbaren Ereignisfolgen für GA freiausg erh ?g ?a !d !z

24 tele Entwurf von Telekommunikationssystemen Warum Endliche Automaten?  Warum nicht eine allgemeine Programmiersprache? freiausg erh ?g ?a !d !z main () {... frei: c = nextevent(); switch(c) { case ‘g’: goto erh; default : goto blockiert } erh: c = nextevent(); switch(c) { case ‘a’: goto ausg; default : goto blocking; } ausg: c = nextevent(); switch(c) { case ‘d’: goto frei; case ‘z’: goto frei; default : goto blocking; } blocking:... }

25 tele Entwurf von Telekommunikationssystemen Warum Endliche Automaten?  Warum nicht eine allgemeine Programmiersprache?  Welche Sprache (C, C++, Java, XML,...)?  Gefahr der Vorbestimmung einer Implementierung (implementation bias) –Interessiert daran, was, nicht wie, zu spezifizieren –Keine gültige Implementierung soll ausgeschlossen werden  Die meisten Progammiersprachen besitzen keine (allgemein anerkannte) formale Semantik

26 tele Entwurf von Telekommunikationssystemen Beschränkungen von Zustandsmaschinen  B1: Fehlende Datenabstraktion  Variablen, Zähler nicht vorhanden  Resultat –Daten müssen in den Zustandsraum hineincodiert werden –Folge: enorme Komplexität des Zustandsraums

27 tele Entwurf von Telekommunikationssystemen Beschränkungen von Zustandsmaschinen  B1: Fehlende Datenabstraktion  Variablen, Zähler nicht vorhanden  Resultat –Daten müssen in den Zustandsraum hineincodiert werden –Folge: enorme Komplexität des Zustandsraums

28 tele Entwurf von Telekommunikationssystemen Beschränkungen von Zustandsmaschinen  B2: Zustandsexplosion bei nebenläufiger Komposition  Beispiel: Producer-Consumer System ([Ghezzi]) Copyright © Prentice-Hall, 1993

29 tele Entwurf von Telekommunikationssystemen Beschränkungen von Zustandsmaschinen  B2: Zustandsexplosion bei nebenläufiger Komposition  Nebenläufige Komposition durch Bildung des kartesischen Produktes der einzelnen Zustandsräume  Annahme –n Systemkomponenten –jede der i = 1,.., n Systemkomponenten hat k  Systemzustände  Grösse des Zustandsraums des komponierten Systems:  Konsequenz: Wachstum exponentiell in der Anzal nebenläufiger Komponenten  “state explosion problem”

30 tele Entwurf von Telekommunikationssystemen Beschränkungen von Zustandsmaschinen  B3: Beschränkter Speicherplatz  Endliche Zustandsmaschinen haben nur endlichen Speicherplatz, daher können sie nur bis zu konstanten, endlichen Zahlen zählen  Problem zum Beispiel bei der Modellierung von Kommunikationskanälen: Grösse der Puffer  Bei der Spezifikation müssen diese Konstanten a priori bekannt sein  implementation bias  B4: Fehlende Abstraktion/Verfeinerung  Zustände und Transitionen können nicht verfeinert werden  B5: Fehlende Kompositions- und Synchronisationsmechanismen für nebenläufige Systeme  Instanziierung / Terminierung von nebenläufigen Komponenten  Kommunikation –Broadcast oder Punkt-zu-Punkt –Warteschlangen oder Kanäle  Synchronisation –synchron oder asynchron

31 tele Entwurf von Telekommunikationssystemen Beschränkungen von Zustandsmaschinen  B6: Akzeptierer für endliche Ausführungfolgen  GA Beispiel akzeptiert L GA = (g a (z | d))*  Reaktive Systeme: unendliche Ausführungsfolgen  Benötigt: L GA = (g a (z | d))  B7: Mangel and Echtzeit-Ausdrucksfähigkeit  “Wenn nach der Eingabe des Geldes der Benutzer nicht innerhalb von 15 Sekunden das Getränk ausgewählt hat, wird das eingeworfene Geld zurückgegeben.”  B8: Graphische Repräsentierbarkeit  Für komplexe Systeme ist es unmöglich, sie mit Hilfe von Zustandsmaschinen darzustellen  Konsequenz einiger der Bns

32 tele Entwurf von Telekommunikationssystemen Erweiterungen  B1 (Datenabstraktion)  Erweiterte Endliche Zustandsmaschinen (Extended Finite State Machines, EFSMs)  B2 (Zustandsexplosion)  Dekomposition in Menge von kommunizierenden Zustandsmaschinen (CFSMs)  EFSMs  B3 (Beschränkter Speicher)  EFSMs  B4 (Abstraktion / Verfeinerung)  Hierarchische Zustandsmaschinen (HFSM, Statecharts)  B5 (Mechanismen für nebenläufige Systeme)  Komposition von CFSMs  B6 (Unendliche Ausführungfolgen)  Automaten auf unendlichen Eingaben (Büchi Automaten)  B7 (Echtzeitanforderungen)  zeitbeschränkte FSMs, Timer-Konstrukte  B8 (Graphische Repräsentierbarkeit)

33 tele Entwurf von Telekommunikationssystemen Kommunizierende Zustandsmaschinen (CFSMs)  Nach [Brand and Zafiropulo] (IBM Forschungslabor Zürich)  Ansatz  nebenläufige FSMs (  2) + Kommunikationskanäle (=“Protokoll“)  jede FSM repräsentiert einen nebenläufigen, kommunizierenden Prozess mit einer endlichen Anzahl von Kontrollzuständen  jeder Kommunikationskanal ist 1. voll-duplex, 2. fehlerfrei, 3. hat eine first-in-first-out Bedienstrategie, 4. und hat unbeschränkte Kapazität ( charakterisiert einen perfekten voll-duplex Kanal) Frage: wie modelliert man imperfekte Kanäle?  ein Paar Kanäle (c ij und c ji ) für jedes Paar (i, j) von Maschinen M1 M2M3

34 tele Entwurf von Telekommunikationssystemen Kommunizierende Zustandsmaschinen (CFSMs)  Formalisierung  N: eine positive ganze Zahl  i, j = 1,.. N: Index der Prozesse  : N disjunkte, endliche Mengen, Q i bezeichnet die Zustandsmenge des Prozesses i  : N  diskunkte Mengen mit (  i)(A ii =  ), Aij bezeichnet den Nachrichtenvorrat (Alphabet) für den Kanal von i  j   : Relation, die für jedes Paar i, j die folgenden Abbildungen bestimmt Q  x A   Q  Q  x A   Q   : Tupel von Anfangszuständen,  Definition  Wir nennen ein Protokoll

35 tele Entwurf von Telekommunikationssystemen Kommunizierende Zustandsmaschinen (CFSMs)  Notation  s   Q  : der Zustand des Prozesses i  x   A  : eine Nachricht –?x  Empfang einer Nachricht –!y  Senden einer Nachricht  f((s ,.., s )) = (f(s  ),.., f(s ))  x, y: Nachrichten  X, Y: Folgen von Nachrichten  x, xy, xY, xXY: verkettete Nachrichtenfolgen

36 tele Entwurf von Telekommunikationssystemen Kommunizierende Zustandsmaschinen (CFSMs)  Ein Server-Protokoll (nach [Brand and Zafiropulo)  Initially, both processes user and server are in states ready and idle, respectively. The user can send a request by a message REQ to the server, which enters state service after receiving REQ. When finished processing the request, the server sends a message DONE to the user and goes back to state idle. Afer sending REQ, the user enters the wait state and returns to ready when receiving DONE. In state idle, the server indicates a fault to the user by sending an ALARM message. The user registers the fault and sends the server an ACK message. Upon receipt of ACK, the server returns to state ready. ready waitreg idle service fault !REQ ?DONE !ACK ?ALARM ?REQ !DONE ?ACK !ALARM user server

37 tele Entwurf von Telekommunikationssystemen Kommunizierende Zustandsmaschinen (CFSMs)  Alternating Bit Protokoll (siehe z.B. [Holzmann 91])  einfaches Protokoll zur Sicherung unzuverlässiger Datenkanäle  sender sendet mit einer Sequenznummer n, n  {1, 2}, Nachricht msgn  receiver bestätigt mit ackn  sender setzt neue Sequenznummer auf 1 + n mod 2  bei Empfang falscher Sequenznummer erneute Übertragung  symmetrische Variante existiert !msg1 ?ack0?ack1 !msg0 ?ack0 sender ?msg1 !ack1 ?msg0 !ack0 receiver s1 s2 r0 r1r2

38 tele Entwurf von Telekommunikationssystemen Kommunizierende Zustandsmaschinen (CFSMs)  Semantik eines Protokols?  Folge der zulässigen Zustandssequenzen  Zustand eines Protokolls?  Summe von –dem lokalen Zustand jeder der 1.. N Prozesse, und –dem Zustand aller Kanäle c   A  *  jedes c  entspricht einer Sequenz von gesendeten, aber noch nicht empfangenen Nachrichten  Wir nennen dies den globalen Systemzustand

39 tele Entwurf von Telekommunikationssystemen Kommunizierende Zustandsmaschinen (CFSMs)  Wie erhalten wir die Berechnungen eines Protokolls, d.h., Sequenzen globaler Systemzustände?  Anfänglich: alle Prozesse in und alle c  =   Zustandstransitionen durch Sende- oder Empfangsereignisse hervorgerufen –Sendeereignis  füge Nachricht am Ende der entsprechenden Nachrichtenwarteschlange (= Kanal) an  verändere den lokalen Systemzustand des sendenden Prozesses –Empfangsereignis  entnehmen die zu empfangende Nachricht dem Kopf der Nachrichtenwarteschlange  verändere den lokalen Systemzustand des empfangenden Prozesses  Führt in neuen globalen Systemzustand

40 tele Entwurf von Telekommunikationssystemen Kommunizierende Zustandsmaschinen (CFSMs)  Definition Globaler Systemzustand  Sei – ein Protokoll –S = (S ,..,S N) ein N-Tupel von Zuständen –C ein N  Tupel so dass für alle i, j: c   A  *  Wir nennen (S, C) einen globalen Systemzustand

41 tele Entwurf von Telekommunikationssystemen Kommunizierende Zustandsmaschinen (CFSMs)  Definition Zustandstransitionsrelation  Sei P ein Protokoll und G = {(S, C) | (S, C) ein globaler Systemzustand ist}  |— : G  G wird wie folgt definiert (S, C) |— (S’, C’) gdw  i, k, x  so, dass entweder a) (S, C) und (S’, C’) identisch bis auf die folgenden Ausnahmen sind s  ’ =  (s , !x  ) (senden durch i) c  ’ = c  x  oder b) (S, C) und (S’, C’) identisch bis auf die folgenden Ausnahmen sind s  ’ =  (s , ?x  ) (empfangen durch k) c  = x  c  ’

42 tele Entwurf von Telekommunikationssystemen Kommunizierende Zustandsmaschinen (CFSMs)  Definition Erreichbarer Systemzustand  Sei –G  der Anfangszustand eines Protokolls, –G ein globaler Systemzustand des gleichen Protokolls, –|— die Zustandstransitionsrelation dieses Protokols, und bezeichne |—* die transitive Hülle von |—.  Wir sagen dass G erreichbar ist falls gilt G  |—* G  Pfade, Pfadmarkierungen und die akzeptierte Sprache können mit Hilfe von |— wie für EA definiert werden

43 tele Entwurf von Telekommunikationssystemen Kommunizierende Zustandsmaschinen (CFSMs)  Modellierung von Nebenläufigkeit  CFSM Modell modelliert lineare Folgen globaler Systemzustände (siehe entweder.. oder Konstrukt in der Definition von |—)  Wie modelliert man, dass zwei Zustände oder Ereignisse nebenläufig sind?  Annahme: falls zwei Ereignisse E  und E  nebenläufig sind, dann geht man davon aus, dass jede Reihenfolge dieser Ereignisse möglich sein muss, also in der Menge der erlaubten Ausführungsfolgen für das System enthalten sein muss: {,, …}  Interleaving Semantics

44 tele Entwurf von Telekommunikationssystemen Kommunizierende Zustandsmaschinen (CFSMs)  Ausdrucksfähigkeit  CFSMs sind Turing-vollständig –Beweisidee:  drei Prozesse: P1, P2, P3,  simuliere die Kontrolle der TM in der Zustandsmaschine von P2  benutze P1 und die Kanäle c  und c  um das linke, und P3 und c  und c  um das rechte Bandende zu simulieren  wichtig: alle c  haben unbeschränkte Länge  Konsequenzen –unbeschränkter Raum globaler Systemzustände –unentscheidbare Probleme:  Termination  wird ein Kommunikationsereignis jemals ausgeführt?  ist ein Systemzustand erreichbar?  ist das Protokoll frei von Deadlocks?  gibt es eine obere Schranke für die Länge der c  ?

45 tele Entwurf von Telekommunikationssystemen Kommunizierende Zustandsmaschinen (CFSMs)  Ausdrucksfähigkeit  Ein Kanal c  ist beschränkt, falls es eine Konstante h gibt, so dass für jeden erreichbaren globalen Systemzustand (S, C) c  eine Sequenz mit einer maximalen Länge von h ist. –für beliebige Protokolle ist Beschränktheit eines Kanals untentscheidbar –für viele praktische Protokolle sind einzelne oder alle Kanäle beschränkt  Die oben genannten Erreichbarkeits- und Deadlockprobleme sind für Protokolle, bei denen alle Kanäle beschränkt sind, entscheidbar  Konsequenz –endliche Approximation –Einführung von CFSM-Modelle mit beschränkten Kanälen zur vollständigen formalen Analyse  Gefahr der Einführung von Deadlocks

46 tele Entwurf von Telekommunikationssystemen  -Automaten  Akzeptierungskriterium für NEA  Ein EA akzeptiert ein Wort a  A* genau dann, wenn der Automat beim einlesen dieses Wortes nach einer endlichen Anzahl von Schritten in einem Akzeptierungszustand hält  Reaktive Systeme sind durch unendliche Ereignis- und Zustandsfolgen gekennzeichnet  Akzeptierungskriterium für a  A ?  Büchi Automat  Definition wie EA  Akzeptierungskriterium –Eine unendliche Folge a  A wird von einem Büchi Automaten akzeptiert, falls der Automat beim Einlesen von a unendlich häufig durch mindestens einen der Zustände in der Menge der Akzeptierungszustände F läuft frei ausg erh ?g ?a !d !z

47 tele Entwurf von Telekommunikationssystemen  -Automaten  Büchi-Automat  sei Q: endliche Menge von Zuständen q 0  Q (genannt Anfangszustand) A ein Endliche Menge von Ereignissymbolen (genannt Ereignisalphabet)  : Q x A  Q eine Relation F  Q (genannt Akzeptierungsmenge)  wir nennen M = (Q, q 0, A, , F) einen Büchi-Automaten  Akzeptierungskriterium  Sei  = s , s , … eine Sequenz, dann –  [i] = s  –|  | bezeichnet die Länge von  (  falls  unendlich)

48 tele Entwurf von Telekommunikationssystemen  -Automaten  Akzeptierungskriterium  Sei  = s , s , … eine Sequenz, dann –  [i] = s  –|  | bezeichnet die Länge von  (  falls  unendlich)  Sei – eine Sequenz von Ereignissen – eine Sequenz von Zuständen von M  Wir sagen, dass  ein Lauf auf  ist, gdw. –  [0] = q , und –(  i: 0  i  |  |)(  [i]   (  [i-1],  [i-1]))  Sei –  M (  ) = {   |  ist ein Lauf auf  } –INF M (  ) = {q  Q | q erscheint unendlich häufig in jedem Element von  M (  )}   wird von M akzeptiert falls INF M (  )  F  

49 tele Entwurf von Telekommunikationssystemen  -Automaten  Beispiel  Anforderung Wann immer ein a beobachtet wird, kann irgendwann später auch ein b beobachtet werden  Übersetzung in Ausführungfolgen In jeder Ausführungsfolge von M (in jedem Wort aus ) muss jedes Vorkommen von a von einem Vorkommen von b gefolgt werden Kommunikations- medium M SenderEmgfänger ab (=DATreq)(=DATind) S1S2 a b b, c a, c Q = {S1, S2}, q  = S1, F = {S1}

50 tele Entwurf von Telekommunikationssystemen  -Automaten  Akzeptanz endlicher Aufsührungsfolgen durch Büchi Automaten  Annahme: der letzte Zustand wird unendlich häufig wiederholt

51 tele Entwurf von Telekommunikationssystemen  -Automaten  Beispiel  Falls die Selbsttestroutine des Getränkeautomaten einen Fehler entdeckt, dann wird das bereits eingegebene Geld zurückgegeben und der Automat verbleibt dauerhaft in einem Zustand in dem die Anzeige “sorry, out of order” erscheint.  F = {frei, sorry} frei ausg erh ?g ?a !d !z fehler sorry !z * ?f

52 tele Entwurf von Telekommunikationssystemen  -Automaten  Literatur  [Thomas]  [Alpern and Schneider]

53 tele Entwurf von Telekommunikationssystemen Erweiterte Endliche Zustandsmaschinen (EFSMs)  Eine EFSM ist eine FSM erweitert um  Datenabstraktion (Variablen)  Operationen auf Variablen  symbolische (explizite) Zustände  Boole’sche Tansitionsbedingungen

54 tele Entwurf von Telekommunikationssystemen Erweiterte Endliche Zustandsmaschinen (EFSMs)  Formalisierung  S: Menge der symbolischen Zustände  D: n-dimensionaler linearer Raum, jedes D ist ein Datenbereich  V = { , v ,.., v }: endliche Menge von Programmvariablen –  : Kontrollvariable über Domäne S –V = (v ,.., v )  D: Datenvariablen  O: endliche Menge von Ausgabesignaltypen  I: endliche Menge von Eingabesignaltypen  T: S x 2 x I  S x 2 x O  C: eine Anfangsbedingung über S x 2  Wir nennen E = (S, D, V, O, I, T, C) eine erweiterte endliche Zustandsmaschinen (EFSM)  Bemerkungen  Zustand ist eine Funktion s: V  2 x 2  Da die D potentiell unendlich sind haben EFSM potentiell eine unendliche Zustandsmenge  EFSM sind Turing-vollständig DD D SD

55 tele Entwurf von Telekommunikationssystemen CEFSMs  Kommunizierende Erweiterte Zustandsautomaten  Grundlage für viele praktische Spezifikationssprachen –Specification and Description Language (SDL)  standardisiert nach ITU Z.100 –Estelle  ISO standardisiert –ROOM / UML RT –Promela (mit endlicher Kanalkapazität)

56 tele Entwurf von Telekommunikationssystemen Hierarchische Zustandsmaschinen (HFSM)

57 tele Entwurf von Telekommunikationssystemen Hierarchische Zustandsmaschinen (HFSM)  Grundkonzepte  Zustandsabstraktion und Verfeinerung –geometrischer Einschluss  Higraphs (s. [Harel 88]) –Kombinieren Konzepte von  Venn-Diagrammen (geometrisches Umfassen)  Hypergraphen (Kanten verbinden mehr als zwei Knoten)  Multi-level transitions –z.B.: S1- scan_digits - S2  Gruppentransitionen –z.B.:S4 - S1  Statecharts Notation (s. [Harel 87]) –Zustandsdiagramme –Tiefe –Orthogonalität (nebenläufige Komposition von Zuständen) –Broadcast-Kommunikation  HCEFSM: ROOM/UML RT

58 tele Entwurf von Telekommunikationssystemen Hierarchische Zustandsmaschinen (HFSM)  HCEFSM-basierte CASE Werkzeuge  URLs  iLogix:  Rational:  ObjecTime:

59 tele Entwurf von Telekommunikationssystemen Zusammenfassung: Erweiterungen von FSMs  B1 (Datenabstraktion)  Erweiterte Endliche Zustandsmaschinen (Extended Finite State Machines, EFSMs)  B2 (Zustandsexplosion)  Dekomposition in Menge von kommunizierenden Zustandsmaschinen (CFSMs)  EFSMs  B3 (Beschränkter Speicher)  EFSMs  B4 (Abstraktion / Verfeinerung)  Hierarchische Zustandsmaschinen (HFSM, Statecharts)  B5 (Mechanismen für nebenläufige Systeme)  Komposition von CFSMs  B6 (Unendliche Ausführungfolgen)  Automaten auf unendlichen Eingaben (Büchi Automaten)  B7 (Echtzeitanforderungen)  zeitbeschränkte FSMs, Timer-Konstrukte  B8 (Graphische Repräsentierbarkeit)

60 tele Entwurf von Telekommunikationssystemen Bibliographische Referenzen  [Alpern and Schneider] B. Alpern and F. Schneider, Recognizing Safety and Liveness, Distributed Computing, 2: , 1987  [Brand] D. Brand and P. Zafiropoulo, On Communicating Finite State Machines, Journal of the ACM (20) 2, April 1983, S  [Ghezzi] C. Ghezzi et al., Fundamentals of Software Engineering, Prentice-Hall, 1993  [Harel 87] D. Harel, Statecharts: A Visual Formalism for Complex Systems, Science of Computer Programming 8 (1987), S  [Harel 88] D. Harel, On Visual Formalisms, CACM, Volume 31, Number 5, S

61 tele Entwurf von Telekommunikationssystemen Bibliographische Referenzen  [Holzmann 91] G. Holzmann, Design and Validation of Computer Protocols, Prentice-Hall, 1991  [Hopcroft and Ullman] J. Hopcroft and J. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, 1979  [Thomas] W. Thomas, Automata on Infinite Objects, in: J. van Leeuwen (ed.), Handbook on Theoretical Computer Science, Vol. B, Elsevier, 1990


Herunterladen ppt "Tele Entwurf von Telekommunikationssystemen- 60 - Übersicht  1. Einführung in den Software-Entwurfsprozess  2. Anforderungsspezifikation mit Zustandsmaschinen."

Ähnliche Präsentationen


Google-Anzeigen