OC-Trust
?berblick
Ziel der von der DFG gef?rderten Forschergruppe OC-Trust war?es, die Vertrauenswürdigkeit von Organic Computing Systemen zu verbessern, um so ihren Einsatz in offenen, heterogenen, sicherheitskritischen und nutzerzentrierten Szenarien zu erm?glichen. Weiterhin sollte untersucht werden, inwieweit Trust als konstitutives Element von technischen Systemen zur Verbesserung ihrer Robustheit und Effizienz beitragen kann. Dazu wurden Methoden, Modelle, Algorithmen und Benutzerschnittstellen entwickelt. Diese Techniken erlauben, Vertrauen beim Entwurf der Systeme zu berücksichtigen und diese auf ihre Vertrauenswürdigkeit hin zu untersuchen. Au?erdem erm?glichen sie, Vertrauen zur Laufzeit zu messen und die Systeme in Bezug auf verschiedene Vertrauensaspekte anzupassen.
?
Beschreibung
An der Forschergruppe waren fünf Teams aus Augsburg und Hannover beteiligt. Sprecher der Forschergruppe ist Prof. Dr. Wolfgang Reif von der Universit?t Augsburg. Die folgenden Teams arbeiteten in der Forschergruppe zusammen:
-
Formal Analysis and Software Architectures for Trustworthy Organic Computing
Prof. Dr. Wolfgang Reif,?Lehrstuhl für Softwaretechnik und Programmiersprachen, Universit?t Augsburg, Sprecher - HCI Design for Trustworthy Organic Computing
Prof. Dr. Elisabeth André,?Lehrstuhl für Multimedia-Konzepte und Anwendungen, Universit?t Augsburg - Erzeugung selbst-organisierender Vertrauensgemeinschaften - Top-down
Prof. Dr. Christian Müller-Schloer,?Fachgebiet System- und Rechnerarchitektur, Universit?t Hannover - Erzeugung selbst-organisierender Vertrauensgemeinschaften - Bottom-up
Prof. Dr. J?rg H?hner,?Lehrstuhl für Organic Computing, Universit?t Augsburg - Vertrauensverh?ltnisse unter den autonomen Einheiten von OC-Systemen
Prof. Dr. Theo Ungerer,?Lehrstuhl für Systemnahe Informatik und Kommunikationssysteme, Universit?t Augsburg
Organic Computing Systeme sind hochdynamisch, bestehen aus einer Vielzahl ver?nderbarer Komponenten und befinden sich in einer sich st?ndig ver?ndernden Umgebung. Daraus ergibt sich eine Vielzahl an wünschenswerten Eigenschaften, u.a. die F?higkeit zur Selbst-Heilung, zur Selbst-Adaptivit?t oder zur Selbst-Konfiguration. Allerdings sind klassische Techniken für Analyse und Entwurf von Softwaresystemen für diese Systemstrukturen nicht geeignet. V?llig neue Aspekte, wie emergentes Verhalten und die extreme Wandelbarkeit von OC-Systemen machen ein Umdenken und das Entwickeln neuer Mechanismen notwendig. Dazu geh?ren neben formalen Methoden für funktionale Korrektheit, Safety und Security auch Methoden für die vertrauensvolle Interaktion zwischen Teilen des Systems, der ?berwachung von vordefinierten Richtlinien zur Laufzeit und die Entwicklung von Algorithmen, die Trustaspekte in selbst-organisierenden Systemen berücksichtigen. Insbesondere ist auch die Schnittstelle zum Benutzer nicht mehr mit klassischen Methoden realisierbar. Hier müssen Fragen untersucht werden, die sich mit der Darstellung von selbst-organisierenden Systemstrukturen, der adaptiven Darstellung von Informationen über verschiedene Arten von Displays und nicht zuletzt mit Privatheit von Daten auseinandersetzen.
?
Vertrauenskritische Organic Computing Systeme unterscheiden sich von herk?mmlichen Organic Computing Systemen, wie sie z.B. im Rahmen des? Schwerpunktprogrammes 1183?betrachtet worden sind, vor allem durch ihre Offenheit, die Heterogenit?t der beteiligten Agenten und durch die Berücksichtigung von menschlichen Benutzern. Ein weiteres Merkmal ist die h?here Autonomie der Agenten durch eine zunehmende Verlegung von Entscheidungen aus der Designzeit in die Laufzeit, die im Extremfall zu einem rein egoistischen Agentenverhalten führt. Damit ist auch die Gutwilligkeitsannahme, also die Annahme der prinzipiellen Kooperationsbereitschaft der Agenten, nicht mehr zu halten. Durch all diese Faktoren steigt die Unsicherheit, die über das System, seine Umgebung und die zukünftigen Entwicklungen vorliegt, und emergentes Verhalten wird schwieriger zu kontrollieren.
?
In der ersten Phase des am 01.10.2009 gestarteten Projektes wurden Basistechnologien entwickelt, um mit diesen Problemen umgehen zu k?nnen. Dazu geh?ren formale Methoden zur Kontrolle emergenten Verhaltens, Gemeinschaften vertrauenswürdiger Agenten, Modelle zur Messung von Nutzervertrauen und von Verfügbarkeit, Algorithmen, die Vertrauenswerte in ihre Berechnungen mit einbeziehen, sowie Konstruktionsmethoden und adaptive Benutzerschnittstellen. Diese Technologien wurden anhand?offener, heterogener Organic Computing Systeme evaluiert.
?
W?hrend der zweiten und dritten Phase sollten diese Technologien ausgebaut und die Komplexit?t der betrachteten Probleme erh?ht werden. Dabei rückte der Umgang mit unsicheren Daten, Konflikten, Wechselwirkungen und einer zunehmenden Hierarchisierung der Systeme in den Vordergrund. Diese Aspekte wurden durch Arbeiten abgedeckt, die in enger Kooperation zwischen den Projektgruppen entstanden. Au?erdem rückten Anwendungsaspekte zunehmend in den Vordergrund. Dazu wurden die Techniken aus den Gruppen kombiniert und in Demonstratoren umgesetzt.
Einsatzgebiete und Fallstudien
Im Rahmen der Forschergruppe OC-Trust entstanden mehrere Fallstudien. Die dabei betrachteten Einsatzgebiete zeichnen sich vor allem dadurch aus, dass der Einsatz von Organic Computing Prinzipien und die Berücksichtigung von Vertrauenswürdigkeit es erm?glichen, deutliche Vorteile gegenüber herk?mmlichen Ans?tzen zu realisieren. Im Folgenden werden jeweils die Einsatzgebiete und die darin zu findenden Probleme beschrieben, sowie die in OC-Trust dafür entwickelten L?sungsans?tze skizziert.
?
Die beschriebenen L?sungsans?tze wurden im Rahmen des Projektes als Anwendungsplattformen umgesetzt. Diese stellen darauf aufsetzenden Anwendungen die Konzepte des Einsatzgebietes zur Verfügung und dienen als Grundlage für andere Anwendungen im selben Gebiet. Einzelne Anwendungen wurden in der ersten Projektphase als Demonstratoren implementiert. Die Abbildung auf der rechten Seite zeigt den Aufbau der Anwendungsplattformen auf der gemeinsamen Infrastruktur, die darauf aufsetzenden Anwendungen und die Zust?ndigkeiten der einzelnen Projektgruppen.
?
Einsatzgebiet: Offenes Desktop Grid Computing (Gruppe Müller-Schloer/H?hner)
In einem Desktop Grid Computing System werden vernetzte Rechenressourcen zur verteilten Berechnung auf gro?en Datenmengen genutzt. Frameworks wie Condor oder BOINC stellen diese Funktionalit?t generisch zur Verfügung und lassen sich für die Ausführung beliebiger, verteilbarer Rechenaufgaben nutzen.Die berechneten Aufgaben werden zentral verteilt und die Ergebnisse anschlie?end ebenfalls zentral gesammelt. In der Praxis werden diese Systeme vor allem im wissenschaftlichen Bereich eingesetzt und innerhalb einer administrativen Dom?ne verwendet. Die Vertrauenswürdigkeit der Teilnehmer spielt somit in der Regel keine Rolle.
?
Im Unterschied dazu stellen im generellen Fall des Volunteer Computing Individuen aus unterschiedlichen administrativen Dom?nen, die keine Form von Beziehung zueinander haben, Ressourcen bereit. Rechenaufgaben k?nnen von allen Teilnehmer erstellt werden. Wesentliche Probleme in solchen Netzwerken sind dabei unzuverl?ssige Teilnehmer, die zwar Arbeitsauftr?ge annehmen, diese aber nicht abschlie?en, und Teilnehmer, die zwar Aufgaben im Netzwerk berechnen lassen, selbst aber keine Ressourcen zur Verfügung stellen. In existierenden Systemen wird von einem prinzipiellen Wohlwollen der Teilnehmer ausgegangen und diesen Ph?nomenen somit nicht oder nur unzureichend begegnet.
?
Das?Trusted Computing Grid?(TCG) macht diese Probleme beherrschbar. Die Teilnehmer am TCG messen die Vertrauenswürdigkeit der anderen Teilnehmer und stellen diese Daten einander zur Verfügung. Damit ist es m?glich, gezielt vertrauenswürdige Partner zu suchen und egoistische Teilnehmer auszuschlie?en. Au?erdem k?nnen die Agenten ihre Verhaltensweisen so anpassen, dass die Effizienz und Robustheit des TCG erh?ht werden. Durch die N?he zu existierenden Systemen ist es m?glich, die entwickelten Prinzipien relativ schnell in eine konkrete Software zu übertragen und ihren Nutzen zu realisieren. Eine der konkreten Anwendungen, die untersucht wird, ist die verteilte Gesichtserkennung im TCG.
?
Einsatzgebiet: Dezentrale Steuerung der Energieversorgung (Gruppe Reif)
Der Energiemarkt befindet sich in der gr??ten Umw?lzung seiner Geschichte. Die massive Zunahme regenerativer Stromquellen und nutzungsabh?ngiger Energieerzeuger (zusammengefasst als stochastische Erzeuger), sowie steuerbarer Kleinsterzeuger? stellt die aktuellen Techniken zur Steuerung von regelbaren Kraftwerken vor massive Probleme: einerseits wird es schwieriger, mit der gro?en Anzahl an Kraftwerken umzugehen, andererseits sind die Schwankungen, die durch die Ver?nderungen in der Produktion stochastischer Erzeuger entstehen, schwierig vorherzusagen und zu kompensieren.
Für die L?sung dieses Dilemmas bieten sich Organic Computing Systeme an. Eine wesentliche Eigenschaft dieser Systeme ist die Verlagerung von Entscheidungen in die Agenten und die Benutzung von lokalem Wissen. Dies passt zu der verteilten Natur der modernen Energieversorgung und erlaubt es, mit der hohen Dynamik und sich st?ndig ver?ndernden Situationen umzugehen. Allerdings müssen in einer so kritischen Dom?ne wie der Energieversorgung besondere Vorkehrungen getroffen werden, um die Versorgungssicherheit zu gew?hrleisten und Sch?den zu vermeiden.
?
Das?Trusted Energy Grid?(TEG) stellt Methoden bereit,um mit Hilfe von Vertrauenswerten Unsicherheiten auszugleichen und die autonome Steuerung regelbarer Kraftwerke zu erm?glichen. Gleichzeitig wird durch die Verwendung von Verhaltenskorridoren die Betriebssicherheit und funktionale Korrektheit sichergestellt. Durch Selbstorganisation entsteht ein System of Systems, das in Autonome Virtuelle Kraftwerke (Autonomous Virtual Power Plants, AVPP) gegliedert ist. Innerhalb der AVPPs kann unter Berücksichtigung der Vertrauenswürdigkeit der Teilnehmer sowie anhand von Prognosen und dafür gemessenen Gütekriterien effizient geplant werden. Das TEG stellt damit eine Zukunftsvision zur L?sung eines wichtigen gesellschaftlichen Themas dar, das zus?tzlich aus systemtechnischer und ?konomischer Perspektive ?u?erst relevant ist.
?
Einsatzgebiet: Adaptive ?ffentliche Mehrbenutzerschnittstellen (Gruppe André)
Die Anforderungen an Privatsph?re und Transparenz eines Systems sind dann besonders hoch, wenn Benutzer ?ffentliche Displays nutzen, um alleine oder mit anderen private Daten zu visualisieren und zu bearbeiten. Tritt z.B. ein Unbekannter in den Interaktionsbereich, muss sichergestellt sein, dass die privaten Daten nicht mehr angezeigt werden. Gleichzeitig jedoch muss der Benutzer die M?glichkeit haben, die autonomen Ver?nderungen durch Selbstanpassung des Systems nachzuvollziehen und unter Umst?nden rückg?ngig machen zu k?nnen.
?
Multi-User Multi-Display Umgebungen?(MUMD) liegen in diesem Spannungsfeld zwischen Privatsph?re, Transparenz, Kontrollierbarkeit und Nutzungskomfort. Die Einbeziehung der sozialen Beziehungen zwischen den Benutzern eines solchen Systems erm?glicht es, vertrauenskritische Situationen, in denen die Privatheit der Daten geschützt werden muss, von unkritischen Situationen zu unterscheiden und entsprechend zu reagieren. Einsatzgebiete finden sich im Ambient Assisted Living oder überall, wo der ?ffentliche Raum mit interaktiven Ger?ten angereichert ist, die sich mit Anwendungen auf privaten Endger?ten koppeln lassen. Ein Beispiel dafür ist der Friend Finder, ein System, das z.B. in gro?en ?ffentlichen Einrichtungen oder auf Messen eingesetzt werden kann, um Bekannte auf dem Gel?nde zu lokalisieren.
?
Gemeinsame Basis: Infrastruktur für vertrauenswürdige Systeme (Gruppe Ungerer)
Den skizzierten L?sungsvorschl?gen liegen gemeinsame Elemente zu Grunde. So basieren alle Anwendungen auf Agenten, die miteinander kommunizieren. Die Agenten messen Vertrauenswerte, speichern, verarbeiten und analysieren diese. Au?erdem ben?tigen sie Dienste, um andere Agenten zu lokalisieren, Daten persistent im System abzuspeichern und Daten über die Verfügbarkeit anderer Agenten abzurufen.
Bereits auf Infrastruktur-Ebene lassen sich Vertrauenswerte dafür verwenden, die Vertrauenswürdigkeit eines Systems zu verbessern. So l?sst sich auf dieser Ebene die Ausfallsicherheit erh?hen, indem unzuverl?ssige Knoten, also solche, die wiederholt nicht erreichbar sind, identifiziert werden. Anschlie?end werden wichtige Dienste auf zuverl?ssige Knoten migriert. Au?erdem k?nnen in der Infrastruktur Verfahren angesiedelt werden, um Vertrauenswerte zu speichern und mit applikationsspezifischen Metriken auszuwerten.
?
Die?Trust-Enabling Middleware?(TEM) stellt diese Dienste zur Verfügung. In Zusammenarbeit aller Gruppen wurden dabei Schnittstellen entwickelt, die es erlauben, die einzelnen Anwendungsplattformen auf der Basis der TEM zu entwickeln. Die TEM stellt eine Agentenabstraktion sowie eine Infrastruktur und Primitive für die Kommunikation zur Verfügung. Verfügbarkeitsdaten der einzelnen Agenten werden komplett über die Infrastruktur erhoben und k?nnen von den Plattformen ausgewertet und weiterverwendet werden. Zus?tzlich ist es m?glich, Vertrauenswerte, die in der Anwendung erhoben wurden, in der TEM abzulegen und nach Bedarf aufzurufen und auszuwerten.
Team
- Telefon: +49 821 598 - 2340
Prof. Dr. Christian Müller-Schloer
Professor a.D.
Leibniz Universit?t Hannover
Telefon: +49 511 762 19730
Institut für Software & Systems Engineering
Das Institut für Software & Systems Engineering, geleitet von Prof. Dr. Wolfgang Reif, ist eine wissenschaftliche Einrichtung in der Fakult?t für Angewandte Informatik an der Universit?t Augsburg. Das Institut unterstützt sowohl Grundlagen- als auch angewandte Forschung in allen Bereichen der Software & Systems Engineering. In der Lehre erm?glicht es die weitere Entwicklung des relevanten Kursangebots von Fakult?t und Universit?t.