Flexilienz: Ausbalancierung der zentralen Anforderungen in autonomen Systemen

Die Vereinbarkeit von Sicherheit, Leistungsfähigkeit und Zuverlässigkeit in logikbasierten Kognitiven Systemen ist keine leichte Aufgabe. Gerade bei sicherheitskritischen autonomen Systemen wie fahrerlosen Autos geht man zu Recht davon aus, dass alle drei Anforderungen auf höchstem Niveau umgesetzt werden. Dies stößt jedoch auf begrenzte Ressourcen. Das Fraunhofer-Institut für Kognitive Systeme IKS hat einen Ansatz entwickelt, um Sicherheit, Leistungsfähigkeit und Zuverlässigkeit in Abhängigkeit von der aktuellen Situation und den konkreten Anwendungen zu optimieren: Flexilienz.

Vogelschwarm
mask Vogelschwarm

Wenn es um cloudbasierte intelligente Systeme wie selbstfahrende Autos, autonome Industrieroboter oder intelligente Gebäude, geht, verlangen wir ein Höchstmaß an Sicherheit, Leistungsfähigkeit und Zuverlässigkeit. Leider würde man unbegrenzte Ressourcen benötigen, um alle drei Eigenschaften zu optimieren. In der realen Welt müssen wir jedoch die verfügbaren Ressourcen aufteilen, wobei nicht nur die Systemanforderungen, sondern auch die konkrete Anwendung zu berücksichtigen sind. Eine angemessene Ressourcenverteilung ermöglicht die Einführung von variablen Stufen von Flexibilität, Intelligenz und Resilienz in ein System. Zusammengefasst ergeben diese drei Eigenschaften einen neuen Begriff: Flexilienz – dauerhafte Zuverlässigkeit und optimierte Leistungsfähigkeit in Kognitiven Systemen, die Veränderungen ausgesetzt sind.

Flexibilität: Wie sich Systeme an neue Situationen anpassen

Ein flexibles System ist in der Lage, sein Verhalten als Reaktion auf die aktuelle Situation zu ändern. Entscheidend ist, dass es bei der Flexibilität um mehr geht als nur um die freie Wahl einer von mehreren vorprogrammierten Aktionen. Flexibilität ist die Fähigkeit des Systems, sich selbst zu verändern – auf einschränkende Umstände zu reagieren und seine Ziele und die Art und Weise, sie zu erreichen, zu gestalten.

WARUM FLEXIBILITÄT? Ein ideales System sollte in der Lage sein, jede mögliche Situation korrekt zu handhaben – zum Beispiel veränderte Kundenanforderungen oder ein sich dynamisch veränderndes Ziel. Im Laufe der Konzeptionsphase ist es jedoch unmöglich, alle diese Szenarien zu testen. Denn intelligente, autonome Systeme sind komplex, operieren in der realen Welt und interagieren mit Menschen und anderen Systemen.

Anstatt verzweifelt zu versuchen, das Unvorhersehbare vorherzusagen, ist es daher viel besser, unser System mit den Mitteln auszustatten, sich an neue Situationen anzupassen. So kann beispielsweise eine Änderung des Umfangs der Benutzeranforderungen zu einer Überlastung führen und es erforderlich machen, dem System vorübergehend zusätzliche Beschränkungen aufzuerlegen, wodurch seine Funktionalität für eine kurze Zeit eingeschränkt wird. Andererseits kann ein System, wenn die Bedingungen günstiger werden, seine Leistung vorübergehend erhöhen, um diese Gelegenheit zu nutzen.

Flexibilität ermöglicht eine Risikoreduzierung, da nur die erforderliche Funktionalität bereitgestellt werden muss. Später kann sich das System selbst erweitern und an neue Bedürfnisse anpassen. Es kann auch sein Potenzial maximieren, indem es neue Dienste einbezieht und sich nahtlos an neue Anforderungen anpasst, was die Zuverlässigkeit erhöht. Mit anderen Worten: Das System arbeitet immer auf dem höchstmöglichen Leistungsniveau.

Intelligenz: Systeme beobachten sich selbst und ziehen daraus Rückschlüsse

Ein Kognitives System nutzt Künstliche Intelligenz (KI), um selbstständig Probleme zu lösen und Strategien für menschliche Aufgaben zu entwickeln. Es benötigt kognitive Fähigkeiten, wie Kontextverständnis, Interaktion, Anpassung und Lernen. Auf diese Weise kann einem System Intelligenz verliehen werden, so dass es seine Handlungen und die Ergebnisse dieser Handlungen analysieren kann, um daraus zu lernen und dieses Wissen in der Zukunft anzuwenden.

WARUM INTELLIGENZ? Es reicht nicht aus, sich nur an neue Situationen anzupassen und Sicherheitsanforderungen zu erfüllen. Die kontinuierliche Anpassung sollte sich auch auf die Leistungsverbesserung konzentrieren. Das ideale System wäre perfekt darauf optimiert, jeder Situation gerecht zu werden. In der realen Welt ist dies jedoch schwer zu erreichen. Eine Lösung besteht darin, dem System Intelligenz zu verleihen, so dass es sich selbst und seine Umgebung beobachten, Aktionen durchführen, die Ergebnisse analysieren und dieses Wissen in der Zukunft anwenden kann – sogar in Szenarien, die von den Systementwicklern nie in Betracht gezogen wurden. Indem wir das System mit Werkzeugen ausstatten, die es in die Lage versetzen, frühere Erfahrungen zu analysieren und aus ihnen zu lernen, können wir überraschende Ergebnisse erzielen und die Leistung erheblich verbessern.

Resilienz: Systeme reagieren sicher in jeder möglichen Situation

Ein resilientes System bleibt auch dann zuverlässig, wenn sich die Umgebungsbedingungen ändern, Ressourcen nicht mehr verfügbar sind oder Systemfehler auftreten. Verlässlichkeit ist ein Versprechen an die Benutzer, dass ein System weiterhin korrekt funktioniert.

WARUM RESILIENZ? Es reicht nicht aus, dass sich ein System an veränderte Bedürfnisse anpasst und seine Leistung optimiert. Die Benutzer erwarten von einem resilienten System, dass es unterbrechungsfreien Betrieb in der gewünschten Qualität liefert und dabei ein zufriedenstellendes Maß an Sicherheit, Zuverlässigkeit und Verfügbarkeit bietet. In der Praxis bedeutet dies, dass ein System in der Lage sein sollte, potenzielle Probleme, einschließlich eines Mangels an Ressourcen und anderer ungünstiger Bedingungen, vorherzusehen und im Voraus geeignete Gegenmaßnahmen zu ergreifen, um weiterhin ein korrektes Leistungsniveau zu gewährleisten.

Auch hier gilt, dass es in der realen Welt mit all ihrer Komplexität, Unbeständigkeit und Ungewissheit unmöglich ist, in der Konzeptionsphase alle möglichen Szenarien zu berücksichtigen. Ingenieure können einfach nicht für jede mögliche Situation Gegenmaßnahmen entwickeln. Zunächst einmal ist es unmöglich, sich jedes mögliche Szenario vorzustellen; zweitens wäre die Konzeption eines solchen Systems zu aufwändig; und schließlich würde selbst eine kleine Veränderung des Szenarios dazu führen, dass sich das System auf unvorhergesehene Weise verhält.

Um die Sicherheit und Zuverlässigkeit des Systems nicht zu gefährden, muss daher eine Fähigkeit zur kontinuierlichen Anpassung an die aktuelle Situation in das System integriert werden. Um diese Anpassungsfähigkeit zu gewährleisten, muss das System in der Lage sein, alle derzeit verfügbaren Ressourcen so umzuleiten, dass sie wichtige Funktionen unterstützen. Und das System muss lernen, wie und wann dies geschehen soll – und dieses Wissen mit der Zeit verfeinern.

Dieser Blogartikel basiert auf dem Whitepaper »Flexilient End-to-End Architectures«. Sie finden es zum Download auf der Website des Fraunhofer IKS.

Download Pfeil nach rechts

Flexilienz: Das Beste aus drei Welten

Flexibilität, Intelligenz und Resilienz: Jeder dieser drei Faktoren ist notwendig, jeder ist für den sicheren und leistungsfähigen Betrieb des Systems verantwortlich und jeder benötigt Ressourcen – je mehr, desto besser. Ressourcen sind jedoch immer begrenzt und kostspielig und hier sollen sie zur Erfüllung widersprüchlicher Ziele verteilt werden. Wenn zum Beispiel alle Ressourcen auf die Resilienz ausgerichtet sind, führt das dazu, dass Flexibilität und Intelligenz vernachlässigt werden. Ein Systemdesigner muss daher ein einzigartiges Gleichgewicht zwischen diesen Eigenschaften – »Flexilienz« – entsprechend der Anwendung, den Bedürfnissen der Benutzer und den tatsächlichen Anforderungen herstellen.

Die nachstehende Abbildung – ein Dreieck von Eigenschaften – stellt das Dilemma dar, in dem der Entwickler steckt. Man kann immer nur jeweils einen einzigen Punkt für ein System wählen. Der Abstand zwischen diesem Punkt und den Ecken des Dreiecks gibt an, inwieweit die Ressourcen den einzelnen Merkmalen zugeteilt wurden. Je näher dieser Punkt an einer der drei Ecken liegt, desto größer ist die Zuteilung von Ressourcen für dieses spezifische Merkmal. Die gewünschte Position eines Punktes kann sich im Laufe der Zeit ändern und spiegelt damit wider, wie sich das System an dynamische Bedingungen anpasst.

Qualitätsdreieck
Bild

Haupteigenschaften von verlässlichen cloudbasierten cyber-physischen Systemen.

Ein Punkt in der unteren Ecke des kleineren Dreiecks beispielsweise bietet dank erhöhter Flexibilität und Intelligenz eine hervorragende Leistung. Die Vernachlässigung der Resilienz führt jedoch zu möglichen Ausfallzeiten aufgrund mangelnder Widerstandsfähigkeit gegenüber veränderten Bedingungen. Eine Lösung wäre, den Punkt nach oben zu verlagern, um die Resilienz bei Bedarf zu erhöhen, ohne die gute Leistungsfähigkeit zu beeinträchtigen. In ähnlicher Weise bietet ein Punkt in der oberen Ecke des größeren Dreiecks eine hohe Widerstandsfähigkeit gegenüber sich ändernden Bedingungen und einen fast immer unterbrechungsfreien Betrieb. Allerdings fällt die Leistung des betreffenden Dienstes sehr unbefriedigend aus. Um sie zu verbessern, muss der Schwerpunkt nach unten verlagert werden, um einen Teil der Ressourcen auf eine höhere Flexibilität und Intelligenz umzulenken.

Qualitätsdreieck mit Punkten
Bild

Je nach Kontext und Anwendung können Ressourcen dynamisch zugewiesen werden, um ein unterschiedliches Maß an Widerstandsfähigkeit, Flexibilität und Intelligenz zu erreichen.

Praktische Beispiele: ein autonomes Auto …

Zur Veranschaulichung: Ein autonomes Auto erfordert ein hohes Maß an Sicherheit und Zuverlässigkeit – Menschenleben hängen von korrektem und unterbrechungsfreiem Betrieb ab, selbst auf Kosten einer verringerten Leistung. In diesem Fall sollten Rechenleistung, Sensoren, Netzbandbreite und andere Ressourcen daher vor allem dazu verwendet werden, die Resilienz des selbstfahrenden Autos zu gewährleisten.

Die Leistung hat zwar nicht die höchste Priorität, ist aber ebenfalls wichtig, da sie von den Nutzern beobachtet und bewertet wird. Wenn ein Auto nicht fährt, muss es nur eine einzige Funktion erfüllen – nämlich »parken« – und kann daher vollkommen sicher und zuverlässig sein. Wenn ein Auto fährt, muss der Punkt im Dreieck der Eigenschaften nach unten verschoben werden, um die Leistung zu erhöhen. Stellt das System eine Störung fest, muss es wiederum die Sicherheit erhöhen. Zusammenfassend lässt sich sagen, dass ein Punkt innerhalb des Dreiecks der Eigenschaften je nach Kontext innerhalb eines bestimmten Bereichs verschoben werden kann, wodurch die Ressourcen so umverteilt werden, dass die Anforderungen der Nutzer und die Systemanforderungen erfüllt werden.

Qualitätsdreieck autonomes Fahren
Bild
Ein sich ändernder Kontext erfordert eine dynamische Ressourcenzuweisung. Der grüne Bereich stellt alle möglichen Kombinationen von Ressourcenzuweisungen für ein autonomes Fahrzeug dar und die schwarzen Punkte sind Beispiele für konkrete Szenarien, die unterschiedliche Sicherheits- und Leistungsniveaus erfordern

… und ein Industrieroboter

Im zweiten Beispiel benötigt ein Industrieroboter, der in einer geschlossenen, strukturierten Umgebung arbeitet, kein so hohes Sicherheitsniveau wie ein autonomes Auto, da es keine Interaktion mit externen Akteuren gibt, die ein unbekanntes Verhalten zeigen, wie z. B. Kinder oder nervöse Fahrer. Oberste Priorität hat hierbei die Maximierung der Leistung und Minimierung der Ausfallzeit. Im Normalbetrieb sollten daher die meisten Ressourcen auf Flexibilität und Intelligenz ausgerichtet sein, um die Leistung des Systems zu maximieren. Bei der Zusammenarbeit mit menschlichen Arbeitskräften muss der Schwerpunkt nach oben verlagert werden, um die Sicherheit und Zuverlässigkeit des Systems zu gewährleisten. Bei Wartungsarbeiten hat die Sicherheit oberste Priorität. Der Punkt verschiebt sich daher nach rechts.

Qualitätsdreieck Roboter
Bild

Die Leistung oder Sicherheit kann durch Verschieben des Punktes, der die aktuelle Ressourcenzuweisung darstellt, erhöht werden. Dieser Ansatz ermöglicht es, die Anforderungen während verschiedener Betriebsarten eines Industrieroboters zu erfüllen.

Um ein System mit echter Selbstwahrnehmung und eine konstante Verbesserung zu ermöglichen, reicht es nicht aus, die Flexilienz einfach nur während der Konzeptionsphase zu beachten. Die zentrale Herausforderung besteht darin, die Ressourcenzuteilung anzupassen und während der Laufzeit kontinuierlich nach der gewünschten Flexilienz zu suchen. Auf diese Weise können die Ziele Sicherheit, Leistungsfähigkeit und Zuverlässigkeit im Laufe der Zeit je nach den aktuellen Anforderungen und dem Kontext angepasst werden.


Dieses Vorhaben wurde im Rahmen des Projekts Unterstützung des thematischen Aufbaus des Instituts für Kognitive Systeme durch das Bayerische Staatsministerium für Wirtschaft, Landesentwicklung und Energie gefördert.

Nächster Artikel

Konzeption und Bewertung verlässlicher cloudbasierter Systeme

Anna Kosmalska
Anna Kosmalska
Kognitive Systeme / Fraunhofer IKS
Kognitive Systeme