Proaktive Beobachtbarkeit Continuous Observability: Die Zukunft der Embedded-Entwicklung

Von Andreas Lifvendahl* 6 min Lesedauer

Anbieter zum Thema

Bei der Entwicklung von Embedded Software wird Beobachtbarkeit (Observability) meist nur reaktiv eingesetzt, etwa beim nachträglichen Debugging oder durch Log-Analysen. Höchste Zeit für einen proaktiven Ansatz, der in der Lage ist, auch sporadische Fehler früh einzufangen.

Kritische Systeme: Da Software im Auto zunehmend mehr Funktionen übernimmt, wird es immer wichtiger, den Programmcode genau im Blick zu behalten und zu verstehen, was er tut.(Bild:  © Akarat Phasura - stock.adobe.com)
Kritische Systeme: Da Software im Auto zunehmend mehr Funktionen übernimmt, wird es immer wichtiger, den Programmcode genau im Blick zu behalten und zu verstehen, was er tut.
(Bild: © Akarat Phasura - stock.adobe.com)

Die zunehmende Komplexität eingebetteter Systeme stellt traditionelle Entwicklungs- und Testmethoden vor neue Herausforderungen. Ein anschauliches Beispiel hierfür ist Volvos neues elektrisches Flaggschiffmodell EX90, das mit modernsten Technologien wie LiDAR-Sensoren, NVIDIAs Computersystem und Qualcomms „Snapdragon Cockpit Platform“ ausgestattet ist, die in zahlreiche intern entwickelte Softwarekomponenten integriert sind. Ursprünglich für 2022 geplant, verzögerte sich die Auslieferung aufgrund von Produktionsproblemen bis Anfang September 2024. Dabei rollten die ersten Fahrzeuge sogar ohne funktionierende LiDAR-Sensoren vom Band. Diese Verzögerungen, die zumindest teilweise auf die erhöhte Systemkomplexität zurückzuführen sind, verursachten Kosten in Milliardenhöhe und unterstreichen die Herausforderungen bei der Entwicklung und Verifizierung von Software für moderne Embedded-Systeme.

Als Antwort auf diese Herausforderungen wurde das Konzept der kontinuierlichen Beobachtbarkeit (Continuous Observability) entwickelt. In Softwaresystemen bezeichnet Observability die Fähigkeit, interne Systemzustände durch die Analyse von Outputs wie Logs, Systemtraces und Speicherauszügen zu erfassen. Traditionell war Observability reaktiv: Entwickler setzten Debugging-Tools erst ein, wenn Probleme auftraten. Dieser Ansatz reicht jedoch nicht aus, um sporadische oder außerhalb des Entwicklungslabors auftretende Probleme zu lösen.

Continuous Observability verfolgt einen proaktiven Ansatz: Die Datenerfassung wird standardmäßig aktiviert und die Berichterstellung automatisiert. So stehen bei auftretenden Problemen stets Diagnosedaten zur Analyse bereit. Dieser Ansatz erstreckt sich über den gesamten Produktlebenszyklus, von der frühen Softwareentwicklung bis zum Einsatz vor Ort. Durch die Kombination von automatisierter und tiefgreifender Observability können versteckte Fehler, Leistungsprobleme und Systemanomalien frühzeitig erkannt werden, was die Problemlösung beschleunigt, und die Softwarequalität verbessert.

Ein wesentlicher Treiber für die Einführung von Continuous Observability ist die zunehmende Komplexität eingebetteter Systeme. Moderne Embedded-Systeme integrieren oft verschiedene Softwarefunktionen durch Multithreading und asynchrone Ereignisse, was zu schwer vorhersehbaren Schwankungen in der Softwareausführung führt. Diese Komplexität erschwert Verifizierung und Debugging erheblich, wobei das Testen jedes möglichen Szenarios unrealistisch wird. Selbst nach der Bereitstellung enthält eingebettete Software typischerweise etwa drei Fehler pro 1000 Codezeilen.

Edge-Konnektivität treibt die Systemkomplexität weiter in die Höhe und setzt die Systeme gleichzeitig Cyber-Bedrohungen aus. Paradoxerweise bietet die zunehmende Konnektivität jedoch auch potenzielle Lösungsansätze durch Over-the-Air (OTA) Updates und Remote Observability. Die Kombination aus Observability und OTA-Updates revolutioniert die Art und Weise, wie Entwickler den Herausforderungen der Softwarekomplexität begegnen.

Ein typisches Beispiel: Softwaredefinierte Fahrzeuge

Der Trend zu Software-Defined Vehicles (SDVs) veranschaulicht den Wandel in der Entwicklung eingebetteter Systeme. SDVs definieren die Automobilarchitektur neu, indem sie Software ins Zentrum der Fahrzeugfunktionalität rücken. Im Gegensatz zu herkömmlichen Fahrzeugen mit eigenständigen elektronischen Modulen setzen SDVs auf zentralisierte Hochleistungsrechner, die Funktionen in Softwareschichten organisieren. Dieser Ansatz ermöglicht OTA-Software-Updates, die dynamische Bereitstellung von Funktionen sowie eine permanente Verbindung zu externen Systemen.

Zwar bieten SDVs unbestreitbare Vorteile wie schnelle Innovation und reduzierte Hardwarekomplexität, doch bringen sie auch neue Herausforderungen mit sich. Häufige Updates, vielfältige Konfigurationen und die kontinuierliche Weiterentwicklung der Software schaffen eine Umgebung, in der es nahezu unmöglich wird, jedes potenzielle Szenario im Lebenszyklus eines Fahrzeugs vollständig zu testen. Dieser Konflikt zwischen traditionellen, hardwareorientierten Ansätzen und der agilen, softwaredefinierten Zukunft von SDVs setzt Entwickler unter enormen Druck, ein Gleichgewicht zwischen Sicherheit, Leistung und Innovation zu finden.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

In diesem Kontext wird Continuous Observability unverzichtbar. Sie bietet permanente Einblicke in das Systemverhalten und hilft Entwicklern sicherzustellen, dass neue Software-Updates, Funktions-Rollouts und Systemkonfigurationen Kernfunktionen wie Sicherheit oder Leistung nicht beeinträchtigen. Der SDV-Trend geht über die Automobilindustrie hinaus und beeinflusst Sektoren wie die Luft- und Raumfahrt, die industrielle Automatisierung und die Medizintechnik, wodurch Continuous Observability branchenübergreifend zur Notwendigkeit wird.

Bühne frei für Observability-Driven Development

Observability-Driven Development (ODD) entwickelt sich zu einer Schlüsselstrategie im Umgang mit der wachsenden Komplexität von Embedded-Systemen und fügt sich nahtlos in das Continuous-Observability-Konzept von Percepio ein. ODD integriert Beobachtbarkeit in jede Phase des Entwicklungszyklus und bietet Echtzeit-Einblicke in das Systemverhalten von der frühen Softwareentwicklung bis zum Einsatz im Feld, wobei Software Tracing als zentrales Instrument dient. Wird ODD durch kontinuierliches Monitoring von Software-Leistungsmetriken erweitert, können Systeme abnormales Verhalten und potenzielle Ausfallrisiken in der Laufzeitsoftware quasi „selbsterkennend“ identifizieren.

Zudem ermöglicht die kontinuierliche Beobachtbarkeit der Systemleistung es den Software-Entwicklungsteams, auch nach der Markteinführung flexibel zu bleiben. In Branchen mit hohen Ausfallkosten – wie der Automobilindustrie, der Medizintechnik und der Luft- und Raumfahrt – bietet ODD somit eine wertvolle Sicherheitsebene, die kostspielige Rückrufe, Ausfallzeiten oder Leistungseinbußen verhindert. Mit zunehmender Systemkomplexität stellt ODD sicher, dass Entwickler über die notwendigen Einblicke verfügen, um die Kontrolle über ihre Produkte zu behalten, unabhängig von der Häufigkeit der Software-Updates.

Continuous Observability hilft kostspielige Ausfälle zu vermeiden

Bei ineffektivem Management der Komplexität moderner Embedded-Systeme drohen schwerwiegende Folgen, besonders in Branchen, in denen Systemzuverlässigkeit oberste Priorität hat. Mehrere prominente Beispiele verdeutlichen dies:

  • Ein führender Automobilhersteller musste über eine Million zwischen 2020 und 2022 ausgelieferte Fahrzeuge zurückrufen. Ein Fehler in der Software- und Sensorkombination des Insassen-Klassifizierungssystems (OCS) beeinträchtigte möglicherweise die Airbag-Auslösung. Dieses Problem blieb bei Tests unentdeckt und führte zu erheblichen finanziellen Einbußen sowie Reputationsschäden.
  • Ein Medizintechnik-Gigant sah sich 2018 mit einem von der FDA erzwungenen Rückruf von Insulinpumpen konfrontiert. Eine potenzielle Cyber-Schwachstelle hätte es Hackern ermöglicht, über die Fernbedienung die Kontrolle über die Pumpen zu erlangen.
  • Die Entdeckung der Linux/OpenSSL XZ-Backdoor im Jahr 2024 offenbarte eine neue Dimension der Cyber-Bedrohungen: kompromittierte Open-Source-Softwarekomponenten. Dieser sorgfältig geplante Angriff auf die Lieferkette injizierte bösartigen Code über das Build-System, ohne den Quellcode zu verändern. Die Entdeckung erfolgte zufällig durch Laufzeitmessungen, die Diskrepanzen in den Software-Ausführungszeiten aufzeigten.

Diese Fälle verdeutlichen, dass herkömmliche Test- und Debugging-Methoden nicht mehr ausreichen, um die Komplexität heutiger vernetzter, softwaregesteuerter Geräte zu bewältigen. Softwareprobleme in kritischen Systemen haben konkrete, oft kostspielige Folgen. Und da Entwickler unmöglich jede potenzielle Betriebsbedingung vorhersehen können, lässt sich unmöglich jeder Randfall vor der Markteinführung testen.

An diesem Punkt setzen Continuous Observability und Observability-Driven Development (ODD) an. Durch die Implementierung von ODD können Entwickler Probleme frühzeitig erkennen und beheben, bevor sie zu großflächigen Rückrufaktionen oder Verzögerungen führen. Continuous Observability bietet fortlaufende Einblicke in das Verhalten von Systemen in realen Umgebungen. Dies ermöglicht es, Anomalien zu erkennen, die Leistung zu optimieren und die Sicherheit sowie Zuverlässigkeit von Produkten auch nach der Auslieferung zu gewährleisten.

In Branchen wie der Automobilindustrie, der Medizintechnik und der Luft- und Raumfahrt, wo die Kosten eines Ausfalls außerordentlich hoch sind, erweisen sich die Vorteile von ODD und Continuous Observability als entscheidend. Ob es darum geht, eine lebensbedrohliche Fehlfunktion eines medizinischen Geräts zu verhindern oder eine umfangreiche Rückrufaktion in der Automobilindustrie zu vermeiden – die Fähigkeit, die Softwareleistung über den gesamten Produktlebenszyklus hinweg kontinuierlich zu beobachten, zu analysieren und zu verbessern, wird zu einem unverzichtbaren Bestandteil moderner Entwicklungsstrategien.

Der Weg in die Zukunft

Mit Tracealyzer für die Entwicklung, Detect für den Systemtest und DevAlert für den Feldeinsatz, bietet Percepio eine umfassende Continuous-Observability-Lösung.(Bild:  Percepio)
Mit Tracealyzer für die Entwicklung, Detect für den Systemtest und DevAlert für den Feldeinsatz, bietet Percepio eine umfassende Continuous-Observability-Lösung.
(Bild: Percepio)

ODD erfordert einen „Shift-Left“-Ansatz, bei dem Beobachtbarkeit von Anfang an eingeplant wird, um alle nachfolgenden Phasen der Produktentwicklung und -wartung zu unterstützen. Dies ist nicht nur ein Anliegen der Software-Qualitätssicherung und des Testmanagements, sondern entwickelt sich zu einem Schlüsselfaktor für die Leistung und Wettbewerbsfähigkeit von Produktentwicklungsunternehmen.

In einer Ära, in der die Komplexität von Embedded-Systemen stetig zunimmt und wir uns auf ein Zeitalter des „softwaredefinierten Alles“ zubewegen, stellt sich nicht mehr die Frage, ob Entwickler Continuous Observability und ODD-Praktiken anwenden sollten, sondern wann und wie sie diese am effektivsten implementieren können.

Percepio bietet mit seiner umfassenden Continuous-Observability-Lösung eine Antwort auf diese Herausforderung. Das Portfolio, bestehend aus Tracealyzer für die Entwicklung, Detect für Systemtests und DevAlert für die Bereitstellung, deckt den gesamten Produktlebenszyklus ab. Diese Tools gewähren Echtzeit-Einblicke in das Verhalten komplexer Embedded-Software und ermöglichen es Entwicklern, das Debugging zu beschleunigen, die Produktqualität zu verbessern und Bereitstellungsrisiken zu minimieren. Die Skalierbarkeit der Lösung von kleinen IoT-Knoten bis hin zu leistungsstarken Multicore-SoCs demonstriert beispielhaft, wie Continuous Observability in Embedded-Systemen implementiert werden kann, um den Herausforderungen zunehmender Komplexität effektiv zu begegnen.

 (sg)

* Andreas Lifvendahl ist CEO von Percepio.

(ID:50194408)