01.09.2013 Aufrufe

Grundlegende Konstrukte in SDL

Grundlegende Konstrukte in SDL

Grundlegende Konstrukte in SDL

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Spezifikation von Kommunikationssystemen Sommersemester 2012<br />

119<br />

SPEZIFIKATION VON<br />

KOMMUNIKATIONSSYSTEMEN<br />

6. <strong>SDL</strong>-Basiskonstrukte für die Spezifikation von<br />

Prozessen<br />

Eigenschaften e<strong>in</strong>es Prozesses<br />

<strong>in</strong> <strong>SDL</strong><br />

Erweiterter endlicher Automat<br />

Verhaltensbeschreibung durch<br />

Zustände und<br />

Zustandsübergänge<br />

Darstellung durch gerichteten Graphen<br />

Knotenmenge = Zustandsmenge<br />

Gerichtete Kanten = Zustandsübergänge<br />

Spezifikation von Kommunikationssystemen<br />

Fachgebiet „Kommunikationsnetze“ 1


Spezifikation von Kommunikationssystemen Sommersemester 2012<br />

120<br />

121<br />

Basiskonstrukte<br />

*<br />

Warten<br />

Icon-<br />

Req<br />

IDisInd<br />

Startsymbol<br />

Spezifikation von Kommunikationssystemen<br />

Fachgebiet „Kommunikationsnetze“ 2<br />

Start<br />

Zustand<br />

E<strong>in</strong>gabe<br />

Ausgabe<br />

Zur Verdeutlichung des Beg<strong>in</strong>ns e<strong>in</strong>es endlichen<br />

Automaten<br />

Startsymbol immer leer<br />

(ke<strong>in</strong> Zustand!)<br />

Spezifikation von Kommunikationssystemen


Spezifikation von Kommunikationssystemen Sommersemester 2012<br />

122<br />

123<br />

Spezielle Zustandssymbole<br />

E<strong>in</strong> * <strong>in</strong> e<strong>in</strong>em Zustandssymbol<br />

bedeutet, dass aus jedem Zustand<br />

heraus die angegebenen Aktionen<br />

möglich s<strong>in</strong>d.<br />

E<strong>in</strong> – <strong>in</strong> e<strong>in</strong>em Zustandssymbol am Ende<br />

e<strong>in</strong>er Transition bedeutet, dass wieder<br />

der Ausgangszustand angenommen<br />

wird.<br />

Zeit <strong>in</strong> <strong>SDL</strong><br />

Timer-Mechanismus<br />

ähnlich wie e<strong>in</strong> Signal<br />

Spezifikation von Kommunikationssystemen<br />

Prozess wird <strong>in</strong> Abhängigkeit von e<strong>in</strong>er vorher festgelegten<br />

Zeit stimuliert, <strong>in</strong>dem das Timer-Signal <strong>in</strong> die<br />

E<strong>in</strong>gabewarteschlange des Prozesses geschrieben wird<br />

Für die Def<strong>in</strong>ition e<strong>in</strong>es Timers<br />

wird das Textsymbol verwendet<br />

SET zum Setzen des Timers<br />

RESET für das Rücksetzen<br />

Spezifikation von Kommunikationssystemen<br />

Timer T;<br />

Parametrisierung für e<strong>in</strong>e Menge von Timern möglich<br />

Fachgebiet „Kommunikationsnetze“ 3<br />

*<br />

—<br />

Textsymbol<br />

SET<br />

(NOW+4, T) Tasksymbol


Spezifikation von Kommunikationssystemen Sommersemester 2012<br />

124<br />

125<br />

Deklaration und Gebrauch von Daten<br />

Daten existieren im Prozess <strong>in</strong> Form von Werten von<br />

Variablen<br />

Textsymbol zur Deklaration von Variablen<br />

E<strong>in</strong>leitung durch Schlüsselwort DCL („declare“)<br />

Textsymbol irgendwo im Diagramm<br />

Manipulation des Variablenwerts während e<strong>in</strong>es<br />

Zustandsübergangs durch e<strong>in</strong> Tasksymbol (Zuweisung mit<br />

Beachtung der Typkompatibilität)<br />

Spezifikation von Kommunikationssystemen<br />

Datentypen <strong>in</strong> <strong>SDL</strong><br />

Vordef<strong>in</strong>ierte Datentypen<br />

<strong>in</strong> <strong>SDL</strong>:<br />

Boolean<br />

Character<br />

Charstr<strong>in</strong>g<br />

Integer<br />

Natural<br />

Real<br />

PId<br />

Typ-Konstruktoren<br />

Record<br />

Arrays<br />

Menge<br />

Spezifikation von Kommunikationssystemen<br />

Aufzählung<br />

Variablen vom Typ PId<br />

bezeichnen Prozess-<br />

Instanzen<br />

Fachgebiet „Kommunikationsnetze“ 4


Spezifikation von Kommunikationssystemen Sommersemester 2012<br />

126<br />

127<br />

Alternativen<br />

Steuerung von Zustandsübergängen mit Hilfe von<br />

Variablen<br />

E<strong>in</strong>fache Alternative<br />

(Antwort 1) (Antwort 2)<br />

Frage<br />

Mehrfache Alternative<br />

Frage<br />

(Antwort 1) (Antwort 2) (Antwort 3) (Antwort 4)<br />

Spezifikation von Kommunikationssystemen<br />

Signale mit Daten<br />

Signale dienen im Wesentlichen zum Anstoß von<br />

Zustandsübergängen<br />

Signale können auch zur Übermittlung von Daten von<br />

e<strong>in</strong>em Prozess zum anderen verwendet werden<br />

Variablen werden spezifiziert, die die Werte des Signals<br />

speichern<br />

Das Weglassen e<strong>in</strong>es oder mehrerer Variablen im<br />

E<strong>in</strong>gabesymbol ist erlaubt<br />

Reihenfolge muss beachtet werden<br />

Spezifikation von Kommunikationssystemen<br />

Fachgebiet „Kommunikationsnetze“ 5


Spezifikation von Kommunikationssystemen Sommersemester 2012<br />

128<br />

129<br />

Pr<strong>in</strong>zip der Prozesskommunikation<br />

Kommunikation zwischen Prozess-Instanzen erfolgt<br />

asynchron<br />

Jeder Prozess besitzt (implizit) e<strong>in</strong>en FIFO-Speicher für<br />

e<strong>in</strong>gegangene Signale<br />

Jedes Signal wird an (höchstens) e<strong>in</strong>en Empfänger<br />

gesendet<br />

Ke<strong>in</strong> Broadcast<strong>in</strong>g oder Multicast<strong>in</strong>g<br />

Der Sender e<strong>in</strong>es Signals erhält ke<strong>in</strong>e Quittung<br />

Jeder FIFO-Speicher nimmt nur Signale auf, die auch<br />

für die Prozess-Instanz def<strong>in</strong>iert s<strong>in</strong>d<br />

Spezifikation von Kommunikationssystemen<br />

Implizite Transition<br />

Problem:<br />

Signale für e<strong>in</strong>e Prozess-Instanz können jederzeit e<strong>in</strong>treffen<br />

Für jeden Zustand der Prozess-Instanz müsste für jedes<br />

erlaubte Signal e<strong>in</strong>e entsprechende Aktion spezifiziert<br />

werden<br />

Lösung: Implizite Transition<br />

Falls <strong>in</strong> e<strong>in</strong>em Zustand e<strong>in</strong> Signal anliegt, für das ke<strong>in</strong>e<br />

Verarbeitungsaktion def<strong>in</strong>iert wurde, wird es ohne weitere<br />

Aktion konsumiert<br />

Diese Transition führt wieder <strong>in</strong> den Ausgangszustand<br />

zurück.<br />

Spezifikation von Kommunikationssystemen<br />

Fachgebiet „Kommunikationsnetze“ 6


Spezifikation von Kommunikationssystemen Sommersemester 2012<br />

130<br />

131<br />

Adressierung von Prozessen<br />

E<strong>in</strong>deutiger Prozess-Identifikator vom Typ PId<br />

können als Parameterwert <strong>in</strong> Signalen versendet werden<br />

können <strong>in</strong> lokalen Variablen gespeichert werden<br />

Explizite Adressierung<br />

Angabe des Empfängers (mit to)<br />

Mit Hilfe vordef<strong>in</strong>ierter Variablen<br />

(self, sender, offspr<strong>in</strong>g, parent)<br />

Implizite Adressierung<br />

Ohne Angabe<br />

Angabe e<strong>in</strong>er Signalroute (mit via)<br />

Angabe e<strong>in</strong>er Prozessmenge (mit to)<br />

Spezifikation von Kommunikationssystemen<br />

Abspeichern von Signalen<br />

Signale werden <strong>in</strong> e<strong>in</strong>er Warteschlange abgelegt<br />

FIFO-Pr<strong>in</strong>zip<br />

Kann e<strong>in</strong> Signal nicht sofort verarbeitet werden, würde es e<strong>in</strong>fach<br />

verworfen werden<br />

Mittels Save kann das strikte FIFO-Pr<strong>in</strong>zip durchbrochen werden<br />

Signalname<br />

Das Signal wird also nicht konsumiert, sondern im Speicher belassen<br />

Spezifikation von Kommunikationssystemen<br />

Fachgebiet „Kommunikationsnetze“ 7


Spezifikation von Kommunikationssystemen Sommersemester 2012<br />

132<br />

133<br />

Prozeduren<br />

Prozeduren s<strong>in</strong>d ähnlich wie Prozesse strukturiert,<br />

allerd<strong>in</strong>gs mit speziellen Symbolen:<br />

Prozedurstartsymbol<br />

Rückkehrsymbol<br />

Für den Prozeduraufruf gibt es e<strong>in</strong> spezielles<br />

Symbol<br />

Spezifikation von Kommunikationssystemen<br />

Zusätzliche Literatur<br />

Prof. Hans W. Nissen: Software Eng<strong>in</strong>eer<strong>in</strong>g:<br />

Entwicklung komplexer Software-Systeme<br />

FH Köln<br />

http://www.nt.fhkoeln.de/fachgebiete/<strong>in</strong>f/nissen/eks.html<br />

Spezifikation von Kommunikationssystemen<br />

Fachgebiet „Kommunikationsnetze“ 8

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!