70
2 Spezifikation und Modellierung
SDL enthält auch Programmiersprachenelemente wie Prozeduren. Prozeduraufrufe können auch graphisch dargestellt werden. Objektorientierte Elemente wurden
1992 in die Sprache integriert und in SDL-2000 erweitert.
Erweiterte endliche Automaten sind nur die Basiselemente von SDL-Beschreibungen. Im Allgemeinen besteht eine SDL-Beschreibung aus einer Menge von interagierenden SDL-Prozessen oder Automaten. Prozesse können Signale an andere Prozesse senden. Die Semantik der Interprozesskommunikation in SDL basiert
auf First-In First-Out- (FIFO) Warteschlangen, die mit jedem Prozess verbunden
sind. Pro Prozess gibt es dabei genau eine Warteschlange. Ein Signal, das an einen
bestimmten Prozess geschickt wird, landet in dessen FIFO-Warteschlange (siehe
Abb. 2.28).
Prozess 3
Prozess 1
Prozess 2
Abb. 2.28 SDL-Interprozesskommunikation
Jeder SDL-Prozess entnimmt den nächsten verfügbaren Eintrag aus der FIFOWarteschlange und prüft, ob er einem der Eingabewerte für den aktuellen Prozess
und Zustand entspricht. Wenn das so ist, wird die zugehörige Transition ausgeführt
und eine entsprechende Ausgabe erzeugt. Ein Eintrag in der FIFO-Warteschlange
wird ignoriert, wenn er keinem der Eingabewerte entspricht (es sei denn, der sogenannte SAVE-Mechanismus wird verwendet). Die FIFO-Warteschlangen haben
im Modell eine unendliche Kapazität. Das bedeutet, dass in der Semantik von
SDL-Beschreibungen keine FIFO-Überläufe betrachtet werden. In echten Systemen dagegen müssen die FIFO-Warteschlangen natürlich eine endliche Länge haben. Dies ist eines der Probleme von SDL: um korrekte Realisierungen von einer
SDL-Spezifikation abzuleiten, muss man garantierte sichere obere Schranken für die
Länge der FIFO-Warteschlangen bestimmen.
Prozess-Interaktionsdiagramme können verwendet werden, um zu visualisieren, welche Prozesse mit welchen anderen kommunizieren. Prozess-Interaktionsdiagramme beinhalten Kanäle, die zum Senden und Empfangen von Signalen verwendet werden. Bei SDL beschreibt der Begriff „Signal“ Ein- und Ausgaben der
modellierten Automaten.
Beispiel 2.16: Abb. 2.29 zeigt ein Prozess-Interaktionsdiagramm B1 mit den Kanälen Sw1 und Sw2 sowie den lokalen Signalen A und B. In Klammern stehen die
Namen der Signale, die über den jeweiligen Kanal transportiert werden.
2 Spezifikation und Modellierung
SDL enthält auch Programmiersprachenelemente wie Prozeduren. Prozeduraufrufe können auch graphisch dargestellt werden. Objektorientierte Elemente wurden
1992 in die Sprache integriert und in SDL-2000 erweitert.
Erweiterte endliche Automaten sind nur die Basiselemente von SDL-Beschreibungen. Im Allgemeinen besteht eine SDL-Beschreibung aus einer Menge von interagierenden SDL-Prozessen oder Automaten. Prozesse können Signale an andere Prozesse senden. Die Semantik der Interprozesskommunikation in SDL basiert
auf First-In First-Out- (FIFO) Warteschlangen, die mit jedem Prozess verbunden
sind. Pro Prozess gibt es dabei genau eine Warteschlange. Ein Signal, das an einen
bestimmten Prozess geschickt wird, landet in dessen FIFO-Warteschlange (siehe
Abb. 2.28).
Prozess 3
Prozess 1
Prozess 2
Abb. 2.28 SDL-Interprozesskommunikation
Jeder SDL-Prozess entnimmt den nächsten verfügbaren Eintrag aus der FIFOWarteschlange und prüft, ob er einem der Eingabewerte für den aktuellen Prozess
und Zustand entspricht. Wenn das so ist, wird die zugehörige Transition ausgeführt
und eine entsprechende Ausgabe erzeugt. Ein Eintrag in der FIFO-Warteschlange
wird ignoriert, wenn er keinem der Eingabewerte entspricht (es sei denn, der sogenannte SAVE-Mechanismus wird verwendet). Die FIFO-Warteschlangen haben
im Modell eine unendliche Kapazität. Das bedeutet, dass in der Semantik von
SDL-Beschreibungen keine FIFO-Überläufe betrachtet werden. In echten Systemen dagegen müssen die FIFO-Warteschlangen natürlich eine endliche Länge haben. Dies ist eines der Probleme von SDL: um korrekte Realisierungen von einer
SDL-Spezifikation abzuleiten, muss man garantierte sichere obere Schranken für die
Länge der FIFO-Warteschlangen bestimmen.
Prozess-Interaktionsdiagramme können verwendet werden, um zu visualisieren, welche Prozesse mit welchen anderen kommunizieren. Prozess-Interaktionsdiagramme beinhalten Kanäle, die zum Senden und Empfangen von Signalen verwendet werden. Bei SDL beschreibt der Begriff „Signal“ Ein- und Ausgaben der
modellierten Automaten.
Beispiel 2.16: Abb. 2.29 zeigt ein Prozess-Interaktionsdiagramm B1 mit den Kanälen Sw1 und Sw2 sowie den lokalen Signalen A und B. In Klammern stehen die
Namen der Signale, die über den jeweiligen Kanal transportiert werden.
