2.6 Die komplexe Methode SDL


1 Kurzdarstellung von SDL

SDL (Specification and Description Language) ist eine formale Sprache mit dem Ziel der Spezifikation und Beschreibung des Verhaltens von Telekommunikationssystemen (insbesondere in den Funktionsbereichen Anrufbearbeitung, Wartung, Fehlerbehandlung, Systemkontrolle sowie beim Entwurf von Datenkommunikationsprotokollen). Aufgrund ihrer Eigenschaften ist SDL generell zur Verhaltensspezifikation von Echtzeitsystemen geeignet. Die Sprache ist in grafischer und textueller Notation definiert. SDL enthält eine Reihe von Konzepten wie Typen-, Instanzen-, Kommunikations- und Sichtbarkeitskonzept und dynamische Semantik.

Darstellungsmittel von SDL sind u. a. Blöcke, Kanäle, Prozesse, Signale und Systemdiagramme.

Als methodische Komponenten beinhaltet SDL:

- Hierarchische Dekomposition (HD)

Blöcke, Prozesse und Kanäle können beliebig tief in Untereinheiten der gleichen Art zerlegt werden. Zur geschlossenen Darstellung der dabei entstehenden logischen Abhängigkeiten sieht die grafische Syntax von SDL Block- bzw. Prozeß-Baumdiagramme vor.

- Zerlegung von Blöcken in Prozesse (BP)

Zur genauen funktionalen Spezifikation werden Blöcke letztendlich in Prozesse zerlegt; letztere bestimmen insgesamt die dynamischen Eigenschaften der Informationsverarbeitung des Vaterblocks.

- Block-Interaktionsdiagramme (BID)

Sie sind ein Sprachmittel zur Spezifikation der Interaktion zwischen Blöcken als Ganzes.

- Prozeß-Diagramme (PD)

Sie sind ein Sprachmittel zur Spezifikation der Interaktion zwischen den Zuständen und Eingangssignalen eines Prozesses.

- Gültigkeitsregeln (GS)

Aufgrund ihrer formal korrekten Syntax und Semantik sind SDL-Spezifikationen zur automatischen Konsistenzprüfung geeignet. Dabei werden Benutzerfehler frühzeitig aufgedeckt.

- Abbildbarkeit (MAP)

Bei der Konzeption der Syntax von SDL wurde auf eine möglichst gute Abbildbarkeit von SDL-Spezifikationen in höhere Programmiersprachen (CHILL, C) und Netze Wert gelegt.

- Time Sequence Diagramme

Sie spezifizieren Art und relative Reihenfolge der Signale, die zwischen Prozessen auszutauschen sind.

- Message Sequence Charts (MSC)

Message Sequence Charts sind Time Sequence Diagramme, die speziell für das Zusammenwirken mit SDL erweitert wurden.


2 Tabellarische Gegenüberstellung

Die folgende Tabelle stellt den Elementarmethoden die methodischen Komponenten von SDL gegenüber. Falls sich in der zweiten Spalte der Tabelle kein Eintrag findet, gibt es in SDL keine Entsprechung. Sonst verweist ein Eintrag auf die entsprechende Stelle in der SDL-Literatur. Eine Erläuterung zum Eintrag findet sich in Teil 3 des Abgleichs. Einträge, die durch einen Stern (*) gekennzeichnet sind, betreffen Methoden, die durch SDL vollständig abgedeckt sind. Diese werden in Teil 3 des Abgleichs nicht weiter erläutert.

Gegenüberstellung der Elementarmethoden und der methodischen Komponenten von SDL
AUD Audit  
AVK Analyse verdeckter Kanäle  
BALK Balkenplan  
BAUM Baumdiagramm  
BBTE Black-box-Testfallentwurf  
CRC Class-Responsibility-Collaboration  
DIAL Dialog Design Modellierung  
DFM Datenfluß-Modellierung BID Block-Interaktionsprogramm
/ SDL, 85a /, Z.100, Kapitel 2.4
DNAV Data Navigation Modelling  
DVER Designverifikation  
ELH Entity Life History  
ER E/R-Modellierung  
ETAB Entscheidungstabellentechnik  
EVV Earned Value Verfahren  
EXPM Expertisemodell  
FKTD Funktionale Dekomposition HD hierarchische Dekomposition,
/ SDL, 85a /, Z.102, Kapitel 2.1
BP Zerlegung von Blöcken in Prozesse,
/ SDL, 85a /, Z.100, Kapitel 2.2
FMEA Failure Mode Effect Analysis  
FNET Funktionsnetz-Modellierung  
FS Formale Spezifikation  
IAM Interaktionsmodellierung  
KFM Kontrollfluß-Modellierung PD Prozeß-Diagramm
/ SDL, 85a /, Z.100, Kapitel 2.2
KOM Klassen-Objektmodellierung  
LOGM Logische DB-Modellierung  
MODIAG Moduldiagramme  
NORM Normalisierung  
NPT Netzplan-Technik  
NWA Nutzwert-Analyse  
OBJE Objektentwurfstechnik  
OGG Organigramm  
PCODE Pseudocode  
PRODIAG Prozeßdiagramme  
PVER Programmverifikation  
PZIM Prozeßinteraktionsmodellierung PD Prozeß-Diagramm
/ SDL, 85a /, Z.100, Kapitel 2.2
Time-Sequence Diagrams
/ SDL, 91 /, Kapitel 9.1.3, 9.4.1
REV Review  
SIMU Simulationsmodelle PD Prozeß-Diagramm
/ SDL, 85a /, Z.100, Kapitel 2.2
Time-Sequence Diagrams
/ SDL, 91 /, Kapitel 9.1.3, 9.4.1
Message Sequence Chart ( MSC),
/ SDL, 92 /, Z.120
SMOD Schätzmodelle  
SSM Subsystemmodellierung  
STAT Statische Analyse GS Gültigkeitsregeln
/ SDL, 85a /, Z.100, Kapitel 2.1, 3
/ SDL, 85a /, Z.101, Kapitel 2, 4
STRD Structured Design  
SVM Systemverhaltensmodelle PD Prozeß-Diagramm
/ SDL, 85a /, Z.100, Kapitel 2.2
T Testen MAP Abbildbarkeit
/ SDL, 85b /, Annex D, Kapitel D.8.1
TRDA Trend-Analyse  
UCM Use-Case-Modellierung  
WBTE White-box-Testfallentwurf  
ZUST Zustandsübergangsmodellierung PD Prozeß-Diagramm
/ SDL, 85a /, Z.100, Kapitel 2.2
ZUSTO Zustandsmod. im obj.-orient. Bereich  
ZUVM Zuverlässigkeitsmodelle  

Tabelle 2.6: Elementarmethoden - SDL


3 Detaillierung der Zuordnung

Datenfluß-Modellierung (DFM)

Entsprechung in SDL: BID Block-Interaktionsdiagramm / SDL, 85a /, Z.100, Kapitel 2.4


Erläuterung

In der statischen Semantik sind Datenflüsse und Kanäle bzw. DFM-Prozesse und SDL-Blöcke sehr ähnlich mit Ausnahme der Daten selbst; diese sind in SDL von Anfang an typgebundene Signale. In der dynamischen Semantik unterscheiden sich DFM-Prozesse, SDL-Blöcke und SDL-Prozesse erheblich. Bei DFM wird (vereinfachend) angenommen, daß ein Prozeß automatisch Ausgabedaten erzeugt, wenn alle Eingabedaten präsent sind. Dagegen haben SDL-Blöcke kein eigenes dynamisches Verhalten; dieses steckt ausschließlich in den im Block enthaltenen SDL-Prozessen.

Funktionale Dekomposition (FKTD)

Entsprechung in SDL: HD hierarchische Dekomposition, / SDL, 85a /, Z.102, Kapitel 2.1
BP Zerlegung von Blöcken in Prozesse, / SDL, 85a /, Z. 100, Kapitel 2.2


Erläuterung

Die Grundsätze der FKTD finden auch in SDL sinngemäß weitgehende Entsprechung. Zu beachten ist, daß bei der Verfeinerung von Kanälen neue Blöcke erzeugt werden. Außerdem müssen Prozeß-Baumdiagramme auf die entsprechenden Block-Baumdiagramme unter Beachtung bestimmter Konsistenzregeln abgestimmt sein.

Kontrollfluß-Modellierung (KFM)

Entsprechung in SDL: (mit Einschränkungen, da nur ZUST-Prozesse)
PD Prozeß-Diagramm / SDL, 85a /, Z.100, Kapitel 2.2


Erläuterung

Es gibt in SDL keine direkte methodische Entsprechung von KFM, jedoch ist die Funktionalität von KFM verteilt in SDL enthalten. Eine direkte Entsprechung ist aus zwei Gründen nicht möglich: es gibt in SDL keine Trennung von Kontroll- und Dateninformation, sondern Signale, die grundsätzlich beides enthalten können; ferner gibt es in SDL keine Unterscheidung zwischen (Datenverarbeitungs-) Prozessen (PSPECs) und Kontrollinformationsverarbeitung (CSPECs), sondern einen universellen Grundtyp von Prozeß, der immer ein sequentieller Automat ist und alle Informationen verarbeitet. Außerdem gibt es in SDL keinen (überschreibbaren) Speicher gemäß KFM und DFM.

Die methodisch vorteilhafte Trennung der Verarbeitung von Kontroll- und Daten-Information (wie in DFM und KFM) kann in SDL bei Bedarf nachvollzogen werden. Hierzu faßt man alle SDL- (Kontroll-) Prozesse auf einer Zerlegungsebene in einem SDL-Block zusammen, dessen Aufgabe ausschließlich darin besteht, die Aktivität der in den anderen Blöcken enthaltenen Prozesse zu kontrollieren.

Prozeßinteraktionsmodellierung (PZIM)

Entsprechung in SDL: PD Prozeß-Diagramm / SDL, 85a /, Z.100, Kapitel 2.2
Time-Sequence Diagrams / SDL, 91 /, Kapitel 9.1.3, 9.4.1
Message Sequence Chart ( MSC), / SDL, 92 /, Z.120


Erläuterung

Die bei / SDL, 91 / angeführten Time-Sequence Diagrams sind zwar kein Bestandteil des SDL-Standards, jedoch eine für das Zusammenwirken mit SDL besonders geeignete Technik. In / SDL, 92 / findet sich eine Variante dieser Technik, die zu einer - auf die Integration mit SDL zugeschnittenen - Methode ausgebaut ist. Time-Sequence Diagrams und die einfacheren Formen von Message Sequence Charts entsprechen weitgehend der PZIM.

Simulationsmodelle (SIMU)

Entsprechung in SDL: PD Prozeß-Diagramm / SDL, 85a /, Z.100, Kapitel 2.2
Time-Sequence Diagrams / SDL, 91 /, Kapitel 9.1.3, 9.4.1
Message Sequence Chart ( MSC), / SDL, 92 /, Z.120


Erläuterung

Die genau festgelegte dynamische Semantik von SDL macht einen gegebenen SDL-Entwurf einer automatischen Interpretation zugänglich. Damit entfällt beim Arbeiten mit SDL die Notwendigkeit, ein eigenes Simulationsmodells im Rahmen von SIMU zu konstruieren; vielmehr ist der vorhandene SDL-Entwurf durch entsprechende Werkzeuge ausführbar. Die Erarbeitung der erforderlichen Szenario-Daten kann mittels Time-Sequence Diagrams oder Message Sequence Charts unterstützt werden.

Statische Analyse (STAT)

Entsprechung in SDL: GS Gültigkeitskonzept / SDL, 85a /, Z.100, Kapitel 2.1, 3 / SDL, 85a /, Z.101, Kapitel 2, 4


Erläuterung

SDL-Spezifikationen sind formale Gebilde, die der in / SDL, 85a /, Z.101, Kapitel 2 und 4 niedergelegten Syntax und Semantik genügen müssen. Sie sind also einer werkzeuggestützten Konsistenzprüfung zugänglich, wobei Benutzerfehler im Sinne von STAT frühzeitig aufgedeckt werden. Besonders zu bemerken ist, daß sich die Prüfbarkeit auch auf die dynamische Semantik erstreckt (siehe / SDL, 85a /, Z.100, Kapitel 2.1, "Specification Error").

Systemverhaltensmodelle (SVM)

Entsprechung in SDL: PD Prozeß-Diagramm / SDL, 85a /, Z.100, Kapitel 2.2


Erläuterung

Die SDL-Konzepte stellen insgesamt darauf ab, das dynamische Verhalten eines ereignisorientierten Echtzeit-Systems mit konkurrierenden Prozessen eindeutig zu spezifizieren. Da SDL-Spezifikationen außerdem formal sind, erfüllt SDL die Ziele der SVM vollständig. Besonders zu beachten sind beim Einsatz von SDL die Eigenheiten des Automatenmodells und des Kommunikationskonzepts (z. B. Signal-Eingabewarteschlange, mögliche Nullübergänge beim Verbrauch von Signalen).

Testen (T)

Entsprechung in SDL: MAP Abbildbarkeit / SDL, 85b /, Annex D, Kapitel D.8.1


Erläuterung

Die dynamische Semantik von SDL macht einen gegebenen SDL-Entwurf durch entsprechende Werkzeuge ausführbar. Letztere enthalten in der Regel bereits einen Testrahmen (d. h. den Interpreter für die Ausführung) und Testaufzeichnungsmöglichkeiten. Die Erarbeitung der erforderlichen Testfälle kann mittels Time-Sequence Diagrams oder Message Sequence Charts unterstützt werden. Die hohe Detaillierung und gute Durchschaubarkeit von SDL-Spezifikationen aufgrund der Konzepte Typen- und Sichtbarkeitskonzept von SDL fördern die Abfassung aussagefähiger Testfälle. Ferner begünstigt MAP das automatische Generieren von Quellsprachdarstellungen aus einem SDL-Entwurf und deren Test, wobei menschliche Übertragungsfehler eliminiert werden.

Zustandsübergangsmodellierung (ZUST)

Entsprechung in SDL: PD Prozeß-Diagramm / SDL, 85a /, Z.100, Kapitel 2.2


Erläuterung

Der in SDL zur Prozeßdarstellung verwendete erweiterte sequentielle Automat ist in seinen Grundzügen mit der Modellvorstellung in ZUST identisch. Die strukturellen Besonderheiten der SDL-Prozesse bestehen in lokalen Daten, zusätzlichen Verzweigungen und dem Umstand, daß für alle Eingangssignale eines Prozesses nur eine Warteschlange existiert (keine eigene Schlange für jeden Zustand des Prozesses ).


4 Literatur

/ SDL, 85a / CCITT Recommendations Z.100 - Z.104: Functional Specification and Description Language (SDL)
Red Book, Vol. VI.10, Genf, 1985

/ SDL, 85b / CCITT Annexes to Recommendations Z.100 - Z.104: Functional Specification and Description Language (SDL)
Red Book, Vol. VI.11, Genf, 1985

/ SDL, 91 / F. Belina, D. Hogrefe, A. Sarma: SDL with Applications from Protocol Specification
Prentice Hall, Englewood Cliffs, NJ, 1991

/ SDL, 92 / CCITT Recommendations Z.120: Message Sequence Charts (MSC)
Blue Book, Genf, 1992