MoDiS - Modellorientierte verteilte Systeme


In MoDiS wird mit einem sprachbasierten Gesamtsystemansatz und einer Top-down Vorgehensweise ein neuartiger Ansatz verfolgt, um das Potential, das durch vernetzte Rechner zur Zeit bereits vorhanden ist, für Anwender einfach und effizient nutzbar zu machen. Die Sprachbasis wird durch die im Rahmen von MoDiS entwickelte, prozedurale, objektbasierte Sprache INSEL (INtegration- and SEparation-supporting Language) festgelegt. INSEL stellt ein einheitliches Repertoire an Sprachkonzepten sowohl zur Konstruktion verteilter Anwendungen als auch zur Systemprogrammierung zur Verfügung. Die Konzepte ermöglichen die Konstruktion von Systemen, in denen Teilberechnungen einerseits so weit wie möglich isoliert und unabhängig voneinander ausgeführt werden können (Separation), wobei andererseits die Ausführung der Teilberechnungen systematisch in ein komplexes Gesamtsystem eingeordnet ist (Integration).
Ein INSEL-Programm besteht aus einer Menge passiver und aktiver Komponenten, die dynamisch erzeugt und aufgelöst werden können. Komponenten und insbesondere Klassen-definierende Komponenten können geschachtelt werden, wodurch Abhängigkeitsbeziehungen zwischen Komponenten konzeptionell festgelegt werden. Diese Strukturinformationen der INSEL-Anwendungsprogramme werden bei der Realisierung der Programme in vielfältiger Weise ausgenutzt.

Entsprechend der Top-down Vorgehensweise in MoDiS werden die auf der Betriebssystemebene benötigten Konzepte und Mechanismen zur Realisierung der INSEL-Programme systematisch von den Eigenschaften der INSEL-Sprachkonzepte abgeleitet und an diese angepasst realisiert.
Die Architektur des Gesamtsystems ergibt sich dann grob wie folgt:
Die Eigenschaften der Hardware-Konfiguration bestehend aus vernetzten PCs werden durch Rechnerknoten-lokale Kerne veredelt. Die Kerne stellen Basismechanismen und -dienste zur Nutzung der Ressourcen der Rechnerknoten, zum Nachrichtenaustausch zwischen den Rechnerknoten und zur Ein- und Ausgabe zur Verfügung. Das für die Realisierung von INSEL-Sprachkonzepten benötigte Spektrum an Realisierungskonzepten wird unter Rückgriff auf die Basismechanismen realisiert. Um eine geeignete Repräsentationsentscheidung für die Komponenten einer INSEL-Anwendung treffen zu können, werden von dem Betriebssystem transparent für den Anwender Informationen ber Abhängigkeitsbeziehungen zwischen den Komponenten der zu realisierenden INSEL-Anwendung statisch und dynamisch analysiert und ausgewertet. Die verteilte adaptive Ressourcenverwaltung erfolgt durch Manager auf der Verwalter-Ebene. Jeder aktiven INSEL-Komponente wird ein Manager zugeordnet, der die Aufgabe hat, die Ressourcen, die die aktive Komponente zur Durchführung seiner Berechnungen benötigt, zu verwalten. Die dynamische Analyse und Auswertung anwendungsspezifischer Strukturinformation gehöhrt ebenfalls zu den Aufgaben der Manager. Die strukturellen Abhängigkeiten zwischen aktiven Komponenten lassen sich unmittelbar auf die ihnen assoziierten Manager bertragen. Da ein wesentlicher Teil der Betriebssystemaufgaben von diesen Managern durchgeführt wird, erhöht man damit ein systematisch strukturiertes Betriebssystem, das beherrschbar ist.

Entsprechend dem Gesamtsystemansatz werden INSEL-Anwendungen und Betriebssystemdienste in einem INSEL-Gesamtsystem integriert. INSEL-Anwendungen werden dynamisch zu dem bestehenden INSEL-System hinzugebunden und ausgeführt, wobei die bereits existierenden Komponenten des Systems genutzt werden können. Die in MoDiS verfolgte Vorgehensweise ermöglicht es, unterschiedliche, anwendungsangepasste Systemschnittstellen zur Verfügung zu stellen. INSEL-Anwendungen können ihrerseits die Menge der Systemschnittstellen dynamisch erweitern.

Da die Manager dynamisch und in ihrer Funktionalität angepasst an die Erfordernisse der jeweiligen aktiven INSEL-Komponente erzeugt und aufgelöst werden, passt sich die Anzahl und die Funktionalität der Manager an die Anforderungen der Anwendungen in bezug auf benötigte Ressourcen bzw. Funktionalität an. Das Betriebssystem ist anwendungsangepasst, und seine Funktionalität kann dynamisch erweitert werden. Insgesamt erhöht man eine adaptive, den wechselnden Anforderungen der Anwendungen angepasste, verteilte Ressourcenverwaltung. Das durch vernetzte Workstations vorhandene Potential an Parallelität wird für die Anwendungen einfach nutzbar gemacht.