Grundlegende Konstrukte in SDL
Grundlegende Konstrukte in SDL
Grundlegende Konstrukte in SDL
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