Resilient Service-oriented Architectures

Software-Defined Systems verändern den Markt

© Fraunhofer IKS / Andreas Jacob

Kognitive Systeme bieten in vielen unterschiedlichen Lebensbereiche neue Chancen, indem sie selbstständig und intelligent agieren. Solche autonomen oder kooperativen Systeme müssen dafür stark auf ihre Umgebung eingehen können und sich schnell an veränderte Bedingungen anpassen. Die Software heutiger technischer Systeme wie Autos und Maschinen wurde historisch jedoch meist aus dem Maschinenbau und der Elektrotechnik heraus entwickelt. Sie entstand als proprietäre Lösung, die im Laufe der Zeit weiterentwickelt wurde. Damit entspricht sie nicht mehr dem Stand der Technik moderner Softwaretechnologien. Tech-Unternehmen, die beispielsweise autonome Fahrzeuge entwickeln, bauen diese von Grund auf als Softwaresysteme, wodurch entscheidende Wettbewerbsvorteile entstehen. Man spricht dann von »Software-Defined Vehicles« oder allgemein von »Software-Defined Systems«.

Chancen durch adaptierbare und adaptive Architekturen

Solche Kognitiven Systeme basieren auf dem Einsatz von Künstlicher Intelligenz (KI), maschinellem Lernen und anderen modernen Softwaretechnologien. Ziel ist es, bisher starre und unflexible Systeme adaptiv und kognitiv zu gestalten, um Anwendungen wie Over-The-Air-Updates, Microservices oder die virtuelle Ausführung von Software zu ermöglichen. Dazu müssen allerdings die Möglichkeiten moderner Softwaretechnik mit den notwendigen Qualitätseigenschaften in Einklang gebracht werden – allen voran Safety, Zuverlässigkeit und Verfügbarkeit.

Sind diese Qualitätseigenschaften erfüllt, ergeben sich vielfältige Möglichkeiten:

  • Cloudsteuerung: Durch flexible Software-Architekturen kann die Steuerung vom physischen Prozess getrennt werden. Die Steuerung findet dann außerhalb der physischen Maschine, beispielsweise über Edge oder Cloud statt.
  • Ende-zu-Ende-Architekturen: Ende-zu-Ende-Architekturen, deren Teilsysteme sich flexibel neukonfigurieren, erlauben dynamisches, kooperatives Verhalten von heterogenen Teilsystemen. Dafür muss aber eine sichere und verlässliche Verteilung sichergestellt werden, um die Verfügbarkeit zu gewährleisten.
  • Service-orientierte Architekturen: Fahrzeuge oder Maschinen bestehen nicht mehr klassisch aus vielen verteilten Steuergeräten, sondern aus Service-orientierten Architekturen. Dies ermöglicht beispielswiese Add-On-Funktionen und damit neue Geschäftsmodelle.
  • Graceful Degradation: Adaptive Architekturen ermöglichen Fail-Operational-Ansätze wie Graceful Degradation. Dabei wird im Fehlerfall der Funktionsumfang oder die Funktionsgüte schrittweise zurückgeschaltet, um trotz Fehler eine sichere Funktion aufrechtzuerhalten.

Um diesen Anforderungen zukünftiger autonomer Systeme und kognitiver Verbünde gerecht zu werden, forscht das Fraunhofer-Institut für Kognitive Systeme IKS an neuen Architekturkonzepten, insbesondere an Ansätzen zur Entwicklung, Analyse und zum Laufzeitmanagement Kognitiver Systeme. So können Kognitive Systeme gleichzeitig flexibel und resilient sein.

Architekturen entwerfen, analysieren und absichern

© Frauhofer IKS / Andreas Jacob

Das Fraunhofer IKS arbeitet an Möglichkeiten, den Raum der Adaption Kognitiver Systeme schon im Entwurf zu explorieren und zu validieren. Vor allem bei Risiken müssen Anpassungen vorhanden sein, um ausreichende Sicherheit zu ermöglichen. Der Raum der möglichen Anpassungen muss dafür gegebenenfalls auch eingeschränkt werden.

Hierfür sind neue Werkzeuge notwendig, da adaptierbare und adaptive Software-Architekturen eine sehr hohe Komplexität aufweisen. Um sicherheitsrelevante, komplexe Funktionen abzusichern, können Entwurfserweiterungen, wie die automatische Generierung von Konfigurationen und Laufzeitmodellen in Frage kommen.

Außerdem untersucht das Fraunhofer IKS neue Planungs- und Evaluierungsansätze, die eine optimale und verlässliche Verteilung sicherheitskritischer Funktionen und zusätzlicher Ausfallmechanismen in eingebetteten Echtzeitsystemen als auch offenen Systemen ermöglicht. In Ende-zu-Ende-Architekturen agieren diese Mechanismen darüber hinaus dezentral und auf verschiedenen Ebenen. Für diese Architekturen forscht das Fraunhofer IKS deswegen an Monitoring- und Kontroll-Mechanismen, die ein resilientes Verhalten kognitiver Funktionen sogar über Grenzen der Teilsysteme hinweg ermöglichen.

Fehlererkennung und -behandlung von Künstlicher Intelligenz (KI)

Ein wichtiger Faktor für den Einsatz intelligenter Systeme in sicherheitskritischen Anwendungen ist die Fehlerbehandlung und der Umgang mit Unsicherheiten (uncertainties). Klassische Softwaresysteme geben bei fehlerhaften Eingaben Warnungen aus, KI-Systeme nicht. Im Gegenteil: moderne Methoden wie DNNs geben weiterhin scheinbar sichere Vorhersagen. Dies ist besonders kritisch, da KI-Systeme stark auf den zugrundeliegenden Daten und den damit einhergehenden Annahmen basieren. Damit führen unbekannte Eingabedaten (out-of-distribution samples) oder Veränderungen der Datenverteilung (dataset shift) zu unzuverlässigen, gegebenenfalls sogar sicherheitskritischen Ergebnissen.

Das Fraunhofer-Institut für Kognitive Systeme IKS arbeitet deswegen an zwei Lösungsansätzen: Zum einen werden die Eingaben auf Abweichungen vom erwarteten Verhalten untersucht. Dies umfasst zum Beispiel Datenverteilungen, die durch das Training oder die Tests nicht abgedeckt wurden. Zum anderen entwickeln die Forscherinnen und Forscher Methoden der Unsicherheitsbewertung (uncertainty quantification). Diese treffen zuverlässige Aussagen über die Unsicherheit der KI-Ergebnisse. Basierend auf der Unsicherheit können dann der Entscheidungsprozess angepasst oder Alternativen wie weitere Datenquellen oder andere Subsysteme herangezogen werden.