Konzeption und Bewertung verlässlicher cloudbasierter Systeme

Die Bewältigung der vielfältigen Herausforderungen bei zuverlässigen cloud-basierten cyber-physikalischen Systems of Systems (CPSoS) erfordert neue Ansätze, die automatisiert und effizient genug sind, um einige Elemente des Systems in die Laufzeit zu verlagern. Zur Konzeption und Bewertung der Systemarchitektur hat das Fraunhofer IKS einen iterativen, automatisierten Prozess entwickelt.

mask Gebirge mit Wolken

Wie in einem früheren Blog-Beitrag beschrieben, stehen cloudbasierte CPSoS vor einer Vielzahl von Herausforderungen. Dazu gehören das Erreichen eines erschwinglichen Sicherheits- und Leistungsniveaus, die Bereitstellung interoperabler Konnektivität und vorhersehbaren Echtzeitverhaltens sowie die Gewährleistung von Sicherheit und Wartbarkeit.

Automatisierte und effiziente Ansätze, die darauf abzielen, einige Elemente des Systems in die Laufzeit zu verlagern, erfordern einen größeren Aufwand in der Konzeptionsphase. Sie können jedoch für mehr Flexibilität und Zuverlässigkeit des Systems sorgen und so die Kosten senken, da spätere Wartungsausfälle vermieden werden. Das Fraunhofer-Institut für Kognitive Systeme IKS stellt einen iterativen und automatisierten Prozess mit Feedback-Schleifen zum Konzipieren und Bewerten der Systemarchitektur vor.

Design Process
Bild

Der Entwurfsprozess ermöglicht eine kontinuierliche Verbesserung der entworfenen Architektur durch verschiedene Feedback-Zyklen sowie optimale Lösungen, die alle Systemanforderungen und -ziele erfüllen.

Sicherheitsziele als Ausgangspunkt

Eine Liste von Leistungs- und Sicherheitszielen dient als Ausgangsbasis für den Prozess, der die gesamte Konzeption prägt. Die Ziele definieren die Aufgaben und Eigenschaften des Systems sowie mögliche Gefahren und Risiken. Ausgehend von den übergeordneten Aufgaben, die die Gesamtsystemarchitektur und die wichtigsten Unterkomponenten definieren, werden sie zur Ableitung der Systemanforderungen verwendet.

Durch die systematische Analyse werden Fehlermöglichkeiten und Systemschwächen ermittelt, um die Anforderungen zu verfeinern. Dazu werden geeignete Gegenmaßnahmen vorgeschlagen, die so lange durchgeführt werden, bis das Ausmaß der Schwachstellen zufriedenstellend niedrig ist. Dieser Prozess, der als schwächengesteuerte Anforderungsverfeinerung bezeichnet wird, hilft dabei, Schwachstellen wie Sicherheitsrisiken (Security), Ausfälle, Sicherheitsbedrohungen (Safety) oder die Überschreitung von Leistungsschwellen zu identifizieren. Gegenmaßnahmen werden dann auf der Ebene der Teilsysteme integriert.

Die Systemanforderungen begrenzen die Möglichkeiten des Konfigurationsraummodells, einer Reihe von Werkzeugen zur (semi-)formalen Beschreibung, Analyse und Sammlung von Informationen über das System. Ein integraler, aber dennoch eigenständiger Teil dieses Ansatzes ist ein Sicherheitsmodell, mit dem sicherheitsorientierte Analysen durchgeführt und Grenzen für leistungsbezogene Optimierungen gesetzt werden können. Die Untersuchung des Konfigurationsraums liefert eine Reihe von Lösungen. Dabei handelt es sich im Wesentlichen um Systemkonfigurationen, die die Anforderungen erfüllen und aus denen optimale Systemkonfigurationen ermittelt und bewertet werden.

Die Erfüllung der Anforderungen ist nur ein Aspekt des Erfolgs. Mit detaillierten Analysen und Simulationen müssen die Lösungen validiert werden, um nachzuweisen, dass sie die ursprünglichen Ziele des Systems erfüllen und die Zuverlässigkeit gewährleisten. Die Validierung ermöglicht auch die Erstellung von Fehlerprognosen und hilft bei der Identifizierung kritischer Szenarien. Werden bei der Validierung neue Schwachpunkte festgestellt, werden geeignete Gegenmaßnahmen ergriffen. Die Systemanforderungen können dann für die nächste Iteration verfeinert werden.

Cloudbasierte Systeme haben das Potenzial, echte Selbstwahrnehmung zu bieten

Ein wesentliches Ergebnis des Entwurfsprozesses sind Überwachungs- und Notfallkonzepte, die in das Betriebssystem integriert werden können. Durch die Überwachung der durch die Anforderungen definierten Eigenschaften kann der Zustand des Systems ermittelt werden. Bei Bedarf können dann Notfallpläne ausgelöst werden, die durch optimale Lösungen für die identifizierten Zusammenhänge definiert sind.

Weiter entwickelte Konzepte und Prototypen, einschließlich der erforderlichen Überwachungs- und Notfallmechanismen, können dazu beitragen, die Selbstwahrnehmung des Systems zu stärken. Selbstwahrnehmung ist die Fähigkeit eines Systems, seinen eigenen Zustand und seine Umgebung zu bestimmen, sowie Fehler zu erkennen und mögliche Maßnahmen zu identifizieren. Cloudbasierte Systeme haben das Potenzial, echte Selbstwahrnehmung zu bieten, da sie eine hohe Verarbeitungsleistung und anderen Ressourcen bieten.

Wenn das System über eine anpassungsfähige Architektur verfügt – d. h. die Grenzen des Systems können sich dynamisch ändern, von lokalen eingebetteten Teilsystemen bis hin zu einer Ende-zu-Ende-Architektur, die aus mehreren CPSoS, Netzen sowie Edge- und Cloud-Diensten besteht –, sollte auf jeder Ebene Selbstwahrnehmung gegeben sein. Unabhängige Entscheidungen müssen jedoch koordiniert werden, um Konflikte zu vermeiden.

Die Lösungen können unterschiedlich ausfallen und zwischen vordefinierten Regeln, die Konformität garantieren, und interaktiveren Mustern, die Kommunikation erfordern, variieren. Aus diesem Grund werden die Überwachungseigenschaften und Notfallpläne während des Konzeptionsprozesses durch die Systemanforderungen und optimale Lösungen definiert. Ziel ist es, sie dynamisch an einen bestimmten Kontext anzupassen.

Anwendungsszenario: automatisierter Einparkservice

Zur Veranschaulichung des Konzeptionsprozesses analysieren wir ein konkretes Anwendungsszenario, z. B. ein Automated Valet Parking System, ein System zum automatisierten Einparken. Die Vorgaben (die anfänglichen Systemziele) maximieren die Leistung, z. B. die Geschwindigkeit der Fahrzeuge im Parkbereich. Außerdem wird die Sicherheit gewährleistet, z. B. durch die Vermeidung von Kollisionen. Die abgeleiteten Anforderungen definieren den Bereich und die anfängliche Architektur des Systems (der Parkplatz ist ein teilweise geschlossener Bereich und die Fahrzeuge sollten von einem cloudbasierten Sicherheitssystem geleitet werden).

Potenzielle Schwachstellen, wie z. B. der Verlust der Konnektivität, können im Voraus identifiziert werden. Eine mögliche Gegenmaßnahme wäre, das Fahrzeug anzuhalten, bis die Verbindung wiederhergestellt ist, was zu weiteren Schwachstellen führt. Der Prozess der Verfeinerung der Anforderungen, der Ermittlung von Schwachstellen und der Entwicklung von Gegenmaßnahmen wird so lange durchgeführt, bis alle vorhersehbaren und relevanten Schwachstellen beseitigt sind. Dies führt zu einer ausgereifteren Systemarchitektur.

Im nächsten Schritt werden die möglichen Systemkonfigurationen unter Berücksichtigung der Anforderungen untersucht, um optimale Lösungen zu finden, die die Leistungs- und Sicherheitsanforderungen erfüllen können. Anschließend werden sie mit verschiedenen Techniken validiert, wie z. B. der Monte-Carlo-Simulation. Die definierten Laufzeitüberwachungs- und Notfallpläne stellen sicher, dass das System flexibel genug ist, um unerwartete Situationen zu bewältigen. Dazu gehört zum Beispiel die Überwachung des Verbindungsstatus – oder genauer gesagt die Feststellung, ob die zuletzt empfangenen Informationen veraltet sind.

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

Download Pfeil nach rechts

Wenn die Verbindung unterbrochen wird, kann das Fahrzeug auf lokale Steuerung umschalten und mit seinen eigenen Sensoren weiterfahren. Regeln dafür, wann das Fahrzeug eigenständig weiterfahren kann, sorgen dafür, dass die Cloud und andere Fahrzeuge genügend Zeit haben, sich auf das unabhängige Fahrzeug einzustellen. Sobald die Konnektivität wieder verfügbar ist, wird ein weiterer Notfallplan ausgelöst, der das Fahrzeug wieder unter die Kontrolle der Cloud bringt.

Adaptives Zuverlässigkeitsmanagement als Garant für Resilienz

Ein wesentliches Merkmal von cloudbasierten Systemen, die verschiedene Dienste anbieten, ist die Resilienz. Dies bedeutet, dass die Zuverlässigkeit jederzeit und unabhängig vom Kontext gewährleistet sein muss, egal ob es sich um eine sich dynamisch verändernde Umgebung oder um Ausfälle handelt. Selbst der umfassendste Konzeptionsprozess kann nicht alle möglichen Situationen vorhersagen. Bei der Untersuchung des Konfigurationsraummodells werden die meisten denkbaren Szenarien berücksichtigt. Dies ermöglicht ein Systemdesign, das die meiste Zeit zuverlässig und performant bleibt.

Die reale Welt ist jedoch voll von unvorstellbaren Szenarien – und hier kommt adaptives Zuverlässigkeitsmanagement ins Spiel. Die Automatisierung des Überwachungszyklus, die Aktualisierung der Selbstüberwachung des Systems in Form eines Sicherheitsmodells und die kontinuierliche modellbasierte Analyse mit Systemoptimierung und -anpassung ermöglichen es dem System, sich an neue Gegebenheiten anzupassen. Eine sichere, aber potenziell weniger effiziente Konfiguration wird dann als Ausweichlösung verwendet.

Die iterative und kontinuierliche Entwicklung des Systems mit Hilfe von Techniken wie der schwächengesteuerten Anforderungsverfeinerung sowie die Steigerung der Selbstwahrnehmung des Systems können dazu beitragen, die verschiedenen Herausforderungen bei der Entwicklung zuverlässiger, cloudbasierter Ende-zu-Ende-Architekturen zu bewältigen. Autonome Systeme können dann mit einer Fülle von Cloud-Diensten und -Ressourcen erweitert werden, um völlig neue Möglichkeiten und Konzepte zu schaffen.


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

Flexible und dynamische Systeme
Dynamische Absicherung in End-to-End-Architekturen

Oleg Oleinichenko
Oleg Oleinichenko