5. einführung in sdlmidas1.e-technik.tu-ilmenau.de/~webkn/webdaten/lehre...sdl in wikipedia...

Post on 22-Jan-2021

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Spezifikation von Kommunikationssystemen5. Einführung in SDL

Prof. Jochen Seitz23. April 2019

Fachgebiet „Kommunikationsnetze“

1

Übersicht

Grundlagen von SDL

Systeme in SDL

Prozesse in SDL

Beschreibungsebenen in SDL

2

Grundlagen von 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

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

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

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

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

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

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

Systeme in 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

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

Prozesse in 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

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

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

Beschreibungsebenen in 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

Beispielha�e Struktur eines Systems in SDL

ENV

System

Block a

Block d

Block b

Block cProcess

a Processb

Processd

Processc

16

Text und Grafik in SDL

SDL-PR(Textual PhraseRepresentation)

SDL-GR(Graphical

Representation)

Quelle: [7]17

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

Systemspezifikation in SDL (II)

System <system_name>

SystemdeklarationenSignale, Signallisten, Datentypen Textsymbol

Typdeklarationen

Block-InteraktionBlöcke, Environment Kanäle

19

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

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

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

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

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

Elemente einer Blockspezifikation

block <block_name>

BlockdeklarationenSignale, Signallisten, Datentypen Textsymbol

Typdeklarationenauf Blockebene

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

<Cha

nnel

_nam

es>

25

Regeln für eine Blockspezifikation

• Eine Blockspezifikation muss mindestens einen Prozessenthalten.

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

26

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

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

Elemente einer Prozessspezifikation

Process <process_name>

ProzessdeklarationenSignale, Signallisten, Datentypen, Variablen Textsymbol

Typdeklarationenauf Prozessebene

Prozess-GraphExtended Finite State Machine

29

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

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

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

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

top related