A02: Entwurf

Architekturkonzepte für adaptive Kommunikationssysteme

Dieses Teilprojekt beschäftigt sich mit dem Entwurf modularer Systemarchitekturen für selbst-adaptive Kommunikationssysteme. Es wird eine Vorgehensweise erarbeitet, welche die Entwicklung von transitionsgestützten adaptiven verteilten Systemen systematisiert, vereinfacht und verbessert. Diese Systematik soll anhand von zwei Fallbeispielen ausgearbeitet und erprobt werden: adaptives Multimedia-Streaming und adaptive verteilte Suche. Die Erkenntnisse sollen im Zusammenwirken mit den anderen Teilprojekten in einer Entwurfsmethodik für selbst-adaptive modulare Kommunikationssysteme münden. Das Teilprojekt wird auf dem aktuellen Forschungsstand modularer Kommunikationsarchitekturen aufbauen und durch die Integration von Transitionen eine aktuelle Forschungslücke schließen.

Ein monolithisches Kommunikationssystem kann sich nur sehr begrenzt an dynamische Umgebungsbedingungen anpassen, da entweder nur einzelne Parameter angepasst werden können oder das Kommunikationssystem in seiner Gesamtheit ersetzt werden muss. Zum einen stellen solch umfangreiche Migrationen in der Praxis eine erhebliche Herausforderung dar, zum anderen kann die Wirkung einer Umgebungsänderung auf einzelne Komponenten des Gesamtsystems begrenzt sein. Monolithische Systeme ermöglichen in der Regel auch keine einfache Integration neuester oder für den lokalen Kontext angepasster Mechanismen und Konfigurationen. Transitionen zwischen verschiedenen Mechanismen und die Einführung neuer Mechanismen sind daher umso einfacher, je feingranularer das verwendete System in Teilmechanismen modularisiert wurde. So können theoretisch die Funktionen einzelner Module unabhängig voneinander adaptiv, durch den jeweils optimalen Mechanismus, umgesetzt und auch zur Laufzeit geändert oder erweitert werden. In der Praxis bestehen jedoch oft Abhängigkeiten zwischen den Modulen, die bei Transitionen modulübergreifend berücksichtigt werden müssen.

Es ist das Ziel dieses Teilprojekts, auf der Basis bereits bestehender Erfahrungen mit modularen Protokollen und modularen verteilten Systemen eine Entwurfsmethodik für modulare Kommunikationssysteme zu entwickeln und dabei vor allem die intermodularen Abhängigkeiten zu analysieren und zu minimieren. Hierzu muss insbesondere die Frage beantwortet werden, wie sich Einzelmechanismen im laufenden Betrieb dynamisch ersetzen lassen.

Auf Basis der funktionalen und nicht-funktionalen Anforderungen des Anwendungsszenarios wird zunächst eine formalisierte Beschreibung der Anwendung modelliert und in abstrakte Funktionsblöcke unterteilt werden. Eine funktionale Anforderung wäre z.B. Volltextsuche und eine nicht-funktionale Anforderung z.B. Antwortzeiten von maximal fünf Sekunden. Auf der nächsten Ebene, der abstrakten Spezifikation, wird jeder Funktionsblock auf eine Menge von Primitiven abgebildet, wobei jede einzelne ein Paradigma zur Umsetzung des Funktionsblocks beschreibt. Mögliche Primitive für die Umsetzung der Volltextsuche in einem verteilten System wären z.B. serverbasierter Suchindex, invertierter Index in einer Distributed Hash Table (DHT) oder rendezvousbasierte Suche in einem unstrukturierten Peer-to-Peer-Overlay. Jede Primitive stellt dabei einen grundsätzlich anderen Ansatz zur Umsetzung der Funktionalität dar. Die Elemente dieser Spezifikation werden wiederum auf mögliche Realisierungen abgebildet. Analog zu Funktionsblöcken und Primitive stehen auf dieser Ebene konkrete Mechanismen zur Umsetzung einer Aufgabe zur Verfügung. Die DHT-basierte Volltextsuche als Primitive ließe sich beispielsweise mit den Mechanismen Chord oder Kademlia realisieren. Eine Primitive kann durch verschiedene Mechanismen implementiert werden, welche auch im laufenden Betrieb ausgetauscht werden sollten. Die Mechanismen, welche dieselbe Primitive umsetzen, sind prinzipbedingt relativ nah miteinander verwandt, was im Allgemeinen eine Transition erleichtern sollte. Die Entwurfsmethodik soll aber darüber hinaus auch die Transition zwischen Mechanismen unterschiedlicher Primitive erlauben, d.h. einen Paradigmenwechsel im laufenden Betrieb ermöglichen.

Welche Primitive bzw. Mechanismen sich miteinander zu einem Gesamtsystem kombinieren lassen, soll durch Kompositionsregeln bestimmt werden. Weiterhin muss ein Modul in einem selbst-adaptiven System Schnittstellen zur Erkennung und Bewertung des aktuellen Systemzustands und zur möglichst nahtlosen Transition zwischen zwei Mechanismen bereitstellen. Die erforderlichen Methoden für das notwendige Zusammenspiel der Module im Gesamtsystem sollen in diesem Teilprojekt erarbeitet werden. Die vollständig ausgearbeitete Methodik wird es Entwicklern ermöglichen, systematisch adaptive Kommunikationssysteme zu konzipieren und die ihnen zur Verfügung stehenden Technologien in dieser Systematik zu erfassen.

Teilprojektleitende A02

  • Prof. Alejandro Buchmann Ph.D.
  • Prof. Dr.-Ing. Klaus Wehrle