Kommen nach der dezentralen Datenverarbeitung dezentralisierte Programme?

Programm Segmente in Knotenrechnern

12.10.1979

MÜNCHEN - Eine Forschergruppe des Massachusetts Institute of Technology (MIT), deren Arbeit mit Geldern der amerikanischen Regierung gefördert wurde, hat, wie die COMPUTERWORLD vom 13. August berichtet, Möglichkeiten zur Erweiterung einer Programmiersprache vorgeschlagen mit dem Ziel einer Unterstützung dezentralisierter Programme. Nach Professor Barbara Liskov bezieht sich der Ausdruck "dezentralisierte Programme" auf eine neue Methode der Organisation von Software, deren Entwicklung durch die allgemeine Verfügbarkeit intelligenter, kostengünstiger, dezentralisierter Hardware ausgelöst wurde.

Bei dieser Vorgehensweise residieren logische Segmente eines bestimmten Programms in verschiedenen Knotenrechnern eines Verbundsystems und werden von diesen ausgeführt. Jedes Segment wird dabei von der organisatorischen Einheit kontrolliert, die für den Knotenrechner, in dem das Segment residiert, zuständig ist.

Programme dieser Art sind technisch möglich und auf die Bedürfnisse der Unternehmen zugeschnitten. "Allerdings ist unser Wissen, wie solche Programme aufzubauen sind, begrenzt, und die gegenwärtigen Arbeiten konzentrieren sich daher auf die primitiven Grundlagen der Sprache zur Unterstützung von Modularität und Kommunikation zwischen den Segmenten", sagt Liskov.

Die Vorteile sind nach Liskovs Ansicht eindrucksvoll. Durch Dezentralisation des Programms werden Meinungsverschiedenheiten über die Zuständigkeit für die verschiedenen Programmsegmente ausgeräumt, die Zugriffsgeschwindigkeit wird erhöht, da die in starkem Maß auf ein bestimmtes Programmsegment angewiesene organisatorische Einheit ihren Standort in der Regel in der Nähe des Knotenrechners hat, in dem das Segment residiert, und schließlich hat jeder Geschäftsbereich eine straffere Kontrolle über die von ihm benutzten Programme.

Wächter beaufsichtigen Knotenrechner

Zur Aufrechterhaltung des Bausteinprinzips dezentralisierter Programme führten Liskov und ihre Mitarbeiter eine Konstruktion ein der sie den Namen "Wächter" (guardian) gaben. Der Wächter ist ein lokaler Adreßraum im Knotenrechner, der "Objekte" (Daten) und "Prozesse" (Ausführung eines oder mehrerer sequentieller Programmsegmente) enthält.

Der Wächter kontrolliert den Zugang zu den Knoten-Betriebsmitteln, zu denen Daten, Systemkomponenten und Rechenergebnisse gehören. Er übersteht Systemzusammenbrüche im Knoten und Führt in einem stabilen, zugänglichen Milieu Protokoll über den Verarbeitungsablauf vor dem Zusammenbruch.

Ein Hauptanliegen der MIT-Wissenschaftler ist das Höchstmaß an Zuverlässigkeit. Das System ist nach Liskov so beschaffen, daß es den automatischen Wiederanlauf im Falle eines Knotenzusammenbruchs garantiert.

Als Grundsprache des Systems wählte Liskov CLU, da es durch seinen Abstraktionsmechanismus den Aufbau gut strukturierter Programme unterstützt. Außerdem ist es eine objektorientierte Sprache, in der die Programme für Datenbankanwendungen eingesetzt werden, wie sie im Bankwesen, bei Platzbuchungs- und Büroautomatisierungssystemen vorkommen.

Der Programmierer weist die Standorte von Programmen und Daten zu, statt daß vom System bestimmt wird, wo sie sein müssen. Die Gruppe oder organisatorische Einheit, die vom Knotenrechner bedient wird, übt eine "beträchtliche Autorität" über die Aktivitäten des Knotenrechners aus. Wenn beispielsweise der Knotenrechner für Anwendungen tätig ist, die an sich auf anderen Knotenrechnern laufen, kann er diesen Service vorübergehend einstellen, falls eigene Programme verarbeitet werden müssen. Das geschieht ohne menschliches Zutun, lediglich aufgrund gespeicherter Anweisungen.

Dem Wächter im Netzknoten steht auch die Zugriffskontrolle zu den Objekten zu. Dazu gehört beispielsweise die Identitätsprüfung von sich anmeldenden Teilnehmern.

Liskov und ihre Mitarbeiter, die an der Entwicklung einer Netzwerksprache arbeiten, haben bisher noch nicht den linguistischen Mechanismus zusammengestellt, der das Schreiben des Wächtercodes unterstützt. Sie meinte dazu, daß erst noch eine Reihe anderer Dinge zu tun sind, bevor die Sprache geprüft werden kann.

"Wir verstehen noch nicht ganz, was es bedeutet, die Systeminitialisierung einzuleiten und wie man Programme auf einem Knotenrechner aufruft, die mit Begriffen arbeiten, die in anderen Knoten gängig sind. Es gibt eine Menge syntaktischer Fragen, die wir noch nicht in Angriff genommen haben. Wenn wir aber erst einmal anfangen, die Syntax zu definieren, werden wir uns intensiv mit diesen Dingen beschäftigen müssen", meinte Liskov.

Harmonisierung von Einfachheit und Komplexität

Hat man eine neue Sprache zu entwickeln steht man ständig der Forderung gegenüber, die Einfachheit und Gleichförmigkeit mit der Lösung einzelner Sprachprobleme zu harmonisieren, bemerkte Liskov. "Wir müssen die Probleme Jedenfalls so lösen, daß sie die Komplexität nicht noch erhöhen".

Trotz der Hindernisse, die sich vor ihnen aufbauen, sind die Forscher des MIT optimistisch und glauben, das System im dritten Quartal 1980 zum Laufen zu bringen, vorausgesetzt, daß bis Juni ein "tatsächlich solider" Entwurf erarbeitet worden ist.

Bis dahin wird die Sprache auf einem der MIT-eigenen Verbundsysteme implementiert worden sein. Um ein Gefühl dafür zu bekommen, wie sie sich "benimmt", wird eine Anzahl systemorientierter Anwendungen gefahren werden. Das dezentralisierte System wird auch die Durchführung von Versuchen mit dezentralisierten Programmen unterstützen sagte Liskov.

Liskov ist zwar die treibende Kraft hinter der Entwicklung der dezentralen Systemsprache, doch arbeitet sie auch viel mit Anwendungsprogrammierern zusammen, nicht nur weil sie an deren Stellungnahme interessiert ist, sondern weil sie die Sprache zur Programmierung ihrer Anwendungen benutzt.

Ein solcher Versuch gilt einem Entwicklungssystem für dezentralisierte Programme, das zur Unterstützung solcher Teilnehmer bestimmt ist, die wohl an ihren eigenen persönlichen Rechnern arbeiten, aber gemeinsam an der Entwicklung eines Programms zusammenarbeiten.

Andere Anwendungen, an denen zur Zeit gearbeitet wird, sind ein Terminierungssystem zur Planung von Terminen aller Art für viele Teilnehmer, das Professor Irene Greif am MIT konzipiert hat, ferner ein System dezentralisierter Dateien sowie ein Büroautomatisierungssystem.

Von Jay Woodruff: Researchers Consider. Distributed Programs , COMPUTERWORLD, 13. 8.1979. S.30, übersetzt ins Deutsche von Hans Joachim Hölzgen, Böblingen.