Zukunft der Automobilsoftware Sicherer Quellcode bei einem softwaredefinierten Fahrzeug

Ein Gastbeitrag von Alexander Bodensohn* Lesedauer: 9 min |

Anbieter zum Thema

Das komplexe System Fahrzeug wird in seiner Funktionalität durch die verbaute Hardware eingeschränkt. Doch immer mehr sind die Funktionen von Software bestimmt. Doch mehr Software setzt auch neue und verlässlichere Testwerkzeuge voraus.

Die Anzeigen des Kombiinstruments und des zentralen IVI verschmelzen. In modernen Fahrzeugen spielt die Software eine wichtige Rolle.
Die Anzeigen des Kombiinstruments und des zentralen IVI verschmelzen. In modernen Fahrzeugen spielt die Software eine wichtige Rolle.
(Bild: Bosch)

Mehr als vier Jahrzehnte sind vergangen, seit elektronische Steuergeräte in Fahrzeugen eingesetzt werden. Heute ist die Automobilindustrie mehr denn je auf Software angewiesen. Eingebettete Software hat es der Industrie ermöglicht, die Nachteile mechanischer Ansätze zu überwinden, um aktuelle Anforderungen wie Emissionen, Kraftstoffverbrauch und Sicherheitsvorschriften zu erfüllen.

Da heutzutage fast jedes Steuergerät und jedes Subsystem in einem Fahrzeug bis zu einem gewissen Grad softwaregesteuert sind, kommt es zu einer immer stärkeren Interaktion zwischen den einzelnen Subsystemen und Steuergeräten. Diese starke Interdependenz stellt die Entwickler vor große Herausforderungen. Bei dem Versuch, die Wechselwirkungen zwischen den Steuergeräten und zwischen sicherheitskritischen und nicht sicherheitskritischen Bereichen zu verstehen und zu beherrschen, treten häufig Probleme auf, die gelöst werden müssen.

Moderner Fahrzeugsoftware verwalten und die Qualität sichern

Das Fahrzeug selbst ist zu einem rollenden Netzwerk geworden, in dem Code und Hardware aus einer Vielzahl von Quellen stammen, die eine Vielzahl von Aufgaben erfüllen müssen. Mit mehr als 100 Mio. Codezeilen, verteilt auf mehr als 100 elektronische Steuergeräte, sind neue Werkzeuge und Methoden erforderlich, um die Entwicklung und den Einsatz moderner Fahrzeugsoftware zu verwalten und eine kontinuierliche Qualitätssicherung für im Betrieb befindliche Fahrzeuge zu gewährleisten.

Herkömmliche Werkzeuge zur Code-Verifikation sind nicht mehr in der Lage, diese komplexen Systeme zu verfolgen, zu testen und zu implementieren. Die Notwendigkeit, Codes zu erstellen, die sicher und resistent gegen Cyber-Angriffe sind, macht die Herausforderung noch größer. Während elektrische/elektronische (E/E) Architekturen der nächsten Generation die Komplexität der Softwareintegration weiter erhöhen werden, wirken sich Probleme der Interdependenz bereits auf Legacy-Systeme aus.

Was Vehicle Software Intelligence bedeutet

Dieser Beitrag untersucht einige der Herausforderungen, die mit der modernen Softwareentwicklung in der Automobilindustrie verbunden sind, und zeigt, wie eine neue Kategorie von Lösungskonzepten und Werkzeugen, die unter dem Oberbegriff Vehicle Software Intelligence (VSI) zusammengefasst werden, KI (künstliche Intelligenz) nutzen, um wichtige Einblicke in die Prozesse der Softwareentwicklung, -prüfung, -integration, -freigabe, -bereitstellung und -wartung zu liefern.

Mit diesen Lösungen lässt sich schneller entwickeln und niedrigere Kosten und sorgen gleichzeitig für sichere, zuverlässige und robuste Softwaresysteme. Zusätzlich zur eingebetteten Intelligenz in den Steuerungssystemen werden VSIs, die in Entwicklungs- und Bereitstellungswerkzeuge integriert sind, voraussichtlich von entscheidender Bedeutung sein, um die weitreichenden Interaktionen im softwaredefinierten Fahrzeug zu verfolgen. VSI-Lösungen liefern Informationen über den Zustand und die Interaktionen zwischen den Softwarekomponenten des Fahrzeugs. Diese Lösungen können während des gesamten Lebenszyklus des Fahrzeugs eingesetzt werden - von der Softwareentwicklung über die Qualitätssicherung und Produktion bis hin zum Einsatz auf der Straße. Sie unterstützen alle, die mit Software zu tun haben – von den Ingenieuren, die Software entwickeln und testen, bis hin zu den Teams, die Software-Updates über das Internet (OTA) durchführen.

Die Anfänge der Software-Entwicklung in der Automobilindustrie

Anfang der 1970er Jahre wurde die erste große Welle von Emissions-, Kraftstoffverbrauchs- und Sicherheitsvorschriften für die Automobilindustrie eingeführt. Frühe Versuche, die Emissionen von Verbrennungsmotoren zu kontrollieren und Mindeststandards für den Kraftstoffverbrauch mit mechanischen Mitteln zu erreichen, waren in ihrer Wirksamkeit begrenzt. Gleichzeitig begann die Einführung von Mikroprozessoren – elektronische Steuerungen galten als der Weg in die Zukunft.

Ab Ende der 1970er Jahre wurden zunehmend elektronische Steuerungen eingesetzt, um alles vom Antriebsstrang über die Fahrdynamik bis hin zur Beleuchtung zu regeln. Nach und nach kamen neue Teilsysteme hinzu, da die Zulieferer Funktionen entwickelten und die Automobilhersteller diese übernahmen. Jede Funktion umfasste eine Reihe von Sensoren, Aktoren, elektronischen Steuergeräten (ECUs) und eingebetteter Software. Das Steuergerät und die Software wurden in der Regel als „Black Box“ an den Automobilhersteller geliefert, so dass außer dem Zulieferer niemand Einblick in den Code hatte.

Vorteile der eingebetteten Fahrzeugsoftware

Die Entwickler des Zulieferers führen Code-Reviews, Unit-Tests und Subsystemtests durch. Anschließend arbeiten sie mit dem Automobilhersteller zusammen, um die Integration in das Fahrzeug zu überprüfen. Systemübergreifende Interaktionen wurden im Allgemeinen auf ein Minimum beschränkt, um das Risiko zu minimieren, dass ein Subsystem ein anderes beeinflusst, insbesondere bei sicherheitskritischen Systemen. Software-Updates beschränkten sich auf die Behebung sicherheitskritischer Fehler und die Einhaltung gesetzlicher Vorschriften.

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.

Aufklappen für Details zu Ihrer Einwilligung

Im Laufe der Zeit haben Ingenieure, die mit eingebetteten Fahrzeugsoftwaresystemen arbeiten, die Vorteile erkannt, die sich aus dem Einsatz bestimmter Signale oder Funktionen ergeben. Sie sind in anderen sicherheitskritischen Fahrzeugsystemen verfügbar. So werden beispielsweise für Traktions- und Stabilitätskontrollsysteme die Motordrehmomentsignale des Antriebsstrangmanagements als Eingabe verwendet und Steuersignale zur Anpassung des Motordrehmoments erzeugt. Dieser Prozess erforderte eine Zusammenarbeit zwischen den Entwicklungsteams dieser Systeme, um Programmierschnittstellen und Nachrichten zu definieren.

Kombiinstrument und zentrales Infotainmentsystem verschmelzen

Für sicherheitskritische Systeme gelten strengere Prüf- und Validierungsstandards. Sie können in den Anwendungsbereich verschiedener Vorschriften fallen. Die verschiedenen Elemente des Fahrzeugs, wie beispielsweise das bordeigene Infotainmentsystem (IVI), unterliegen in der Regel nicht denselben Vorschriften. Diese Bereiche können sich jedoch überschneiden.

Die Anzeigen des Kombiinstruments und des zentralen IVI sind Paradebeispiele für die Verschmelzung von Bereichen. In der Vergangenheit waren diese Anzeigen voneinander getrennt und wurden von separaten Steuerungssystemen verwaltet. Auf dem Display des Kombiinstruments, das sich in der Regel vor dem Fahrer befand, wurden Fahrzeuginformationen und geregelte Diagnosewarnungen angezeigt. Auf dem IVI-Display wurden Navigations-, Medien- und andere Zusatzinformationen angezeigt, die in der Regel nicht sicherheitskritisch waren.

Ab 2018 sind beispielsweise Rückfahrkameras, die beim Rückwärtsfahren eingesetzt werden, für alle in den USA verkauften Neufahrzeuge vorgeschrieben. Die Videoausgabe dieser Kamera wird in der Regel auf dem IVI-Bildschirm angezeigt, während das System, das die Anzeige steuert, den gesetzlichen Anforderungen unterliegt.

Steuergeräte und Software und die Anforderungen von ASIL-D und ISO 26262

Visuelle Elemente wie das Radio oder die Media-Streaming-Schnittstelle, die auf dem IVI-Bildschirm angezeigt werden, unterliegen in der Regel keinen Vorschriften, wohl aber das Timing der Anzeige der Rückfahrkamera. Daher müssen das Steuergerät und die Software, die das IVI steuern, Komponenten enthalten, die den Anforderungen von ASIL-D und ISO 26262 entsprechen. Bei den neuen Elektrofahrzeugen ergeben sich neue Anforderungen durch die neuen Antriebssysteme, einschließlich des regenerativen Bremsens.

Traditionell wurden die Bremsleuchten aktiviert, wenn ein Schalter am Bremspedal durch den Fahrer betätigt wurde. Viele Elektrofahrzeuge verfügen über aggressive regenerative Bremsen, die das Fahren mit nur einem Pedal ermöglichen. Allein durch das Betätigen des Gaspedals kann eine ausreichende Verzögerung erzielt werden, um das Fahrzeug zum Stillstand zu bringen, ohne dass das Bremspedal betätigt werden muss. Die Software, die all diese Systeme steuert, muss den Grad der Fahrzeugverzögerung ermitteln und dann die Bremsleuchten einschalten, um andere Fahrer zu warnen, auch wenn das Bremspedal nicht betätigt wurde.

Das Verkehrsmanagement im Netz

Um einen ausfallsicheren Betrieb zu ermöglichen, ist eine Selbstdiagnose eingebaut, die mögliche Hardware- oder Softwarefehler in jedem dieser Systeme erkennt. In den Stabilitätskontrollsystemen können beispielsweise die Daten der Sensoren für Geschwindigkeit, Neigung, Lenkwinkel und Raddrehzahl in einen Algorithmus zur Berechnung der Beschleunigung in mehreren Achsen eingegeben werden. Diese Informationen werden mit den Signalen der Beschleunigungssensoren der Trägheitsmesseinheit verglichen, um Signalabweichungen oder -ausfälle zu erkennen, die sowohl für die Stabilitätsregelung als auch für die Steuerung der Bremslichter in dem oben beschriebenen Beispiel der Nutzbremsung erforderlich sind.

Obwohl es sich um Echtzeit-Steuerungssysteme handelt, arbeiten nicht alle diese Systeme mit der gleichen Frequenz. Einige dieser zeitempfindlichen Systeme können mit kürzeren Schleifen arbeiten, während andere eine langsamere Aktualisierungsrate haben. Die Stabilitätsregelung kann mit einer Schleife von 10 ms (100 Hz) arbeiten, während einige Funktionen des automatisierten Fahrens nur mit 10 Hz arbeiten. Diese unterschiedlichen Regelfrequenzen und die Latenzzeiten, die durch Berechnungen oder digitale Filter verursacht werden können, können zu Zeitfehlern führen.

Bei so vielen Prozessen, die auf unterschiedlichen Softwareplattformen laufen und möglicherweise Daten und Funktionen gemeinsam nutzen, ist es fast unmöglich, die Konsistenz aller Daten zu überprüfen. Darüber hinaus können ähnliche Prozesse die gleiche Funktion an mehreren Standorten ausführen. Unterschiedliche Implementierungen an diesen Standorten können ebenfalls zu unvorhersehbaren Ergebnissen führen.

Fehler in der Fahrzeugsteuerung haben schwerwiegende Folgen

Im Gegensatz zu vielen Anwendungen der Unterhaltungselektronik oder Software können Fehler in der Fahrzeugsteuerung weitaus schwerwiegendere Folgen haben. Fehler in einer Smartphone-Anwendung haben selten so schwerwiegende Folgen wie Fehler in einem Fahrzeug.

Manuelle Entwurfsprüfungen, Code-Reviews, Simulationen, Unit-Tests, Subsystemtests und Fahrzeugintegrationstests sind notwendige Bestandteile des Validierungsprozesses, wenn Software geändert wird. Diese Prozesse waren relativ praktikabel, als die meisten Subsysteme noch relativ isoliert waren. Begrenzte Interaktionen mit anderen Systemen konnten durch Stub-Code ersetzt werden, um Tests mit offenem oder geschlossenem Regelkreis zu ermöglichen.

Angesichts der zunehmenden Komplexität der Interaktionen in heutigen und zukünftigen Fahrzeugsystemen wird erwartet, dass Vehicle Software Intelligence-Tools (VSI-Tools), die alle Fahrzeugdomänen abbilden und KI-Algorithmen zur Abbildung der Softwarefunktionalität und des Softwareverhaltens verwenden können, potenzielle Konflikte erkennen. Diese VSI-Tools helfen, die Systemfunktionalität zu verifizieren und zu dokumentieren. Für Ingenieure ist es nahezu unmöglich, alle potenziellen Wechselwirkungen zu erkennen oder die erforderlichen Testszenarien vorherzusehen.

Kontinuierlicher Entwicklungs- und Bereitstellungsprozess

Die bisherigen Ausführungen gehen von einem eher traditionellen Entwicklungs- und Bereitstellungsprozess aus, der auf relativ langsamen Software-Releases basiert. In der Automobilindustrie würde dieser Prozess in der Regel jährlich zeitgleich mit dem Erscheinen neuer Modelle ablaufen. Es wird ein Funktionsumfang definiert, es werden Termine für die Fertigstellung der einzelnen Teile des Fahrzeugsteuerungssystems festgelegt, und dann wird das System integriert, getestet und zertifiziert, bevor es für die Kunden freigegeben wird.

Neuere Ansätze in der Automobilindustrie, beispielsweise von Tesla, verfolgen einen kontinuierlichen Entwicklungs- und Bereitstellungsprozess, wie er in vielen Bereichen der überwiegend softwarebasierten Technologieindustrie zu finden ist. Während Hardware-Änderungen immer schwieriger werden, erwarten die Verbraucher, dass ihre Autos genauso häufig mit Software-Updates versorgt werden wie unsere anderen softwarebasierten elektronischen Geräte. Da Kraftfahrzeuge wesentlich komplexer sind als typische Telefone, Tablet-PCs oder Laptops, ist es noch schwieriger, ähnliche CI/CD-Funktionen zu implementieren.

Sowohl während der Montage als auch vor der Auslieferung einer neuen Fahrzeugserie müssen Automobilhersteller Software auf jedes einzelne Fahrzeug verteilen – und das unter Zeitdruck. Für diesen Prozess müssen große Datenmengen Over the Air (OTA) an die Fahrzeuge übertragen werden. Es ist eine große Herausforderung, diesen Prozess innerhalb eines kurzen Zeitfensters durchzuführen. Solche OTA-Updates können nicht effizient über Wi-Fi-Verbindungen erfolgen werden und erfordern daher den Einsatz privater 5G-Netze, die wesentlich effizienter, zuverlässiger und kostengünstiger sind, wenn es um die Aktualisierung der gesamten Fahrzeugflotte geht.

Die Hersteller suchen nach neuen Wegen, um den Prozess der OTA-Softwareaktualisierung effizienter zu gestalten, indem sie die Bandbreite erhöhen und die Größe der Softwaredateien verringern. Es gibt bereits neue innovative Technologien zur Unterstützung dieser Prozesse, die auf künstlicher Intelligenz und Software-Intelligenz im Fahrzeug basieren und die Aktualisierung von fünfmal mehr Einheiten in einem Fünftel der Zeit ermöglichen.

Auf dem Weg zum softwaredefinierten Fahrzeug

Das komplexe System Fahrzeug ist in seiner möglichen Funktionalität zwangsläufig durch die Hardware begrenzt, die beim Bau des Fahrzeugs eingebaut wird. Die Art dieser Hardware kann sich heute jedoch sehr viel schneller ändern als in der Vergangenheit. Noch wichtiger ist, dass in den 2020er Jahren und darüber hinaus die Funktionalität des gesamten Fahrzeugs letztlich von der Software bestimmt wird, die die verfügbare Hardware steuert.

Die Erwartungen der Fahrer und der Behörden haben sich so weit entwickelt, dass es keine Chance mehr gibt, dorthin zurückzukehren, wo wir vor dem softwaredefinierten Fahrzeug waren. Da die Sicherheit durch einen immer komplexeren und in vielen Fällen geschlossenen Quellcode definiert wird, ist es unerlässlich, neue Werkzeuge einzusetzen, um alle potenziellen Interaktionen und Permutationen dieses Codes zu verstehen. Die klassischen Ansätze der manuellen Code-Reviews und Unit-Tests sind nicht mehr praktikabel.

Stattdessen müssen KI-Ansätze, die zur Verbesserung der Leistung von Wahrnehmungs- und Steuerungssystemen eingesetzt werden, in die Werkzeugketten integriert werden, die zur Erstellung und Verwaltung dieses Codes verwendet werden. Werkzeuge, die in der Lage sind, Funktionalität abzubilden und Interaktionen zu dokumentieren, helfen bei der Integration immer komplexerer Systeme, bei der Verifizierung und Validierung von Systemänderungen und bei der Bewahrung des organisatorischen Wissens über verteilte Entwicklungsteams und wechselnde Belegschaften hinweg.

Vehicle Software Intelligence ist notwendig, um allen Beteiligten ein grundlegendes Verständnis des softwaredefinierten Fahrzeugs aus einer ganzheitlichen Perspektive zu vermitteln. Dieses Verständnis ist notwendig, um intelligente und verwertbare Daten zu extrahieren, die den laufenden Produktplanungs- und Entwicklungsprozess über notwendige Änderungen informieren und die Produkte und Dienstleistungen, die der Kunde erwartet, sicher und zuverlässig liefern.

* Alexander Bodensohn ist Director Business Development bei AuroraLabs.

(ID:49526997)