Lokalisierung von Fehlern in Entwicklungsprojekten

Lokalisierung von Fehlern in Entwicklungsprojekten

Aktuelle Trends in der Automobilindustrie machen die Entwicklung von Software-Projekten zunehmend komplexer. Elektrobit unterstützt Teams und Verantwortliche mit einem spezialisierten Framework bei der Fehlersuche und Prozessoptimierung in komplexen und heterogenen Software-Systemen.

Abb. links: EB solys unterstützt die Fehlersuche und Prozessoptimierung nicht nur in einzelnen Komponenten, sondern übergeordnet in der gesamten Systemstruktur. (Bild: Elektrobit Automotive GmbH)

Abb. links: EB solys unterstützt die Fehlersuche und Prozessoptimierung nicht nur in einzelnen Komponenten, sondern übergeordnet in der gesamten Systemstruktur. (Bild: Elektrobit Automotive GmbH)

Eine der wichtigsten Komponenten in modernen Fahrzeugen ist Software. Ihre Entwicklung und Pflege ist eine sehr komplexe Aufgabe – sowohl organisatorisch als auch technisch. Bereits heute finden sich in den Head Units unterschiedlichste Software-Technologien wieder. Sie basieren typischerweise auf Standards wie HTML5, Java oder Qt und die darunterliegenden Applikationen und Services nutzen die Vorzüge etablierter Frameworks wie Android, QNX Car Platform oder Genivi Linux. Für den Benutzer erlebbare Funktionen werden mittlerweile durch Smartphone-Apps und die Integration von Mirroring-Verfahren wie Android Auto oder Apple CarPlay erweitert. Hinzu kommt die Verlagerung der Verarbeitung großer Datenmengen vom Fahrzeug in die Cloud. Neueste Marktentwicklungen zeigen, dass auf Infotainmentsystemen künftig oft mehrere unterschiedliche Betriebssysteme gleichzeitig laufen werden, die über verschiedene Hardware-Instanzen verteilt sind oder in einer virtualisierten Umgebung auf einem Hypervisor laufen. Ein komplexes Feature wie z.B. eine Navigation durchdringt dabei in aller Regel sämtliche Software- und Hardware-Schichten. Während die Basisintegration typischerweise beim OEM selbst erfolgt, tragen meist mehrere Zulieferer unterschiedliche Anteile zur Gesamtfunktion bei. Für Entwickler und Programmierer bedeutet es daher einen großen Koordinationsaufwand, die Qualität und Robustheit des gesamten Software-Systems zu testen und zu gewährleisten. Dabei ist zu berücksichtigen, dass neben den bewährten Standards und Technologien auch immer mit zahlreichen proprietären Erweiterungen zu rechnen ist. Mit EB solys entwickelte Elektrobit ein Werkzeug für hochkomplexe automobile Entwicklungsprojekte, das die Fehlersuche und Prozessoptimierung nicht nur in einzelnen Komponenten, sondern übergeordnet in der gesamten Systemstruktur unterstützt.

Unterstützung bei der Systemanalyse

Mit dem Tool lassen sich funktionale und nicht-funktionale Fehler schon in frühen Entwicklungsphasen identifizieren und lokalisieren. Ein typisches Fallbeispiel aus dem Projektalltag einer Navigationsentwicklung ist, dass die Sprachansage für ein Abbiegemanöver zu spät oder zu früh gesprochen wurde. Die potenziellen Fehlerquellen hierfür sind vielfältig und oft nur in bestimmten Situationen reproduzierbar. Oftmals liegt die Fehlerursache aber nicht in einem einzigen Software-Modul selbst begründet, sondern in der Interaktion mit Modulen untereinander, da deren Schnittstellen oft fehlerhaft genutzt werden, z.B. in der falschen Reihenfolge, mit falschen Werten oder zum falschen Zeitpunkt. Die Behebung dieser Art von Fehlern ist aufwendig, da oft sehr viele Entwickler unterschiedlicher Zulieferer mit der Fehlersuche und -reproduktion beschäftigt sind. An dieser Stelle setzt EB solys an. Im Mittelpunkt steht hierbei die Sammlung, Aggregation und Korrelation von Daten und Betriebszuständen eines untersuchten Software-Systems. Oft lassen sich Fehler und Anomalien erst dann aufspüren, wenn man die Daten

Abb. rechts: Bei EB solys steht die Sammlung, Aggregation und Korrelation von Daten und Betriebszuständen eines untersuchten Software-Systems im Mittelpunkt. (Bild: Elektrobit Automotive GmbH)

Abb. rechts:
Bei EB solys steht die Sammlung, Aggregation und Korrelation von Daten und Betriebszuständen eines untersuchten Software-Systems im Mittelpunkt. (Bild: Elektrobit Automotive GmbH)

unterschiedlicher Quellen zueinander in Bezug setzt. Zur Datensammlung wird auf dem zu überwachenden System ein Target-Agent installiert, den Elektrobit als Open-Source-Software bereitstellen wird. Dabei verhält sich das Monitoring auf dem Zielsystem passiv. Die Analyse beobachtet die ablaufende Datenverarbeitung und Interprozess-Kommunikation und basiert nicht ausschließlich auf dem Zugriff instrumentierten Quellcodes. Derzeit ist dieser Agent für die Zielsysteme Linux, QNX, Android und Windows Embedded verfügbar, weitere werden folgen. Der Target-Agent unterstützt eine Plug-In-Architektur, um auf dem Zielsystem etwa Zugriff auf spezifische Interprozess-Kommunikation oder Entwickler-Traces zu ermöglichen. Die Aggregation und Korrelation der Daten findet hingegen auf dem Host-System statt, welches auf einem Windows-PC läuft. Ähnlich wie der Target-Agent ist auch die Architektur des Host-Systems darauf ausgerichtet, sich einfach adaptieren zu lassen, beispielsweise an spezifische Datenformate sowie an unterschiedliche Verfahren für die Interprozess-Kommunikation. Individuell angepasste Importer können dem Kernsystem Daten aus beliebigen Log-Dateien zur Verfügung stellen, kundenspezifische Decoder lassen sich integrieren, um spezielle Dateninhalte wie beispielsweise binäre Traces in strukturierte Textformate umzuwandeln. Viele Detailfunktionen stammen aus der Entwicklungspraxis bei Elektrobit und adressieren somit konkrete Bedürfnisse von Programmierern, Integratoren und Systementwicklern. So bleiben z.B. auf unterschiedliche Weise visualisierte Daten immer miteinander verknüpft – setzt der Nutzer etwa einen Marker in einer grafischen Darstellung, wird diese Markierung automatisch auch in allen verknüpften Charts und Tabellen übernommen und angezeigt. Die Analysen und Darstellungen lassen sich nach Bedarf auf höheren Abstraktionsebenen wie für Funktionen oder Prozessen oder auf tieferen Ebenen wie Schnittstellen, Diensten oder Objekten durchführen.

Abb.: Auf unterschiedliche Weise visualisierte Daten bleiben in EB solys miteinander verknüpft - eine von vielen Detailfunktionen, die auf der Entwicklungserfahrung von EB beruhen. (Bild: Elektrobit Automotive GmbH)

Abb.: Auf unterschiedliche Weise visualisierte Daten bleiben in EB solys miteinander verknüpft – eine von vielen Detailfunktionen, die auf der Entwicklungserfahrung von EB beruhen. (Bild: Elektrobit Automotive GmbH)

Auch automatisierte Überwachung möglich

Typischerweise folgt auf die Systemanalyse und Fehlersuche in späteren Entwicklungsphasen die kontinuierliche Überwachung und Validierung kritischer KPIs und Prozesse. Deshalb unterstützt die Variante ‚EB solys Auto‘ den Betrieb im Batch-Modus, wodurch sich seine Funktionen in automatisierten Testumgebungen integrieren und nutzen lassen. Dazu gehören auch Methoden zur Erfassung und Visualisierung von KPIs wie des Verbrauchs von Systemressourcen, der Performance einzelner Teilsysteme und Hotspots sowie der Kommunikation zwischen Komponenten und Prozessen. So können Entwickler beispielsweise die Gesundheit und Stabilität des Systems bewerten, die Erfüllung von bestimmten Spezifikationen und Entwicklungsvorgaben überprüfen, Leistungsmetriken überwachen und Trends erkennen, um frühzeitig Maßnahmen zu definieren. Dadurch werden die Entwicklungsprozesse insbesondere in verteilten Entwicklungsteams verbessert. Verantwortliche können ihren Teams frühzeitig Feedback geben und gezielte Maßnahmen ableiten, um die Qualität und Stabilität zu steigern. Eine eingebaute Skriptsprache, die auf der für Java ausgelegten Programmiersprache Xtend basiert, ermöglicht Funktionserweiterungen, ohne dass dazu Anpassungen am Host-System oder dem Quellcode des Target-Agent nötig wären. Über eine Programmierschnittstelle lassen sich in den Skripten sowohl auf alle gesammelten Daten zugreifen, als auch neue Bedienelemente erzeugen. Darüber hinaus sieht die Script-API auch Methoden zum Erfassen und Speichern von KPIs in der Auto-Variante vor. Für die Darstellung von KPIs über einen längeren Zeitraum nutzt EB solys die Schnittstellen des Technologiepärchens InfluxDB (als Metrik-Datenbank) und Grafana (als Dashboard). Als Entwicklungswerkzeug, das sich primär an die Automobilindustrie richtet, unterstützt EB solys ebenfalls die Korrelation von Logdaten mit Geoinformationen und kann so z.B. Systemereignisse in Kombination mit einer Kartenanzeige und gegebenenfalls erfassten Kamerabildern darstellen. Auch wenn seine Wurzeln klar im Automotive-Markt liegen, erlaubt die offene Architektur grundsätzlich auch eine Anpassung an andere Märkte bzw.

Elektrobit Automotive GmbH
www.3soft.de

Das könnte Sie auch Interessieren