Nächster Artikel
Initiative »Absicherung von Verteilungskonzepten«
Sicherheitskritische Software-Funktionen sind in der Edge oder Cloud gut aufgehoben
Ob immer intelligentere vernetzte Fahrzeuge und Industrieanlagen oder autonome Roboter: Die Nachfrage nach neuen und komplexeren Anwendungen wächst ständig. Die Auslagerung in die Cloud oder in näher gelegene EDGE-Knoten verspricht mehr Funktionen und Flexibilität. In diesem Artikel behandeln wir Lösungsansätze für Herausforderungen, die das mit sich bringt.
© iStock.com/stock_colors
Wenn sicherheitsrelevante Funktionen aus der Maschine in die Cloud oder Edge verlagert werden, gibt es einige Herausforderungen zu bewältigen. So muss die Maschine weiterhin zuverlässig ihre Aufgabe ausführen und auch flexibel damit umgehen können, dass eine ausgelagerte Funktion zeitweise nur reduziert oder gar nicht verfügbar ist. Dieses Spannungsfeld steht im Mittelpunkt der Forschungsinitiative des Fraunhofer-Instituts für Kognitive Systeme IKS »Absicherung von Verteilungskonzepten«.
Industrieanlagen, Roboter oder Fahrzeuge arbeiten in viel anspruchsvolleren Umgebungen und müssen eine viel höhere Zuverlässigkeit sicherstellen als etwa Smartphones im Alltag. Deshalb ist die Entwicklung von sicherer Hardware mit mehr Rechenleistung und einer zuverlässigen Ausführungsumgebung von Software für diese Maschinen deutlich aufwändiger. Das bremst die Realisierung neuer Anwendungen mit wachsendem Ressourcenbedarf. Im Gegensatz zu dieser anspruchsvollen Spezialhardware wäre die Ausstattung und der Betrieb von Cloud- und Edge-Komponenten kostengünstiger und sie würden durch die gleichzeitige Bedienung mehrerer Maschinen auch effizienter genutzt werden. Durch die direkte Internet-Anbindung kann bei der Entwicklung von Anwendungen in der Edge oder Cloud die Aktualisierbarkeit vereinfacht werden und auch zusätzliche Informationsquellen, wie beispielsweise andere Maschinen, Infrastruktursensoren oder Webdienste einfacher eingebunden werden.
Auslagerung kritischer Steuerungsfunktionen in der Industrie
In der Fertigungsindustrie werden im Zuge der Digitalisierung und mit dem industriellen Internet der Dinge (IIoT) bekannte Konzepte aus dem Cloud Computing in den Fertigungsbereich übertragen. Serviceprinzipien, wie Infrastructure-as-a-Service, Platform-as-a-Service und Software-as-a-Service, sollen zusammen mit bewährten Cloud-Strukturen als neues Paradigma für die Realisierung von Steuerungsfunktionen genutzt werden.
Im Zuge dessen werden komplette Fertigungsprozesse in eine intelligente und flexiblere Umgebung verlagert. Diese Verlagerung kann mit einer externen Cloud-Lösung umgesetzt werden, bei der aber eine schnelle und zuverlässige Internetverbindung sowie die Einhaltung von Sicherheitsstandards die Schlüsselvoraussetzungen sind. Gängiger sind On-Premise Lösungen, also eine firmeneigene lokale Cloud, die grundsätzlich ohne Internetanbindung funktioniert.
Die Herausforderung bei beiden Lösungen ist, dass die strengen Anforderungen der Produktionstechnik erfüllt werden müssen. Dazu gehören Echtzeitfähigkeit, Verfügbarkeit und Sicherheit der verlagerten Funktionen. Nicht nur neue Anwendungen, beispielsweise zur präventiven Instandhaltung und Wartungsoptimierung von Maschinen, werden durch die zentrale Lösung ermöglicht. Auch für echtzeitkritische Steuerungsfunktionen bietet die Auslagerung in Edge, Cloud oder Fog den Vorteil, dass intelligentere und flexiblere Steuerungsdienste umgesetzt werden können. Unter anderem lassen sich durch neuartige Produktionsplanungs- und Regelungskonzepte die Produktionskosten senken, eine flexiblere Fertigung für Losgröße 1 realisieren und selbstoptimierende Produktionsprozesse umsetzen.
Autonomes Fahren - Auslagerung kritischer Funktionen im Fahrzeug
In autonomen Fahrzeugen sind Beispiele für Funktionen zu finden, bei denen der Bedarf nach Auslagerung groß ist. Einige neue Funktionen werden durch die Auslagerung überhaupt erst ermöglicht. Beispielsweise wird die Batterie eines autonomen Elektrofahrzeugs geschont, wenn die rechen- und energieintensiven Berechnungen des Umfeldmodells in die Cloud ausgelagert werden. Zentral können außerdem die Umfeldmodelle mehrerer Fahrzeuge zusammengefasst werden. Damit werden für jedes einzelne Fahrzeug der Wahrnehmungsbereich und die Zuverlässigkeit bei der Erkennung von Objekten gesteigert. Erste automatisierte Kleinbusse, auch „Shuttles“ genannt, befinden sich momentan in einer Entwicklungsstufe, in der Situationen auftreten, aus denen sie nicht selbstständig wieder herausfinden. Dafür sind momentan menschliche Begleiter an Bord, die kurzzeitig die Kontrolle über das Shuttle übernehmen und die Situation auflösen. Solange diese zusätzlichen Begleiter an Bord mitfahren müssen, ist das Shuttle nicht wirtschaftlich. Eine effizientere Lösung wäre die kurzzeitige Fernsteuerung des Kleinbusses. In einer Zentrale könnten so mehrere Shuttles gleichzeitig von einer Person betreut werden. Allerdings müssten die Shuttles mit einem möglichen Wegfall der Cloud-Anbindung umgehen können und dürfen niemals unkontrolliert unterwegs sein.
Sichere Auslagerung von Funktionsbausteinen
Bei Anwendungen, deren Funktionsbausteine teilweise innerhalb der Maschine, aber auch außerhalb in Edge- oder Cloud Knoten liegen können, spricht man von Ende-zu-Ende Anwendungen (E2E-Anwendungen). Bei der Entwicklung einer E2E-Anwendung muss also nicht nur die Funktionalität selbst umgesetzt werden, sondern auch die Verteilung auf verschiedenen Ressourcen, die sich sogar dynamisch verändern kann, zusätzlich betrachtet werden. Ein verlässliches Verteilungskonzept legt dafür fest
- in welche sinnvollen Teilfunktionen die Anwendung zerlegt werden kann,
- auf welchen verteilten Knoten jede der Funktionen sicher platziert werden kann,
- welche Randbedingungen eingehalten und dafür ständig überwacht werden müssen und
- wie reagiert wird, wenn die Bedingungen nicht mehr eingehalten werden können.
Erfassung der Variantenvielfalt mit dem Design Space Modell
Die Vielzahl von Topologien der verteilten Rechenknoten, von möglichen Optionen zur Platzierung einer Funktion und von Reaktionen zur Einhaltung der Randbedingungen ist schwer beherrschbar. Alle diese Variablen werden deshalb von uns in einem Design Space Modell beschrieben.
Das Modell besteht aus einer Beschreibung der Bestandteile einer Applikation, das heißt: welche Teilfunktionen können verwendet werden, welche Eingaben und Ressourcen benötigen diese und was sollen diese als Ausgabe erzeugen. In einer Beschreibung der Topologie wird erfasst, welche verteilten Knoten für die Ausführung der Dienste bereitstehen und über welche Ressourcen sie verfügen. Ebenfalls wird erfasst, welche Verbindungen zwischen den Knoten genutzt werden können und welche Eigenschaften diese Verbindung aufweist, also beispielsweise die Parameter der einsatzfähigen Netzwerktechnologie, wie Latenz und Paketverlustrate. Zudem werden Randbedingungen beschrieben, die eingehalten werden müssen, z.B. wie viel Zeit ab Erfassen eines Ereignisses bis zu einer Reaktion maximal verstreichen darf. Zusätzlich werden in dem Modell auch Kriterien zur Bewertung vorgeben, beispielsweise zur Berücksichtigung von Kosten, Qualität und Verfügbarkeit.
Erkundung und Reduzierung des Design Space
Der semi-formal beschriebene Design Space kann automatisiert in mathematische Formeln übersetzt werden. Für die Suche geeigneter Lösungen dieses mathematisch beschriebenen Problemraums können dann bekannte Verfahren zur Lösung von Optimierungsproblemen angewendet werden. Das Ergebnis dieser Suche liefert Vorschläge für mögliche Konfigurationen. Wobei eine Konfiguration konkret festlegt, welche Teilfunktion unter Einhaltung der Randbedingungen wohin ausgelagerten werden kann.
Die Suche liefert im ersten Schritt einen groben Plan. Um sich einem realen Verteilungskonzept anzunähern, werden schrittweise die noch übrigen Freiheitsgrade reduziert. Dazu werden Simulationen auf unterschiedlichen Abstraktionsniveaus durchgeführt, zum einen die Simulation der einzelnen Maschine und zum anderen die E2E-Anwendung mit allen beteiligten Ressourcen. Gleichzeitig dienen die Simulationen zur Validierung der bereits ausgearbeiteten Konfiguration und zur Entdeckung weiterer potenzieller Gefährdungsszenarien. Aus den Iterationsschritten neu gewonnene Erkenntnisse, werden in das Design-Space-Modell zurückgespiegelt und in der nächsten Verfeinerung berücksichtigt.
Da bei diesem iterative Vorgehen Schritte wiederholt ausgeführt werden müssen, kann die automatische Code-Generierung aus dem Design-Space-Modell den Entwicklungsaufwand deutlich reduzieren. Zusätzliche Bibliotheken mit Gegenmaßnahmen für gefundene Risiken, speziell mit Architekturkonzepten wie Graceful Degradation oder die Rekonfiguration der Verteilung einer Funktion, sowie die Anbindung bereits realisierter Teilfunktionen in der Evaluationsumgebung vereinfachen die Entwicklung darüber hinaus.
Umsetzung dynamischer Architekturkonzepte
Alle Risiken und Gefahren mit einer einzigen Konfiguration der E2E-Anwendung abzufangen, also einem statisch definierten Verteilungskonzept, wäre häufig nur mit Abstrichen in der Effizienz möglich. Dynamische Architekturkonzepte umgehen dieses Problem, indem sie das System immer in eine optimale Konfiguration für die aktuelle Situation bringen. Die bei der Erkundung gefundenen Gefährdungsszenarien können durch automatisiertes, rechtzeitiges Wechseln der Konfiguration vermieden werden.
Der Mehraufwand, der durch die notwendige Risikoabschätzung zur Laufzeit entsteht, ist aber gut investiert. Denn eine komplette Abdeckung aller möglichen Einsatzszenarien bis ins letzte Detail für solche neuartigen, flexiblen Systeme bereits bei der Planung zu berücksichtigen, ist ohnehin unrealistisch. Dies macht eine kontinuierliche Beobachtung der Umgebung und des Systems selbst unumgänglich, um auch unbekannte Situationen zu erkennen. Die Risikoabschätzung zur Laufzeit ermöglicht dann vorher identifizierte, generische Safety-Maßnahmen zu wählen. Ein Beispiel dafür ist eine rechtzeitige Reduktion der Geschwindigkeit, mit der das Risiko in dieser Situation reduziert wird, die Anwendung aber fortgesetzt werden kann. In der Cloud ist es möglich, gleichzeitig eine ausführliche Analyse der Situation zu starten, die eine sichere Konfiguration für die nun bekannte Situation ermittelt. Diese lässt sich zukünftig statt der generischen Maßnahmen verwenden.
Zuverlässige Ende-zu-Ende Anwendung
Im Ergebnis liegt nach den Simulationen mindestens ein validiertes Verteilungskonzept vor, das die geforderten Randbedingungen einhält und entsprechend den gewählten Kriterien optimiert ist. Daneben existiert dann bereits ein erster Prototyp der E2E-Anwendung in Form der in der Simulation evaluierten Funktionalität. Durch die Ergebnisse der Simulation lassen sich auch weitere Eigenschaften der neuen Ende-zu-Ende-Architektur abschätzen, beispielsweise ihre Skalierbarkeit.
Durch ein erstes Proof-of-Concept am Beispiel der ausgelagerten Umfelderfassung eines Autobahn-Assistenten mit diesem Prozess kann das Fraunhofer-Institut für Kognitive Systeme IKS einen Nachweis für die zuverlässige Auslagerung sicherheitskritischer Funktionen in die Cloud oder Edge liefern – und zwar ohne dass die Betriebssicherheit der Anwendung gefährdet ist. Dabei sind auch bereits Werkzeuge und Bibliotheken entstanden, mit denen sich der Entwicklungsprozess zukünftig einfacher gestaltet.
Gemeinsam Lösungsansätze für die Praxis erarbeiten: Workshop des Fraunhofer IKS
Wie müssen Funktionen für eine Auslagerung in Edge und Cloud gestaltet sein? Und wie müssen für konkrete Anwendungsfälle die Safety-Mechanismen in Edge- und Cloud-Services aussehen? Im virtuellen Workshop »Funktionen aus der Cloud – aber bitte safe« am 28. Juli und 6. August 2020 bietet das Fraunhofer IKS einen Rahmen zur gemeinsamen Erarbeitung von Ideen und Lösungsansätzen für die Praxis. Mit auf dem Programm steht dabei zunächst ein Überblick der State-of-the-Art-Technologien zur Auslagerung kritischer Funktionen in die Cloud. Zudem liefern Impulsvorträge aus Sicht der Industrie Denkanstöße. Anhand der Forschungsansätze des Fraunhofer IKS behandeln die Teilnehmenden schließlich konkrete Fragestellungen. Zusammen mit den Forscherinnen und Forschern des Instituts erarbeiten Sie praxisnahe Lösungen und Konzepte. Im Zentrum steht dabei auch die Diskussion von Potentialen und Herausforderungen Cloud-basierter Funktionen. Weitere Informationen zum Workshop sowie zur Anmeldung finden Sie hier.