Ein Softwarebaukasten für flexible und robuste Architekturen

Flexible Serviceorientierte Architekturen (SOA) in sicherheitskritischen Anwendungen? Das ist bislang quasi ausgeschlossen. Denn Dienste müssen verlässlich zur Verfügung stehen und Sicherheitsanforderungen zu jeder Zeit eingehalten werden. Mit resilientsoa hat das Fraunhofer IKS ein Software Framework entwickelt, das genau dies sicherstellt, das heißt: Service-Orchestrierung so sicher wie notwendig und so performant wie möglich.

02. Oktober 2020

mask Gesteinsschichten

Dienstbasierte Architekturen (Serviceorientierte Architekturen, SOA) sind bereits Standard in vielen Bereichen (z.B. Web-Services). Für den Einsatz in sicherheitskritischen, kognitiven Systemen gelten jedoch ganz andere Rahmenbedingungen. Beispiel Dienstorchestrierung in der Cloud: Eine Dienstorchestrierung, also die Zusammenstellung von einzelnen Softwarefunktionen aus der Datenwolke zu einer Anwendung, lässt sich flexibel nur aufgrund der aktuell verfügbaren Ressourcen umsetzen. Sind wenig Ressourcen vorhanden oder verzögert sich deren Bereitstellung, so ist dies für nicht-sicherheitskritische Anwendungen akzeptabel. Im Bereich sicherheitskritischer Systeme muss jedoch gewährleistet sein, dass Dienste verlässlich zur Verfügung stehen und kritische Anforderungen jederzeit eingehalten werden.

Das bleibt natürlich nicht ohne Auswirkungen auf die Entwicklung solcher Systeme. Um Softwarefunktionen in Form von Diensten flexibel zu nutzen, müssen neue Architekturkonzepte erforscht werden. Dies betrifft vor allem die Entwicklung und Absicherung dieser flexiblen Dienste (oder Services) , da die Komplexität der darauf aufbauenden Systeme steigt: Wo bisher im Falle klassischer Eingebetteter Systeme lediglich eine feste Konfiguration entworfen und überprüft (validiert) werden musste, entsteht in dienstorientierten Systemen eine hohe Variantenanzahl von möglichen Konfigurationen, die sich auch dynamisch während der Lebens- und/oder Laufzeit des Systems verändern können. Diese hohe Anzahl möglicher Konfigurationen lässt sich nicht ohne Weiteres im Vorhinein validieren.

Resilient Service-oriented Architectures

Damit autonome und Kognitive Systeme zukünftig gleichzeitig flexibel und resilient sind, forscht das Fraunhofer IKS an neuen Architekturkonzepten. Fahrzeuge und Maschinen können dadurch aus Service-orientierten Architekturen bestehen statt aus vielen verteilen Steuergeräten. Das ermöglicht zum Beispiel Add-On Funktionen und somit neue Geschäftsmodelle. Erfahren Sie mehr zu unserer Forschung im Bereich Resilient SOA:

Resilient SOA

Neue Architekturkonzepte sind gefragt

Diese große Anzahl an Konfigurationen zu handhaben und abzusichern, erfordert also neue Lösungen. Im Rahmen des vom Bayerischen Wirtschaftsministerium geförderten Projekts zum Aufbau des Fraunhofer IKS werden Entwicklungsmethoden für Eingebettete Systeme erweitert oder gänzlich neue erforscht. Ziel ist es, auch flexible Architekturen Kognitiver Systeme, die mit Künstlicher Intelligenz (KI) arbeiten, zu berücksichtigen. Im Mittelpunkt dabei stehen die Safety (im Sinne von Betriebssicherheit) der Systeme als auch die Absicherung des zuverlässigen Verhaltens. Im Ergebnis müssen die Softwarearchitekturen in der Lage sein, in der Laufzeit selbst adaptiv und dienstorientiert Funktionen zur Verfügung zu stellen.

resilientsoa: Das Framework

Die Antwort des Fraunhofer-Instituts für Kognitive Systeme IKS darauf heißt resilientsoa. Dies ist der Name eines am Institut entwickelten Frameworks, mit dem dienstorientierte Orchestrierung in sicherheitskritischen adaptiven Echtzeitsystemen erforscht und demonstriert werden. Ziel des Softwarebaukastens ist es, die Service Orchestrierung so sicher wie notwendig und so performant wie möglich zu gestalten.

Zum Beispiel kann es während des Betriebs zu Situationen kommen, in denen einzelne Funktionen des Systems nicht sicher ausgeführt werden können, etwa durch aktuelle Umwelteinflüsse, Wetterbedingungen etc. Mit Hilfe des vom Fraunhofer IKS entwickelten Frameworks kann zusätzliche Sicherheit durch Resilienz geschaffen werden, indem betroffene Funktionen eingeschränkt weiterverwendet werden. Somit lassen sich aktuell gültige Safety-Ziele einhalten und die Performanz des Systems erhöhen.

Framework resilientsoa

Architektur des resilientsoa-Frameworks

Die Hauptkomponente des Frameworks ist der Service-Manager, welcher laufende Service-Instanzen, also die gerade aktiven Softwareservices, verwaltet. Er verfügt in der jetzigen Version über einen Katalog von allen möglichen Service-Instanzen, die potenziell lauffähig wären. Aus diesem Katalog kann er beliebige Instanzen auswählen, um einen sicheren und möglichst performanten Systemzustand zu gewährleisten

Jeder Service gehört zu einer gewissen Kategorie bzw. einem gewissen Typ. Dieser Service-Typ beschreibt die Schnittstelle, mit deren Hilfe auf Instanzen dieses Typs zugegriffen werden kann. Eine Service-Instanz implementiert die Schnittstelle ihres Typs und kann Abhängigkeiten zu beliebigen anderen Service-Typen definieren, z. B. die Abhängigkeit eines Spurhalteassistenten von der Objekterkennung. Der Service-Manager verwaltet, überwacht und optimiert diese Abhängigkeiten zur Laufzeit. Dabei wird sichergestellt, dass die Abhängigkeiten zu jedem Zeitpunkt zu den in den Safety-Vereinbarungen der Services festgelegten Mindestbedingungen erfüllt sind.

Hindernisse sicher erkennen – ein Beispielszenario

Erster Anwendungsfall ist das Szenario eines einfachen autonomen Fahrzeuges, welches über zwei Varianten einer Hinderniserkennung verfügt: eine kamerabasierte Erkennung mit Hilfe eines künstlichen neuronalen Netzes oder Convolutional Neural Network (CNN) und eine auf LIDAR basierende Detektion, also eine Messung durch Laserstrahlen. Im Beispielszenario bewegt sich das Fahrzeug auf einer Straße und bremst, sobald es ein Hindernis auf der Fahrbahn erkennt.

Hierbei wird angenommen, dass die Reichweite der optischen Hinderniserkennung größer als die des verbauten LIDARs ist, sofern gewisse Rahmenbedingungen (vor allem Konfidenz-Kriterien) eingehalten werden. Abhängig von den aktuellen Rahmenbedingungen des CNNs werden die Daten des CNNs oder des LIDARs verwendet. Anhand dieses Use-Cases soll das sichere Umschalten zwischen verschiedenen Konfigurationen (CNN / LIDAR) erforscht und optimiert werden, um das Gesamtsystem zu jedem Zeitpunkt safe und dennoch möglichst performant zu halten.

Anwendungsfall resilientsoa

Aufbau eines ersten Anwendungsfalls von resilientsoa

Die Implementierung des Use Case verwendet das entwickelte resilientsoa Framework für die Orchestrierung der Dienste. Hier werden die für den Anwendungsfall spezifischen Dienst-Typen und Dienste registriert. Zusätzlich werden Safety- und Performanz-Ziele sowohl für das Gesamtsystem als auch für einzelne Dienste konfiguriert. Die sichere Orchestrierung der Dienste übernimmt das Framework.

Nächste Station: Industrie-Szenario

Nach diesem recht einfachen ersten Anwendungsfall als Proof-of-Concept hat sich das Team der Forscherinnen und Forscher zum Ziel gesetzt, das Framework in einem weiteren Anwendungsbereich mit einer komplexeren Umgebung zu testen. Die Wahl fiel auf einen Use Case aus dem industriellen Umfeld mit Fahrerlosen Transportsystemen (FTS oder Automated Guided Vehicles, AGVs), bei dem ROS2 als Plattform und Webots als Simulator eingesetzt werden. In diesem breiter angelegten Szenario kommen mobile Roboter zum Einsatz, die den Produktionsprozess über mehrere Industriehallen hinweg unterstützen.

Zukünftig beabsichtigen wir, gemeinsam mit industriellen Partnern resilientsoa sowohl in der Simulation als auch in der Praxis weiter zu erproben und auszubauen. Dabei wollen wir unter anderem die Flexibilität unseres Ansatzes in verschiedenen Anwendungen angehen.

Haben Sie beispielsweise einen spannenden Anwendungsfall, in dem Sie den Einsatz flexibler und sicherer Serviceorientierter Architekturen untersuchen? Dann kontaktieren Sie mich gerne, um Lösungen mittels unseres resilientsoa-Ansatzes auch für Ihre Herausforderungen zu finden.


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

Flexilience: balancing key requirements in autonomous systems

Anna Kosmalska
Anna Kosmalska
Fraunhofer blog icon mono koginitve systeme
Kognitive Systeme