Realzeitanalyse und Modellierung verteilter Systeme


Spezifikationssprache für Realzeitanwendungen

Ziel ist eine verläßliche Vorhersage des Zeitverhaltens eines verteilten Systems mit Hilfe einer geeigneten Sprachdefinition. Was ist ein verteiltes System? So wie hier ein verteiltes System betrachtet wird, ist es ein System das aus kleineren Einheiten besteht, die miteinander kommunizieren. Die Anzahl der Einheiten in einem betrachteten Systeme ist überschaubar, d.h. in einer Größenordnung von ca. 20 kleineren Einheiten. Die Zeitvorhersage soll genau sein. Dies hat zur Folge, daß nicht nur statistische Information in das System einfließt. Eine denkbare Lösung wäre z.B. eine Simulation unter Zuhilfenahme eines Petri-Netzes, andere Lösungswege sind endliche Automaten.

Erweiterte endliche Automaten

Erweiterte endliche Automaten bestehen im Wesentlichen aus Zuständen und einer partiell definierten Überführungsfunktion. Ein Forschungsschwerpunkt liegt in der Ausgestaltung eines Automaten mit Zeitinformation. Da äußere Einflüsse das Verhalten eines Automaten mit sog. Events beeinflussen, müssen diese ebenfalls Zeitinformation tragen. Für ein verteiltes System können nun mehrere Automaten, betrachtet als alleinstehende Systeme, miteinander kommunizieren. Dies geschieht in dem realisierten Berechnungssystem über Kanäle.

Interprozeßkommunikation über Kanäle

Die Kommunikation über Kanäle geschieht in einer Art und Weise wie sie bei Transputern wiederzufinden ist, genaugenommen als theoretisches Prozeßmodell von Tony Hoare. Hier handelt es sich um eine synchronisierende Kommunikation, bei der der Sender warten muß, bis der entsprechende Verarbeitungsschritt des Empfangs vollzogen ist. Eine geplante Erweiterung stellen gepufferte Kanäle dar, die jedoch den Nachteil mit sich bringen, daß man Zeitverhalten dann nur noch simulieren kann. Dies ist aber noch Gegenstand der Forschung.

Abbildung von kommunizierenden Automaten auf Graphen

Der Lösungsweg das Zeitverhalten zu berechnen geschieht mittels gewichteter Graphen, an deren Kanten Zeitintervalle zu finden sind. Es gibt zusätzliche Information an den Kanten, damit ein Automat auch auf äußere Einflüsse reagieren kann. Die Abbildung auf Graphen geschieht aus mehreren Gründen. Zum einen stellen sie eine geeignetere Form dar von einem Menschen verarbeitet werden zu können, zum anderen existieren auf Graphen gute Algorithmen mit einer kleinen Aufwandsklasse zur Berechnung.

Zeitanalysen in Graphen

Die bekannten Algorithmen für Graphenanalysen sind im Rahmen dieser Forschungsarbeit modifiziert worden, um den Anforderungen zu genügen. Hier gibt es noch weitere Forschungsarbeit um das Gesamtsystem handhabbar zu machen.

Implementation mittels objektorientierter Programmierung

Es ist einer objektorientierten Implementation der Vorzug gegeben worden, da sich mit ihr elegant mathematische Definitionen, z.B. die eines Automaten, implementieren lassen. Ein weiterer Punkt die Wahl auf eine OOP zu legen ist die Wartbarkeit sowie die Übersichtlichkeit einzelner Module. Hier werden alle Vorzüge einer OOP, wie generische Datentypen und Informationhiding, Vererbung und Polymorphie benutzt. Es existiert eine klare Schnittstelle zwischen dem theoretischen Modell und der graphischen Handhabe. Die interaktive graphische Ein-/Ausgabe ist ebenfalls in einer objektorientierten Sprache gestaltet, die die bisher anerkannt beste Umsetzung der objektorientierten Idee der Programmierung darstellt.

Graphische interaktive Benutzeroberfläche

Die Eingabe in dem Tool geschieht interaktiv und mittels Graphiken, so wie sie aus der Automatentheorie und deren symbolischen Darstellungen bekannt sind. Hier werden komplizierte Mechanismen benutzt, die Graphik als Objekte behandelt.

Dissertation(1,2MByte)
NeXT-Step Application (Intel)(4,8MByte)


eMail: Koplien@TU-Harburg.d400.DE -Stand 1994, Dissertation 1997

© Dr. Henry Koplien