Skip to main content

ELEKTRONIKPRAXIS 16/2024

Page 78

EMBEDDED COMPUTING

EMBEDDED SOFTWARE ENGINEERING

DEVOPS

Bessere Software-Qualität durch Continuous Observability

Bild: © Akarat Phasura - stock.adobe.com

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.

Bild 1: 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.

M

oderne eingebettete Systeme stellen traditionelle Entwicklungs- und Testmethoden vor komplexe Herausforderungen. Ein Beispiel ist Volvos elektrisches Flagschiffmodell EX90, das mit modernsten Technologien wie LiDAR-Sensoren, NVIDIAs Computersystem und Qualcomms „Snapdragon Cockpit Platform“ ausgestattet ist, sowie zahlreichen intern entwickelten Softwarekomponenten. Ursprünglich für 2022 geplant, verzögerte sich die Auslieferung aufgrund von Produktionsproblemen bis September 2024. Die ersten Modelle rollten noch ohne funktionierendes LiDAR vom Band. Verzögerungen wie diese verursachten Kosten in Milliardenhöhe. 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, Traces und Speicherauszügen zu erfassen. Traditionell war Observability reaktiv: Entwickler setzten Debugging-Tools erst ein, wenn Probleme auftraten. Dieser Ansatz reicht aber nicht aus, um sporadische oder außerhalb des Labors auftretende Probleme zu lösen. Continuous Observability verfolgt einen proaktiven Ansatz: Die Datenerfassung ist standardmäßig aktiviert, die Berichterstellung automati-

78 ELEKTRONIKPRAXIS 16 | 2024

siert. So stehen bei etwaigen Problemen stets Diagnosedaten zur Analyse bereit. Dieser Ansatz erstreckt sich von der frühen Softwareentwicklung bis zum Einsatz vor Ort. Durch Kombination automatisierter und tiefgreifender Observability lassen sich Fehler, Leistungsprobleme und Systemanomalien früh erkennen, die Problemlösung beschleunigen und die Softwarequalität verbessern. Moderne eingebettete 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. Selbst nach Deployment enthält Embedded Software generell noch 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 Konnektivität aber auch potenzielle Lösungsansätze durch Over-the-Air (OTA) Updates und Remote Observability. Die Kombination aus beidem revolutioniert die Art und Weise, wie Entwickler dem Thema Softwarekomplexität begegnen.

Beispiel Softwaredefinierte Fahrzeuge Der Trend zu Software-Defined Vehicles (SDVs) verdeutlicht den Wandel in der Embedded-Entwicklung. SDVs definieren Automobilarchitektur neu, indem sie Software ins Zentrum der Fahrzeugfunktionalität rücken. Anders als Fahrzeuge mit eigenständigen elektronischen Modulen setzen SDVs auf zentralisierte Hochleistungsrechner, die Funktionen in Softwareschichten organisieren. Das ermöglicht OTA-Updates, dynamische Bereitstellung von Funktionen und eine permanente Verbindung zu externen Systemen. Doch bringt der Ansatz auch neue Herausforderungen mit sich. Häufige Updates, vielfältige Konfigurationen und die kontinuierliche Weiterentwicklung der Software schaffen eine Umgebung, in der es fast 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. In diesem Kontext wird Continuous Observability – branchenübergreifend – unverzichtbar. Sie bietet perma-