Lexikon

Interwoven Systems

Miteinander verwobene Systeme

Informations- und Kommunikationstechnologie (IKT) ist inzwischen so allgegenwärtig, dass sie als zentraler Bestandteil unseres täglichen Lebens gilt. Diese Integration in unseren Alltag prägt nicht nur unsere Gesellschaft, sie beeinflusst auch die Modellierung, Entwicklung, Analyse und Wartung von IKT-Infrastrukturen.

Die entstehenden technischen Systeme bieten zunehmend mehr Funktionalität an, werden gleichzeitig aber auch immer komplexer – objektive Zeugnisse dieser Beobachtung sind bspw. die Gesetze von Moore und Glass [1]. So können durch eine Einbettung von IKT-Funktionen auch Haushaltsgeräte wie Fernseher, Kühlschränke und sogar Thermostate [6] einen erweiterten Funktionsumfang bieten, wenn sie mit dem Internet verbunden sind. Doch nicht nur technische Systeme an sich werden so miteinander gekoppelt – eine Vielzahl bisher isolierter Systeme wächst zukünftig noch stärker zusammen. Damit werden gleichzeitig völlig neuartige Anwendungen ermöglicht.

Ein sehr anschauliches Beispiel stellt die Energiewende dar [2]: War die Energieinfrastruktur in Deutschland bisher klar strukturiert (wenige Anbieter, große Kraftwerke, zentrale Steuerung) und im Wesentlichen ein in sich geschlossenes System, so wachsen zurzeit Energie- und IT-Netze zusammen. Eine Vielzahl unsicherer Erzeuger werden dem Gesamtnetz hinzugefügt, verlässliche große Erzeuger werden abgeschaltet, und die zentrale Steuerungsmöglichkeit wird reduziert, indem immer mehr unabhängige, heterogene Entitäten ihre eigenen Entscheidungen treffen – sei es bei der Abnahme oder der Erzeugung von Strom. Zusätzlich kommen neue Möglichkeiten hinzu, das Nutzungsverhalten von Verbrauchern zu beeinflussen: Smart Meter, tageszeit- und lastabhängige Preise, einfacher Wechsel von Anbietern, etc.

Veränderungen in der Nutzung und im Zusammenwirken von technischen Systemen führen zu einer Vielzahl von Implikationen hinsichtlich der Entwicklung und Beherrschung solcher Systeme:

  1. Wir haben es typischerweise nicht mehr mit einem isolierten System zu tun, das wir in klassischer Weise eingrenzen, analysieren und somit steuern oder regeln können. Vielmehr handelt es sich um eine Vielzahl interagierender und sich gegenseitig beeinflussender Systeme.
  2. Diese Teilsysteme sind so miteinander verwoben, dass eine Modularisierung und Abstraktion nur selten möglich ist – damit stoßen herkömmliche Techniken des Systementwurfs und der Systemsteuerung an ihre Grenzen und müssen folglich den neuen Gegebenheiten angepasst werden.
  3. Indirekte Abhängigkeiten zwischen Teilsystemen (über Ressourcen oder gleiche / konkurrierende Ziele) machen das Erkennen und Eingrenzen der Effekte von gegenseitiger Beeinflussung problematisch.
  4. Eine solche wechselseitige Beeinflussung oder Kopplung kann dabei nicht nur verdeckt erfolgen, sondern sich auch zeitlich verzögert auswirken, so dass Wirkungszusammenhänge schwer zu erkennen sind.
  5. Weder die Interaktionspartner noch die Art und Weise dieser Interaktion sind zur Entwicklungszeit bekannt. Der Entwickler kann somit schwerlich Mechanismen vorsehen, die einen sinnvollen Umgang mit den Resultaten (z. B. emergente Effekte) ermöglichen.

Die Entwicklung hin zu Systemkomplexen, die aus einer Vielzahl solcher „Interwoven Systems“ [9] bestehen, ist nicht mehr umkehrbar. Wir können nicht physikalische oder virtuelle Strukturen wie das Energienetz, das Internet, Facebook, etc. radikal neu entwickeln und ersetzen. Die Frage ist also nicht, ob wir solche Systeme wollen – wir haben sie schon! Dies bedeutet, dass wir Wege finden müssen, wie wir mit ihren Eigenschaften und Schwächen umgehen können – sie sogar ausnutzen, um ein besseres Ganzes zu erreichen.

Das Ziel der Initiative „Interwoven Systems“ (IwS) ist es, die mit diesen Systemen verbundenen Probleme strukturiert anzugehen und automatisierte Lösungen zur besseren Beherrschbarkeit anzubieten. Dies bedeutet insbesondere, dass eine Verlagerung der Integration von Komponenten und Systemen von der Entwicklungszeit in die Laufzeit nötig ist, was mit einer selbständigen Überprüfung und Adaption der Integrationsmechanismen einhergeht. Dies setzt viele Bausteine voraus, die die Grundlage für das gewünschte Verhalten bilden, beispielsweise:

  1. Systeme müssen in die Lage versetzt werden, über sich selber zu reflektieren.
  2. Dies bedeutet zunächst, dass ein Modell der Umgebung generiert und angepasst werden muss. Dieses Modell spiegelt wider, was das System glaubt, von der Umgebung zu wissen.
  3. Weiterhin muss eine Selbstmodellierung erfolgen, so dass sich das System seiner eigenen Fähigkeiten und Einschränkungen bewusst werden kann.
  4. Da einzelne Systeme unterschiedlichen Autoritäten gehören, muss eine Unterscheidung zwischen dem internen Modell (das zur eigenen Entscheidungsfindung dient) und dem äußeren Modell (das anderen Systemen zur Abschätzung der erwarteten Verhaltensweise und zur Evaluation der Interaktion dient) vollzogen werden – und diese muss ebenfalls dynamisch vom System erstellt und angepasst werden.
  5. Diese Modelle können Wissen implizit oder explizit repräsentieren. Sie müssen dabei in der Lage sein, Unsicherheit in Form von fehlenden, fehlerhaften und falschen Beobachtungen widerzuspiegeln.  
  6. Dabei müssen Systeme in der Lage sein, Vertrauensbeziehungen zu anderen Systemen zu unterhalten, die auf einer Quantifizierung gegenseitiger Verlässlichkeit und der Unsicherheit darüber bestehen.

Die Vorteile liegen auf der Hand: Wenn wir die Tatsache akzeptieren, dass ein Entwickler zur Laufzeit die entstehenden Systembeziehungen nicht mehr vollständig überblicken und entsprechende Reaktionen vorsehen kann und dass ein Administrator die gegenseitigen Wirkungseffekte nicht mehr vollständig überblicken und kontrollieren kann, dann ist die Lösung darin zu suchen, den Systemen die Fähigkeiten zu geben, selbständig Lösungen für die zur Laufzeit auftretenden Probleme zu finden.

Auf der anderen Seite handeln wir uns auch Probleme ein: Ist bereits jetzt oft nicht mehr vorherzusehen oder nachzuvollziehen, welche Interaktionen bei IwS auftreten, so wird dies durch eine Selbststeuerung der Integrationsentscheidungen eher noch schwieriger. Freiheit zur dynamischen Selbstorganisation bedeutet auch Freiheit, Dinge auszuprobieren – was im Umkehrschluss wiederum auch Fehler in der Umsetzung nach sich ziehen kann. Die zu entwickelnden Mechanismen müssen also intelligent genug sein, um die für den Menschen zu komplexen Probleme erfassen und beheben zu können.

Begriffsdefinition „Interwoven Systems“

Der Begriff der IwS baut auf der Terminologie der „Systems of Systems“ (SoS) auf [4]. Der Begriff SoS beschreibt einen Modellierungsansatz für Systeme, bei denen die herkömmliche hierarchische oder vollständig nebenläufige Anordnung von Teilsystemen nicht gegeben ist (vgl. Abb. 1, erste und zweite Darstellung). Ein SoS kann aus einer Vielzahl von eigenständigen Komponentensystemen bestehen, die wiederum ebenfalls ein SoS repräsentieren. In [4] wurden fünf Schlüsselkriterien aufgelistet, die erfüllt sein müssen, damit es sich um ein SoS handelt. Die Kriterien umfassen a) die operationale Unabhängigkeit von Komponentensystemen (d. h., jedes Komponentensystem agiert selbsttätig und erfüllt seine eigenen Ziele), b) die nebenläufige Autonomie (d. h., jedes Komponentensystem existiert auch ohne das SoS), c) die geographische Verteilung (d. h., SoS sind normalerweise  räumlich verteilt, was einen Austausch über Kommunikationsmechanismen bedingt), d) emergentes Verhalten (d. h., das Verhalten des SoS ist mehr als nur die Addition der Funktionalitäten der enthaltenen Komponentensysteme), sowie e) die evolutionäre Entwicklung (d. h., Struktur, Organisation und Funktionalität ändern sich auf Basis selbstorganisierter Prozesse).

Wie in Abb. 1 zu sehen ist, geht der Begriff der IwS über die obige Definition von SoS hinaus. Wurden die ersten modularen IKT-Systeme noch in  hierarchischer Weise entwickelt (links), richtete sich der Fokus bald auf nebenläufige, miteinander kommunizierende Komponenten. Bei SoS steht die (hierarchische) Kapselung von Systemstrukturen im Vordergrund, während sich IwS von der hierarchischen Aufteilung lösen muss. Es wird vielmehr davon ausgegangen, dass die Systeme untereinander sowie mit der Umwelt nur noch zu einem Teil über vorgesehene Schnittstellen interagieren – ein wesentlicher Teil dieser Interaktionen erfolgt über indirekte Beeinflussungen.

Für die Definition des Begriffs IwS bedeutet dies, dass neben den Charakteristika, die für SoS gelten, weitere Aspekte berücksichtigt werden müssen, beispielsweise f) gegenseitige Beeinflussung (d. h., es existiert eine direkte oder indirekte Kopplung / Kommunikation zwischen Systemen), g) Heterogenität der Einzelsysteme (d. h., es muss sich z. B. nicht um gleichartige Systeme derselben Anwendungsdomäne handeln), h) Unsicherheit (d. h., es besteht u. a. keine oder nur eine sehr eingeschränkte Vorhersagbarkeit der einzelnen Systeme und des Gesamtverhaltens) und i) Echtzeitbedingungen (d. h., Systeme müssen unter Einhaltung von Zeitschranken sehr schnell reagieren und können nicht immer nach der optimalen Reaktion suchen; dieser Aspekt korrespondiert auch mit dem Gebiet der Anytime-Algorithmen [11]).

Immer dann, wenn diese Eigenschaften vorliegen, haben wir es mit einem IwS zu tun – ob dieses nun explizit als solches entworfen wurde oder nicht [9]. Im Regelfall handelt es sich bei IwS um hoch-skalierte Systeme: Sie bestehen aus einer sehr großen Zahl von Teilsystemen und einer oft noch deutlich größeren Menge an Beziehungen zwischen diesen Teilsystemen.

Beispiele für existierende Interwoven System

Mit dem aktuell zu beobachtenden Wandel der Energienetze wurde bereits im ersten Abschnitt auf ein Beispiel für IwS eingegangen. Ein anderes Beispiel stellen Kollaborationswerkzeuge im Umfeld von verteilten Software-Engineering-Projekten dar. Hier beeinflussen die Interaktionsmechanismen des technischen Systems die soziale Ebene – z. B., ob und wie Nutzer des Systems kollaborieren und folglich, wie sich die soziale Organisation der Entwicklungsteams über die Zeit entwickelt. Der gegenläufige Einfluss (also von der sozialen auf die technische Ebene) findet dagegen auf eher längeren Zeitebenen statt – wir beobachten heutzutage bereits eine zunehmende Anpassung von Systemen, die auf Erkenntnissen aus kollaborativen Projekten beruhen, die in den letzten Jahren abgeschlossen wurden. Anpassungen basieren dabei auf einer Beobachtung der Strukturen und der Dynamik sozialer Organisationen [7].

Ein weiteres Beispiel stellen Verkehrssysteme dar. Auch hier haben wir es mit heterogenen Mengen von Systemen und gegenseitigen Beeinflussungen zu tun. Verkehrsteilnehmer (Autos, Busse, Lastwagen, Fahrradfahrer) wählen ihre Routen durch Straßennetze in Abhängigkeit von der aktuellen Verkehrssituation. Damit beeinflussen sie allerdings auch die Verkehrssituation selbst. Auf diese stellen sich verkehrsabhängige Lichtsignalanalagensteuerungen ein, genauso übergeordnete intelligente Verkehrsmanagementsysteme. Weiterhin sind indirekte Wirkungseffekte zu beobachten – der Kraftstoffverbrauch führt zu einer Beeinflussung der Luftqualität, was wieder als Grundlage für die regulatorischen und stadtplanerischen Entscheidungen bei der Gestaltung der Netze dient. Daher sind sich gegenseitig beeinflussende Wirkungsketten auf unterschiedlichen Zeitebenen erkennbar.

Ähnliche Ansätze und Abgrenzung

Die Problemstellung der IwS geht unter anderem auf frühere Arbeiten des Organic Computing (OC) zurück [5]. So kann analog zu Abb. 1 eine aufsteigende Komplexität bei der Beherrschung von technischen Systemen festgestellt werden. Die OC-Initiative startete - wie ähnlich gelagerte Ansätze aus den Bereichen Autonomic [3] oder Proactive Computing [8] - mit der Zielsetzung, Systeme mit lebensähnlichen Eigenschaften zu versehen – sie sollten durch mehr Eigenständigkeit in die Lage versetzt werden, adaptiv, flexibel und robust auf sich verändernde Gegebenheiten zu reagieren und dabei ihr Verhalten kontinuierlich zu verbessern. Solche Systeme werden typischerweise auch als Systeme mit Selbst-x-Eigenschaften beschrieben, wobei das x stellvertretend für z. B. konfigurierend, optimierend, lernend, schützend oder heilend steht.

Einzelne derartige Systeme stellen die untere Ebene („Kontext-bewusste Systeme“) in einer aufsteigenden Komplexitätsbetrachtung dar. Aufbauend darauf fokussierte sich die Forschergemeinschaft auf verteilte Systeme mit Selbst-x-Eigenschaften, die mit dem Menschen interagieren oder zur Steuerung der verteilten Komponenten Konzepte der menschlichen Gemeinschaft wie Normen nachempfinden. Dieses Verhalten ist dabei allerdings noch Teil des expliziten Entwurfes. Für diese Problemklasse innerhalb der IwS-Forschung lassen sich Vorarbeiten aus unterschiedlichen Forschungsgebieten nutzen, die Interaktionen zwischen autonomen Systemen in den Vordergrund stellen – bspw. Multiagentensysteme [10]. Wiederum eine Komplexitätsstufe über dieser Art von Systemen sind die IwS angesiedelt: Hier sind die Interaktionen zwischen den Teilsystemen selbst prägend für die Herausforderungen aus technischer Sicht – insbesondere, da diese nur teilweise als direktes Ergebnis des Entwurfsprozesses zu verstehen sind.

Forschungsziele und Ausblick

Der Begriff „Interwoven Systems“ beschreibt ein im Entstehen befindliches Forschungsgebiet. Die Problematik der zusammenwachsenden IKT-Systeme, der nicht absehbaren gegenseitigen Beeinflussung von Systemen sowie der sich daraus ergebenden Frage nach neuen Formen der Systemintegration sind allgegenwärtig – die Herausforderungen treten immer offener zu Tage. Es ist folglich nicht die Frage, ob wir solche Systeme wollen – wir haben sie bereits und müssen nun lernen, mit ihnen umzugehen und ihre Stärken zu nutzen. Ziel der Initiative ist es, Lösungen aufzuzeigen: Bereits existierende IwS sollen beherrschbar werden, und zukünftig zu entwickelnde Systeme sollen sich deutlich stärker an den zu erwartenden Implikationen einer wechselseitig beeinflussten Weiterentwicklung zur Laufzeit ausrichten.

Die Suche nach Lösungen kann dabei auf eine Vielzahl von Vorarbeiten aus unterschiedlichen Bereichen der Informatik zurückgreifen. Im Vordergrund der aktuellen und zukünftigen Aktivitäten stehen Fragestellungen nach der Verlagerung von Entwurfszeitentscheidungen in die Laufzeit (Selbst-Entwurf). Zu beantworten sind hierbei Fragen wie z. B.: Wie kann selbst-optimierendes Verhalten mit eingeschränkten Ressourcen zur Laufzeit ermöglicht werden? Wie können Beobachtungen natürlicher Systeme zur aufgabenbezogenen Föderationsbildung auf technische Systeme übertragen werden? Dies ist mit Ansätzen zu kombinieren, die sich mit einem „gemeinsamen Sprachverständnis“ der unterschiedlichen Systeme, dem Einhalten vorgegebener Verhaltenskorridore trotz einem hohen Maß an Selbstorganisation oder der Quantifizierung von Unsicherheit auseinandersetzen.

Literatur

1.    Glass, R.: “Facts and Fallacies of Software Engineering”, Addison Wesley, 2002.

2.    Goebel C. et al.: "Energieinformatik. Aktuelle und zukünftige Forschungsschwerpunkte". In: WIRTSCHAFTSINFORMATIK, Springer Fachmedien Wiesbaden, 2014.

3.    Kephart, J. und Chess, D.: „The Vision of Autonomic Computing“. In: IEEE Computer (36), 2003, S. 41 – 50.

4.    Maier, M.: “Architecting Principles for Systems-of-Systems”. In: Proceedings of IEEE/SMC International Conference on Systems of Systems Engineering, 1996, S. 567 – 574.

5.    Müller-Schloer, C.; von der Malsburg, C. und Würtz, R.: „Organic Computing“. In: Informatik Spektrum (27), 2004, S. 332 – 336.

6.    Rouillard, J.: „The Pervasive Fridge: A Smart Computer System Against Uneaten Food Loss“. In: ICONS 2012 – The 7th International Conference on Systems (2012), S. 135 – 140.

7.    Scholtes, I. und Schweitzer, F.: "The Social Dimension of Information Ranking: A Discussion of Research Challenges and Approaches". In: Sozioinformatics: The social impact of interactions between humans and IT, Springer, 2014.

8.    Tennenhouse, D.: “Proactive Computing”. In: Communications of the ACM (43), 2000, S. 43 – 50.

9.    Tomforde, S.; Hähner, J.; Seebach, H.; Reif, W.; Sick, B.; Wacker, A. and Scholtes, I.: „Engineering and Mastering Interwoven Systems“. In: ARCS 2014 – 27th International Conference on Architecture of Computing Systems – Workshop Proceedings, VDE Verlag.

10.    Wooldridge, M.: “An Introduction to Multi Agent Systems”, John Wiley & Sons, 2009.

11.    Zilberstein, S.: "Using Anytime Algorithms in Intelligent Systems". In: AI Magazine, vol. 17 (3), 1996, S. 73 - 83.

Autoren und Copyright

Sven Tomforde ; Jörg Hähner
Universität Augsburg, Institut für Angewandte Informatik,
Lehrstuhl für Organic Computing
Eichleitnerstr. 30
86159 Augsburg
E-Mail

Bernhard Sick
Universität Kassel, Fachbereich Elektrotechnik/Informatik
Fachgebiet Intelligente Eingebettete Systeme
Wilhelmshöher Allee 73
34121 Kassel
 
© Springer-Verlag: Berlin Heidelberg 2014