Seit nun mehr als 40 Jahren werden, elektronische Steuergeräte in Fahrzeugen verwendet. Heute ist die Automobilindustrie mehr denn je auf Software angewiesen. Embedded Software ermöglichte es der Branche, die Nachteile rein mechanischer Ansätze zu überwinden, und aktuelle Anforderungen wie Vorschriften für Emissionen, Kraftstoffverbrauch und Sicherheit zu erfüllen.
Fast jedes Steuergerät/Subsystem eines Fahrzeugs wird heute in gewissermaßen von Software gesteuert. Dadurch kommt es zu einer immer stärkeren Interaktion zwischen den einzelnen Subsystemen und Steuergeräten. Diese starken Abhängigkeiten stellen Entwickler vor enorme Herausforderungen. Wenn sie versuchen, die Interaktionen zwischen den Steuergeräten und zwischen „Must-haves“ und sicherheitskritischen Bereichen zu verstehen und zu verwalten, treten häufig Probleme auf, die es zu lösen gilt.
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 Millionen Codezeilen, die auf über 100 elektronische Steuergeräte verteilt sind, werden neue Werkzeuge und Methoden benötigt, 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.
Eine neue Kategorie von Lösungen und Werkzeugen ist entstanden. Sie werden unter dem Oberbegriff Vehicle Software Intelligence (VSI) zusammengefasst. Sie nutzen KI (Künstliche Intelligenz), um wichtige Einblicke in die Prozesse der Softwareentwicklung, -prüfung, -integration, -zulassung, -bereitstellung und -wartung zu liefern. Diese Lösungen ermöglichen eine schnellere Entwicklung und niedrigere Kosten und sorgen gleichzeitig für sichere, zuverlässige und robuste Softwaresysteme. Neben der in die Steuergeräte eingebetteten Intelligenz werden VSIs, die in die 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 können jeden unterstützen, der mit Software zu tun hat – von Ingenieuren, die Software entwickeln und testen, bis hin zu Teams, die Software-Updates über das Internet (OTA) durchführen.
Die Entwicklung der Softwareentwicklung im Automobilbereich
Die Anfänge der Softwareentwicklung in der Automobilindustrie
Anfang der 1970er Jahre wurden die ersten Vorschriften für Emissionen, Kraftstoffverbrauch und Sicherheit in der Automobilindustrie eingeführt. Die ersten 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 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 Zulieferer Funktionen entwickelten, die von den Automobilherstellern übernommen wurden. Jede Funktion umfasste eine Reihe von Sensoren, Aktoren, elektronischen Steuergeräten (ECUs) und Embedded Software. Das Steuergerät und die Software wurden in der Regel als „Black Box“ an den Automobilhersteller geliefert, so dass niemand außer dem Zulieferer Einblick in den Code hatte.
Die Entwickler beim Zuliefererbetrieben führten Code-Reviews, Unit-Tests und Subsystemtests durch. Anschließend arbeiteten 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.
Die aktuelle Herausforderung:
Im Laufe der Zeit haben Ingenieure, die an Embedded Vehicle Softwaresystemen arbeiten, die Vorteile der Verwendung bestimmter Signale oder Funktionen erkannt, die in anderen sicherheitskritischen Bereichen des Fahrzeugs zur Verfügung stehen. So werden z. B. für Traktions- und Stabilitätskontrollsysteme Motordrehmomentsignale aus dem Antriebsstrangmanagement 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.
Bereichsgrenzen Überschreiten
Die Anzeigen für das Kombiinstrument und das zentrale IVI sind ein Paradebeispiel für die Verschmelzung von Bereichen. In der Vergangenheit waren diese Anzeigen getrennt und wurden von separaten Steuerungssystemen verwaltet. Fahrzeuginformationen und regulierte Diagnosewarnungen wurden auf dem Display des Kombiinstruments angezeigt, das sich normalerweise vor dem Fahrer befand. Auf dem IVI-Display wurden Navigations-, Medien- und andere Zusatzinformationen angezeigt, die in der Regel nicht sicherheitskritisch sind.
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 z. B. das bordeigene Infotainmentsystem (IVI), unterliegen in der Regel nicht denselben Vorschriften. Diese Bereiche können sich jedoch überschneiden.
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 Herausforderungen 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.
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 Stabilitätskontrollsystemen können beispielsweise Daten von Sensoren für Rohgeschwindigkeit, Neigung, Lenkwinkel und Radgeschwindigkeit in einen Algorithmus zur Berechnung der Beschleunigung in mehreren Achsen eingespeist 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ätskontrolle als auch für die Steuerung der Bremsleuchten in dem zuvor beschriebenen Beispiel der Nutzbremsung benötigt werden.
Zwar handelt es sich hierbei um Echtzeit-Kontrollsysteme, doch laufen nicht alle derartigen Systeme mit derselben Frequenz. Einige dieser zeitempfindlichen Systeme können mit kürzeren Schleifen laufen, während andere eine langsamere Aktualisierungsrate haben. Die Stabilitätskontrolle kann mit einer Schleife von 10 ms (100 Hz) laufen, während einige automatisierte Fahrfunktionen nur mit 10 Hz laufen. Diese unterschiedlichen Steuerungsfrequenzen und die Latenzen, die durch Berechnungen oder digitale Filter entstehen können, können zu Zeitfehlern führen.
Bei so vielen Prozessen, die über verschiedene Softwareplattformen laufen und möglicherweise Daten und Funktionen gemeinsam nutzen, ist es fast unmöglich zu überprüfen, ob alle Daten kohärent sind. Außerdem können ähnliche Prozesse die gleiche Funktion an mehreren Standorten ausführen. Unterschiedliche Implementierungen an diesen Standorten können ebenfalls zu unvorhersehbaren Ergebnissen beitragen.
Überprüfung
Angesichts der zunehmenden Komplexität der Interaktionen in heutigen und zukünftigen Fahrzeugsystemen wird erwartet, dass Vehicle Software Intelligence-Tools (VSI), die alle Fahrzeugdomänen abbilden und KI-Algorithmen zur Abbildung der Softwarefunktionalität und des Softwareverhaltens einsetzen können, potenzielle Konflikte erkennen. Diese VSI-Tools helfen, die Systemfunktionalität zu überprüfen und zu dokumentieren. Für Ingenieure ist es nahezu unmöglich, alle potenziellen Wechselwirkungen zu erkennen oder die erforderlichen Testszenarien vorherzusehen.
Beschleunigung von Entwicklung und Einsatz
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 stattfinden, zeitgleich mit der Veröffentlichung neuer Modelle. Es wird ein Funktionsumfang definiert, es werden Fristen für die Fertigstellung der einzelnen Bereiche 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, zum Beispiel von Tesla, verfolgen einen kontinuierlichen Entwicklungs- und Bereitstellungsprozesses, wie er in vielen Bereichen der Technologiebranche zu finden ist, die überwiegend auf Software basieren. Während Hardware-Änderungen immer schwieriger werden, erwarten die Verbraucher inzwischen, dass ihre Autos genauso häufig mit Software-Updates versorgt werden wie unsere anderen elektronischen, softwarebasierten Geräte. Da Fahrzeuge viel komplexer sind als ein typisches Telefon, Tablet oder Laptop, wird die Ausführung ähnlicher Funktionen für die kontinuierliche Integration/kontinuierliche Bereitstellung (CI/CD) noch schwieriger.
Sowohl während der Montage als auch vor der Auslieferung einer neuen Fahrzeugserie müssen die Automobilhersteller Software auf jedes einzelne Fahrzeug verteilen, und das Zeitfenster dafür ist sehr eng. Für diesen Prozess müssen extrem große Datenmengen Over the Air (OTA) an die Fahrzeuge übertragen werden. Diesen Prozess innerhalb eines kurzen Zeitrahmens abzuschließen, ist eine große Herausforderung. Solche OTA-Updates können nicht effizient über Wi-Fi-Verbindungen durchgeführt werden und erfordern daher die Nutzung privater 5G-Netze, die bei der Aktualisierung der gesamten Fahrzeugflotte wesentlich effizienter, zuverlässiger und kostengünstiger sind. Die Hersteller suchen nach neuen Wegen, um den Prozess der OTA-Softwareaktualisierung durch eine höhere Bandbreite und eine Verringerung der Größe der Softwaredateien effizienter zu gestalten. Es gibt bereits neue innovative Technologien zur Unterstützung solcher Prozesse, die auf KI und Fahrzeugsoftware-Intelligenz beruhen und die Aktualisierung von fünfmal mehr Einheiten in einem Fünftel der Zeit ermöglichen.
Aufrüstbarkeit
In den ersten Jahrzehnten elektronischer Steuerungssysteme für Kraftfahrzeuge wurden wieder-programmierbare Chips nur selten in der Produktion eingesetzt, und Software-Updates erforderten im Allgemeinen den Austausch kompletter Steuergeräte oder zumindest von Mikrocontrollern, wenn diese gesockelt waren. Mit der Verfügbarkeit von Flash-Speicher konnten Software-Updates mit einem Besuch in der Serviceabteilung verfügbar gemacht werden. Die allgegenwärtige drahtlose Hochgeschwindigkeits-Datenverbindung ermöglichte es, Updates direkt an das Fahrzeug zu übermitteln, aber abgesehen von Tesla haben andere Autohersteller erst vor kurzem damit begonnen, OTA-Updates auf breiterer Basis einzusetzen. Die bisherigen E/E-Architekturen waren nicht für die Unterstützung sicherer OTA-Updates ausgelegt. Automobilhersteller bringen jedoch mittlerweile neue Architekturen mit dieser Fähigkeit auf den Markt.
Optimierung
Bei so vielen softwaredefinierten Funktionen im gesamten Ökosystem der Fahrzeugentwicklung und -bereitstellung kommt es unweigerlich zu Redundanzen. Die klassische Architektur mit diskreten Recheninseln aus mehreren Quellen bedeutet, dass Funktionen wie Betriebssysteme, Scheduler und sogar einige spezifische Funktionen in zwei oder mehr Steuergeräten repliziert werden können. Diese Replikation ist ein Hauptgrund dafür, dass viele moderne Fahrzeuge mit mehr als 100 Millionen Codezeilen programmiert werden, während ein Flugzeug, wie z.B. eine Boeing 787, typischerweise weniger als ein Zehntel davon hat. Das Flugzeug ist außerdem sicherheitskritischer und hat in vielerlei Hinsicht ebenso komplexe oder noch komplexere Steuerungssysteme als ein Bodenfahrzeug.
Eine VSI-Lösung, die das gesamte Fahrzeugsystem analysieren und ein semantisches Verständnis für die Aufgaben des Systems erstellen kann, kann auch zur Verbesserung des Systems beitragen. Durch die Dokumentation aller Funktionen innerhalb der Gesamtplattform können Redundanzen identifiziert und von den Entwicklern analysiert werden. Diese Identifizierung und Analyse können Möglichkeiten zur weiteren Verbesserung des Codes oder zur Beseitigung funktionaler Konflikte eröffnen, die Sicherheit und Zuverlässigkeit beeinträchtigen könnten
Schlussfolgerungen, Empfehlungen und Kernaussagen
Ein so komplexes System wie ein Fahrzeug wird in ihrer möglichen Funktionalität unweigerlich durch die Hardware eingeschränkt, die beim Bau des Fahrzeugs eingebaut wird. Allerdings kann sich die Art dieser Hardware heute viel schneller weiterentwickeln als in der Vergangenheit. Noch wichtiger ist, dass in den 2020er Jahren und darüber hinaus die Funktionalität des Fahrzeugs als Ganzes letztlich durch die Software bestimmt wird, die die verfügbare Hardware steuert.
Die Erwartungen der Verbraucher und der Behörden haben sich so weit entwickelt, dass es keine Chance mehr gibt, zu dem Punkt zurückzukehren, an dem wir vor dem softwaredefinierten Fahrzeug standen. 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 die KI-Ansätze, die zur Verbesserung der Leistung von Wahrnehmungs- und Kontrollsystemen eingesetzt werden, in die Toolchains integriert werden, die zur Erstellung und Verwaltung dieses Codes verwendet werden. Tools, die die Funktionalität abbilden und Interaktionen dokumentieren können, helfen bei der Integration zunehmend komplexer Systeme, bei der Verifizierung und Validierung von Systemänderungen und bei der Erhaltung des organisatorischen Wissens über verteilte Entwicklungsteams und wechselnde Personalbesetzungen hinweg.
Vehicle Software Intelligence-Lösungen sind erforderlich, damit alle Beteiligten ein grundlegendes Verständnis des softwaredefinierten Fahrzeugs aus einer ganzheitlichen Perspektive haben. Dieses Verständnis wird unerlässlich sein, um intelligente und umsetzbare Daten zu extrahieren, die den laufenden Produktplanungs- und Entwicklungsprozess über erforderliche Änderungen informieren und die Produkte und Dienstleistungen, die die Kunden erwarten, auf sichere und zuverlässige Weise liefern.