Notizen zu Dieter Hogrefe „Estelle, Lotos, SDL, Standard- Spezifikationssprachen für verteilte …“


Stichpunktsammlung zur Quelle:
http://www.bibsonomy.org/bibtex/22b3dc5c60f24fefb9dc7242cf9b986c3/funthomas424242

Anmerkung: Die Stichpunkte wurden von mir ca. 1997 beim Studium notiert. Die Bücher liegen mir aktuell nicht mehr vor. Es ist davon auszugehen, dass diverse Fehler in den Notizen enthalten sind.

Seite 23/1

Die Entwicklung von Estelle und LOTOS wurde von der ISO initiiert. Die Notwendigkeit ergab sich aus der Komplexität der Protokollspezifikationen.

Seite 23/2

Estelle:  ~ basiert auf der Theorie der endlichen Automaten (sogar der erweiterten laut S. 24/1)
LOTOS: ~ basiert auf Prozeßalgebra

Ein erweiterter endlicher Automat besitzt Zustände (wie endlicher Automat) und zusätzlich Variablen als Wertspeicher.

Seite 25

Ein Automat wird in Estelle Modul genannt. Dieser kann mittels eines Interaktionspunktes, welcher das Ende eines Kanals darstellt, mit anderen Modulen kommunizieren (asynchron). Module sind hierachisch definiert. Sohnmodule können mit Vatermodule kommunizieren (auch über Kanal). Es wird zwischen Moduldefinition und Modulinstanz unterschieden. Hierbei kann eine Definition beliebig viele Instanzen besitzen. Ein Modul kann zur Interpretationszeit neue Module dynamisch instanzieren. Diese müssen durch eine Variable referenziert werden. Wird auf dieselbe Variable eine 2. Referenz (durch Erzeugung eines neuen Moduls) gelegt, so bleibt der erste Modul erhalten. Es ist jedoch sehr schwierig diesen dann noch zu referenzieren. Hier wird auf [ISO: Estelle:  A formal description technique based on an extended state transition model, International Standard ISO/IS 9074, 1987] verwiesen.

Seite 29

Die Sprache erlaubt es in einfacher Form Zustände und Übergänge zu definieren. Dabei können die Übergänge mit eingaben sowie mit Ausgaben versehen werden. Diese beziehen sich scheinbar immer auf Interaktionspunkte und werden als Interaktion bezeichnet. Jeder Interaktionspunkt besitzt eine Warteschlange in welcher die Eingaben eingereiht werden. Die Warteschlange kann allein oder mit anderen IP’s gemeinsam genutzt werden. Konstrukte zur Vermeidung von textwiederholungen sind vorhanden. Sind zum gleichen Zeitpunkt mehrere Zustandsübergänge (Transitionen) möglich, so können Prioritäten vergeben werden (statisch). Bei nicht deterministischen Übergängen entscheidet Estelle „zufällig“ welcher genommen wird. Spontane Zustandsübergänge können spezifiziert werden durch Nichtverwendung einer Eingabebedingung. Bei der Ausführung einer Transition kann eine Verzögerunszeit definiert werden. Reflexive Zustandsübergänge sind möglich. Parametrisierung von Transitionen möglich. Module gleicher Hierarchieebene können miteinander kommunizieren. Module könnnen an der Kommunikation ihres übergeordneten Moduls teilnehmen. Eine Moduldefinition besteht aus einem Modulkopf und mindestens einem Modulbody. Modulinstanzen können nur auf Modulvariablen abgelegt werden (spezielle Variablen).
Es werden 3 Arten von Modulen unterschieden: Blattmodul, passiver oder aktiver Vatermodul.
Im Modulkopf wird die Schnittstelle des Moduls beschrieben. Hier wird eine Liste von IP’s und eine Liste exportierter Variablen festgelegt.

Seite 41

Ein Blattmodul enthält keine Moduldefinition. Er kann Variablen, Typen, Prozeduren und Funktionen deklarieren. Im Initialisierungsteil können Wertebelegungen erfolgen. Der dritte Abschnitt definiert die Transitionen (Zustandsübergänge).

Seite 42

Ein passiver Vatermodul kann zusätzlich zum Blattmodul Kanaldefinitionen, Moduldefinitionen, Modulvariablen und einen Initialisierungsteil für die Kommunikationsstruktur der Sohnmodule besitzen. Er darf keine Transitionsbeschreibungen enthalten.
Ein aktiver Vatermodul kann zusätzlich zum passiven noch Definitionen für Interaktionspunkte und Transitionsbeschreibungen enthalten. Hier könnnen im Gegensatz zum Blattmodul zusätzliche Aktionen und Transitionen beschrieben werden. Es existieren Möglichkeiten um neue Söhne zu erzeugen, sowie um die Kommunikationsstruktur zu ändern.

Seite 46

Für die Attributierung von Modulen stehen process, activity sowie systemprocess und systemactivity zur Verfügung. Hierzu folgende Regeln (!):

  • Jeder aktive Modul muß attributiert sein.
  • Module mit „system“ dürfen nicht Nachfahre eines attributierten Moduls sein.
  • Ein mit process oder activity attributierter Modul muß Nachfahre eines „system*“  sein.
  • Ein mit „*process“ attributierter Modul kann nur Nachfahren mit process oder activity haben.
  • Ein mit „*activity“ attributierter Modul kann nur Nachfahren mit activity haben

Seite 50/51

Modulinstanzen können erzeugt und vernichtet werden

Verbindungen können erzeugt und beendet werden. Nach dem Beenden bleiben die Eingaben in der Warteschlange und können weiterhin Transitionen hervorrufen.
Externe Interaktionspunkte können an externe Interaktionspunkte des Vaters  gebunden werden.
Die verwendete Sprache für Aktionen ist Standard Pascal.
Für einen Kanal zwischen den Interaktionspunkten müssen die Rollen der Interaktionspunkte sowie die möglichen Signale angegeben werden.

Post a comment or leave a trackback: Trackback URL.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: