5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia...
Transcript of 5. Einführung in SDLmidas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre...SDL in Wikipedia...
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