5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia...

37
Spezifikation von Kommunikationssystemen . Einführung in SDL Prof. Jochen Seitz . April Fachgebiet „Kommunikationsnetze“

Transcript of 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia...

Page 1: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Spezifikation von Kommunikationssystemen5. Einführung in SDL

Prof. Jochen Seitz23. April 2019

Fachgebiet „Kommunikationsnetze“

1

Page 2: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Übersicht

Grundlagen von SDL

Systeme in SDL

Prozesse in SDL

Beschreibungsebenen in SDL

2

Page 3: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Grundlagen von SDL

Page 4: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Specification and Description Language

• Ziel = Beschreibung und Spezifikation von Systemen• Systemverhalten• Systemstruktur• Systemdaten• Implementierungsorientiertheit

• Ursprung = CCITT Empfehlung Z.100 (heute ITU-T)• Darstellung der internen Systemkommunikation und der

Kommunikation mit der Umwelt

3

Page 5: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

SDL in Wikipedia

Specification and DescriptionLanguageDie Specification and DescriptionLanguage (SDL, engl. Spezifikations-und Beschreibungs-Sprache) ist einevon der ITU-T, d.h. demTelekommunikations-Standardisierungs-Sektor derInternationalen Fernmeldeunion inden so genannten Standards(Recommendations) Z.100� definierteModellierungssprache.

SDL –GrundprinzipSie ist im Telekommunikationsbereichverbreitet um (verteilte) Systememittels erweiterterZustandsmaschinen (Prozesse) zubeschreiben. Die verschiedenenProzesse werden über Kanäleverbunden und können darüberSignale austauschen und sich damitgegenseitig beeinflussen.

4

Page 6: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Allgemeine Literaturhinweise

• Ferenc Belina, Dieter Hogrefe und Amardeo Sarma: SDL withApplications from Protocol Specification [1]

• Anders Olsen: System Engineering Using SDL [6]

• Andreas Mitschele-Thiel: Systems Engineering with SDL: DevelopingPerformance-Critical Communications Systems [5]

• Laurent Doldi: Validation of Communications Systems with SDL: TheArt of SDL Simulation and Reachability Analysis [2]

• Hartmut König: Protocol Engineering: Prinzip, Beschreibung undEntwicklung von Kommunikationsprotokollen [4]

• Jan Ellsberger, Dieter Hogrefe und Amardeo Sarma: SDL – FormalObject-Oriented Language for Communicating Systems [3]

5

Page 7: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Entwicklung von SDL

1972 Beginn der Untersuchungen1976 erste SDL-Empfehlung

• Rudimentär• Verhaltensbeschreibung eher informell

1980 und 1984 weitere SDL-Empfehlungen1988 Formale Beschreibungstechnik (Formal

Description Technique) FDTTools zur Generierung von Programm- undSimulationscode (Basic SDL)

1992, 1996, 2000 Objektorientiertes SDL

6

Page 8: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Anwendungsgebiete von SDL

• Entwicklung durch CCITT zur Beschreibung vonKommunikationssystemen

• Beschreibungsmöglichkeit verteilter (kommunizierender)Systeme• Kommunikation System←→ Umwelt (“Environment”)• Innere Struktur von Systemen und Kommunikation der

Systemkomponenten• Parallele (Teil-)Systeme, Echtzeit

• Top-Down Entwurf durch unterschiedlicheAbstraktionsebenen

7

Page 9: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Anforderungen an formale Beschreibungssprache

• Eine formale Beschreibungssprache(Formal Description Technique)• hat klar definierte Konzepte;• muss widerspruchsfrei, präzise und übersichtlich sein;• bietet die Möglichkeit, die Richtigkeit einer Spezifikation

zu überprüfen (z. B. durch eine Simulation):• Konformität (Übereinstimmung mit der Spezifikation)• Konsistenz

• ist die Grundlage für Tools zur Erstellung, zur Verifikation,zur Simulation und zum Testen von Spezifikationen.

• Wichtig: Eine formale Spezifikation dient nicht nur derImplementierung, sondern auch der Kommunikationzwischen Experten.

• Weiterhin ist sie die Grundlage für die schnellePrototypentwicklung (“Rapid Prototyping”).

8

Page 10: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Spezifikation versus Beschreibung

• SDL kann zur Beschreibung bestehender undentstehender Systeme verwandt werden:• Spezifikation eines Zielsystems (Synthese)• Beschreibung eines bestehenden System (Analyse)

• In SDL prinzipiell kein Unterschied zwischen Syntheseund Analyse⇒ In beiden Fällen gleiche Sprachelemente

9

Page 11: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Systeme in SDL

Page 12: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Der Systembegri� in SDL

• System als Black Box.• Blick auf das System, d. h. die Systemfunktion:

• Beschreibung o�ener Systeme• O�ene Systeme erbringen der Umwelt einen Dienst:

SDL-SystemSignale

10

Page 13: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Systemverhalten in SDL

• System als White Box• Blick in das System, d. h. das Systemverhalten

• Systemfunktion wird in Teilfunktionen (Module) aufgeteilt.• Teilfunktionen laufen zeitlich parallel ab.• Teilfunktionen sind als Prozesse realisiert.• Prozesse können Instanzen eines Prozesstyps sein.

Prozess-instanz

Prozess-instanz

signal signal

signal

signal

11

Page 14: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Prozesse in SDL

Page 15: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Rolle der Prozesse in SDL

• Prozesse implementieren Funktionalität• Prozesse modellieren Parallelität

• Gleichzeitige Funktionen in verschiedenenProzessinstanzen

• Innerhalb eines Prozesses alles sequentiell(Analogie: Multitasking-Prozess)

• Prozess ≡ Extended Finite State Machine (EFSM)• Finite: endliche Anzahl von Zuständen und Signalen• Extended: Nutzung von Variablen zur Beschreibung des

Prozesszustandes (Vermeidung von State Explosion)

12

Page 16: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Communicating EFSMs

Die Prozesse kommunizieren mit Hilfe von Signalenuntereinander und mit der Umwelt.

Signale: Symbolalphabet zur Kommunikation• repräsentieren Ereignisse (Events)• besitzen Grundbedeutung (Signalname)• tragen optional Parameter

Input: Signal aus Umwelt oder Prozessinstanz• löst Zustandsübergang aus (steht am Anfang)• wird konsumiert

Output: Signal, das während eines Zustandsübergangsentsteht

13

Page 17: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Signale in SDL

• Signale: „Sprache“ zum Informationsaustausch• Signale sind an Kanäle und Signalrouten gebunden

Signalroute: Kommunikationsweg zwischen Prozesseneines Blockes, ohne Zeitverzögerung

Kanal: Kommunikationswege zwischen Prozessenund Umwelt oder Prozessen anderer Blöcke

• Signalrouten und Kanäle definieren erlaubte Signale⇒ Festlegung, welche Information zwischen welchenKommunikationspartnern ausgetauscht werden dürfen

14

Page 18: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Beschreibungsebenen in SDL

Page 19: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Beschreibungsebenen in SDL

• Systeme werden in SDL hierarchisch beschrieben:Übersicht→ Detail• System besteht aus Blöcken (mindestens 1 Block)• Block besteht aus Subblöcken oder Prozessen

(Subblock erö�net beliebige Beschreibungstiefe)• Prozess ist Atom der Beschreibung

• Prozesse machen die Arbeit• Es kommunizieren immer Prozesse miteinander

• Unterstützung „Top Down“-Design• Grafische und textuelle Beschreibung

15

Page 20: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Beispielha�e Struktur eines Systems in SDL

ENV

System

Block a

Block d

Block b

Block cProcess

a Processb

Processd

Processc

16

Page 21: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Text und Grafik in SDL

SDL-PR(Textual PhraseRepresentation)

SDL-GR(Graphical

Representation)

Quelle: [7]17

Page 22: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Systemspezifikation in SDL (I)

System:

• ist die höchste Beschreibungsebene in SDL• beschreibt den zu spezifizierenden Teil der „Welt“• bietet eine abstrakte, undetaillierte Sicht (Top-Down)• besteht aus einer Menge miteinander und mit der Umwelt

kommunizierender Blöcke (Kommunikation: mittelsSignale über Kanäle)

18

Page 23: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Systemspezifikation in SDL (II)

System <system_name>

SystemdeklarationenSignale, Signallisten, Datentypen Textsymbol

Typdeklarationen

Block-InteraktionBlöcke, Environment Kanäle

19

Page 24: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Regeln für eine SDL-Systemspezifikation

• Ein System hat mindesten einen Block.• (Daten-)Typen sind in SDL auf Systemebene vordefiniert.• Alle auf Systemebene verwendeten Signale Kanäle und

Typen müssen auf Systemebene deklariert sein.• Deklarationen auf Systemebene gelten auch für Umwelt.• Blöcke können referenziert sein (Modularität).

20

Page 25: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Kanalspezifikation

Kanäle

• verbinden Blockinstanzen miteinander und mit derUmwelt.

• können sowohl einfach als auch doppelt gerichtet sein.• müssen erlaubte Signale spezifiziert haben, auch in

Signallisten.• werden in Basic SDL direkt an andere Kanäle und

Signalrouten „angeschlossen“.

21

Page 26: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Kanäle in graphischer und textueller Darstellung (I)

<channel_name>

[<signal, signal>][<(signallist)>]

[gate][gate]

mit Verzögerung

channel <channel_name>

from {<block_name> | env}via <gate>to {<block_name> | env}with <signal, signal>

from {<block_name> | env}via <gate>to {<block_name> | env}with <(signallist)>

endchannel <channel_name>

22

Page 27: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Kanäle in graphischer und textueller Darstellung (II)

<channel_name>

[<signal, signal>][<(signallist)>]

[gate][gate]

ohne Verzögerung

channel <channel_name> nodelay

from {<block_name> | env}via <gate>to {<block_name> | env}with <signal, signal>

from {<block_name> | env}via <gate>to {<block_name> | env}with <(signallist)>

endchannel <channel_name>

23

Page 28: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Blockspezifikation

Blöcke

• dienen der Strukturierung.• können sowohl intern spezifiziert als auch referenziert

sein.• enthalten Subblöcke oder Prozesse.

Kommunikation zwischen Prozessen

• über Signalrouten (nicht verzögernd, gleiche graphischeRepräsentation wie Kanäle).

• Signalrouten und Kanäle werden verbunden.

24

Page 29: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Elemente einer Blockspezifikation

block <block_name>

BlockdeklarationenSignale, Signallisten, Datentypen Textsymbol

Typdeklarationenauf Blockebene

Prozessinteraktion (Subblock Interaction)Prozesse, Kanäle, Signalrouten

<Cha

nnel

_nam

es>

25

Page 30: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Regeln für eine Blockspezifikation

• Eine Blockspezifikation muss mindestens einen Prozessenthalten.

• Signalroutendeklarationen können auch weggelassenwerden (implizite Deklaration).

26

Page 31: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Verbindung Signalroute – Kanal

• Ein Kanal muss mit mindestens einer Signalrouteverbunden sein.

• Eine Signalroute muss mit mindestens einem Kanalverbunden sein (bei SDL-92: genau einem Kanal).

• Die Vereinigung der Mengen aller Signale der Signalroutenund der Kanäle muss in jeder Richtung gleich sein.

27

Page 32: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Prozessspezifikation

Prozesse

• beschreiben (im Zusammenspiel aller Prozessinstanzen)das dynamische Systemverhalten.

• können direkt spezifiziert werden oder auf der Basis vonKomponenten (Services) zusammengesetzt werden.

• arbeiten parallel (Services nicht).• können während der Systemlaufzeit eine dynamisch sich

ändernde Anzahl von Instanzen aufweisen (wohingegenBlöcke immer eine konstante Anzahl aufweisen).

28

Page 33: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Elemente einer Prozessspezifikation

Process <process_name>

ProzessdeklarationenSignale, Signallisten, Datentypen, Variablen Textsymbol

Typdeklarationenauf Prozessebene

Prozess-GraphExtended Finite State Machine

29

Page 34: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Regeln für die Prozessspezifikation

• Prozesse müssen so angeordnet sein, dass sie Signalesenden und empfangen können.

• Alle gesendeten und empfangenen Signale müssendeklarieret sein, sie bilden das Signalset.

• Signalsets müssen explizit deklariert werden, wenn dieSignale nicht durch Signalrouten definiert sind:<signalset> ::= signalset<signallist>

• Ansonsten werden Signalsets implizit deklariert.

30

Page 35: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Sichtbarkeitsregeln

Alle Signale, Signallisten und Typen sind wie folgt sichtbar:

Deklaration SichtbarkeitSystemebene Alle Blöcke und ProzesseBlockebene Alle Prozesse innerhalb des Blocks

Prozessebene Innerhalb des Prozesses, Variablen sind lokal

31

Page 36: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Literatur i

Literatur

Ferenc Belina, Dieter Hogrefe und Amardeo Sarma. SDL with Applications fromProtocol Specification. London: Prentice Hall International, 1991.

Laurent Doldi. Validation of Communications Systems with SDL: The Art of SDLSimulation and Reachability Analysis. Chichester: Wiley, 2003.

Jan Ellsberger, Dieter Hogrefe und Amardeo Sarma. SDL: FormalObject-Oriented Language for Communicating Systems. London: Prentice Hall,2007.

Hartmut König. Protocol Engineering: Prinzip, Beschreibung und Entwicklungvon Kommunikationsprotokollen. 1. Auflage. Stuttgart: Teubner, 2003.

32

Page 37: 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia Specification and Description Language DieSpecification and Description Language(SDL,

Literatur ii

Andreas Mitschele-Thiel. Systems Engineering with SDL: DevelopingPerformance-Critical Communications Systems. Chichester [England], NewYork: J. Wiley, 2001.

Anders Olsen. Systems Engineering Using SDL-92. 4. Auflage. Amsterdam:Elsevier, 1997.

Rick Reed. Domain of Use SDL and MSC.http://www.sdl-forum.org/sdl2000present/sld001.htm. Mai 2000.

33