Immer mehr Fahrzeugfunktionen werden durch Software realisiert. Viele Hersteller investieren als Teil ihrer Software-Defined-Vehicle-Strategie massiv in neue Software-Plattformen, allen voran in Betriebssysteme und Middleware. Linux und Software-Containern kommen dabei besondere Rollen zu.
Die Umfänge an Software in modernen Fahrzeugen wachsen exponentiell. Die Abkürzung CASE für »Connected«, »Autonomous«, »Shared« und »Electrified« beschreibt die Eigenschaften heutiger Fahrzeuge, die den Komfort und die Sicherheit erhöhen und gleichzeitig den CO2-Ausstoß reduzieren. Da immer mehr Software in immer kürzeren Innovationszyklen in die Fahrzeuge kommt, versuchen Autobauer die eigenen Fähigkeiten bezüglich der Softwareentwicklung deutlich zu erweitern.
Dies geht einher mit einer Veränderung der Elektronik/Elektrik(E/E)-Architektur im Fahrzeug: Bislang finden sich in Luxusfahrzeugen bis zu 100 verschiedene Steuergeräte, sogenannte Electronic Control Units (ECUs), die über verschiedene Bussysteme miteinander verbunden sind und Daten austauschen. Diese Bussysteme sind wiederum mittels Gateways integriert. Die große Anzahl Steuergeräte ist historisch bedingt: Hat man eine neue Funktion statt durch Mechanik durch Mechatronik realisiert, so hat man dafür ein dediziertes Steuergerät, dedizierte Sensorik und Aktuatoren eingebaut.
Erst mit der Zeit begann man, Sensordaten und Aktuatoren Steuergeräte-übergreifend zu nutzen, sowie mehrere Funktionen auf ein Steuergerät zu integrieren. In- zwischen aber ersetzen Hersteller viele einzelne ECUs durch wenige, dafür aber sehr leistungsfähige Rechnereinheiten, sogenannte High-Performance Compute Units (HPC). Diese sind immer noch von einigen ECUs umgeben, die in der Peripherie Datenvorverarbeitung und weniger aufwendige Steueraufgaben wahrnehmen. Diese ECUs sind in Zonen angeordnet, sodass man auch von einer zonalen Architektur spricht [1].
HPCs brauchen ein leistungsstarkes Betriebssystem, das nicht nur die klassischen Betriebssystem-Funktionen zur Verfügung stellt, sondern auch neuere, aus der IT-Welt bekannte Möglichkeiten der Virtualisierung und Containerisierung von Software bietet. Und so findet die Automobilbranche mehr und mehr Interesse an der Nutzung von Linux, dem wohl erfolgreichsten Open-Source-Betriebssystem der IT-Industrie, das inzwischen 30 Jahre alt ist [2].
Einer der Erfolgsfaktoren von Linux ist begründet in der Tatsache, dass es sich bei Linux um Open Source handelt. Als größte Vorteile von Open Source gegenüber proprietären Produkten werden meist geringere Kosten, weniger Fehler und damit höhere Qualität genannt. Aber auch das Fehlen von Vendor Lock-in, eine größere Anzahl von Anwendern und darin ausgebildeten Programmierern sowie schnellere Innovationszyklen machen Open Source interessant. Zudem gibt es Unternehmen wie Red Hat, Suse und andere, die für Linux technischen Support und laufende Updates anbieten. Meist bieten diese Unternehmen auch Zugang zu einem breiten Ökosystem mit Anbietern von zertifizierter Hardware und Software.
Linux als Betriebssystem im Fahrzeug ist nicht gänzlich neu. Einige nutzen bereits seit Längerem Linux im Infotainment-Bereich. Bekannt sind dabei die Initiative GENIVI, die vor allem von europäischen und US-Unternehmen unterstützt wurde, und jetzt unter dem Namen Connected Vehicle Systems Alliance (COVESA) weitergeführt wird. Aber auch AGL, Automotive Grade Linux, stieß auf Zustimmung. Nicht zuletzt basiert auch Google Android, das vielfach im Infotainment-Bereich eingesetzt wird, auf Linux. Unabhängig von der Infotainment-Domäne denkt die Industrie nun aber darüber nach, Linux auch in anderen Domänen einzusetzen, beispielsweise beim sicherheitsrelevanten autonomen Fahren.
Software-Container stellen ein bewährtes Mittel dar, Software zu paketieren, um diese unabhängig von der Umgebung ausführbar zu machen. Das heißt, Software, die in einen Container gepackt ist, hat im Container alles, was sie zur Ausführung braucht: ein Dateisystem, Systembibliotheken, eine Laufzeitumgebung. Die im Container befindliche Software bringt also ihre eigene Konfiguration und Umgebung mit.
Was zunächst nach großem Overhead klingt, ist erstaunlich schlank und um ein Vielfaches schneller als beispielsweise virtuelle Maschinen, die jeweils ihr eigenes gesamtes Betriebssystem beinhalten. Linux als Betriebssystem bietet die Möglichkeit, Software-Container auszuführen. Dies kann beispielsweise mit dem Programm »Podman« erfolgen, einer Container-Engine zum Ausführen von Containern auf Linux.
Wie aber kann ein Hersteller über die Jahre hinweg viele Software-Container in den verschiedenen Fahrzeugmodellen in den verschiedenen Märkten, aktuell halten, neue Versionen einspielen, oder auch neue Container hinzufügen? Neben der Frage, wie eine Übertragung in das Fahrzeug technisch realisiert wird, muss ein Weg gefunden werden, möglichst autonom, das heißt ohne Zutun von Menschen, Software-Container als IT-Objekte sicher in die Fahrzeuge zu verteilen und in Betrieb zu nehmen.
Das Open-Source Projekt »Open Horizon« bietet hierfür eine Lösung: Open Horizon ist eine Plattform zur Verwaltung von containerisierten Workloads. Seit 2020 ist Open Horizon Teil der Linux Foundation Edge (LF Edge), die alle Open-Source-Projekte im Zusammenhang mit Linux Edge-Computing hostet.
IBM hat aufbauend auf Open Horizon den IBM Edge Application Manager (IEAM) entwickelt. Dieser verfügt über eine Backend-Komponente, die zentral die Steuerung und Verbindung zu allen Fahrzeugen und den darin befindlichen IEAM-Agenten übernimmt. Das sogenannte »Onboarding«, das heißt die Installation und geräte-/fahrzeugspezifische Konfiguration, ist vollständig automatisiert.
Über die Backend-Komponente werden mithilfe der Agenten die Software-Container auf die HPCs der Fahrzeuge verteilt, gemanagt, betrieben und überwacht. Welche Container, welche Versionen wann und wie verteilt und in Betrieb genommen werden, wird mittels sogenannter Policies als Regelwerk hinterlegt. Auch wenn danach die Agenten auf den HPCs die Verbindung zum Backend verlieren sollten, laufen sie autonom weiter.
Welche Vorteile ergeben sich nun durch die Nutzung von Linux und Software- Containern? Eine Antwort darauf gibt das Bild. Es liegt ein einheitliches Linux- Betriebssystem vor, mit der Möglichkeit, darauf Software-Container auszuführen. Diese Fähigkeit ist im Fahrzeug selbst, in der Infrastruktur, die das Fahrzeug umgibt, sowie natürlich in den Backend-Systemen gegeben.
Das bedeutet, dass sich die Software in Form von Software-Containern flexibel verteilen lässt. Dies entspricht dem Grundsatz »build once, deploy anywhere«. Software kann also im Backend entwickelt beziehungsweise getestet und dann relativ einfach im Fahrzeug zum Einsatz gebracht werden. Für die Fahrzeug-zu-Infrastruktur-Kommunikation lässt sich Software aus dem Backend in die Infrastruktur, zum Beispiel in intelligente Ampelsysteme, in sogenannte Road-Side Units, oder in Telco Equipment wie in MEC(Mobile-Edge-Computing)-Einheiten verschieben.
Dies stellt eine bislang nicht gekannte Flexibilität dar. Die einhergehende Standardisierung durch die Abstraktion der Anwendungssoftware von der darunterliegenden Hardware, von Betriebssystem und Middleware-Schichten führt zur besseren Wartbarkeit und Portierbarkeit von Software.
IBM und Red Hat arbeiten eng mit der gesamten Industrie zusammen, um die Entwicklung und den Betrieb von Software-Defined Vehicles erfolgreich zu machen. Die Entwicklung eines ASIL-B-zertifizierten Linux-Betriebssystems bei Red Hat ist in vollem Gange, zu verfolgen unter anderem in der Linux Automotive Special Interest Group. Einige Unternehmen nehmen dabei eine aktive Rolle ein: General Motors und Red Hat haben beispielsweise im Mai 2022 ihre diesbezügliche Zusammenarbeit bekanntgegeben. GM beabsichtigt, das zukünftige Red Hat In-Vehicle OS in seiner Ultifi-Softwareplattform zu nutzen.
Auch die Arbeit in den verschiedenen Konsortien nimmt Fahrt auf: Zu nennen wären hierbei das Projekt »Scalable Open Architecture for Embedded Edge« (SOAFEE), das von ARM im September 2021 gestartet wurde, und dem sich eine Reihe von Unternehmen angeschlossen haben. Ähnliches verfolgt die Eclipse Software Defined Vehicle Initiative, die im März 2022 gegründet wurde. Ebenso zeigen früher gegründete Projekte Fortschritte, wie zum Beispiel ELISA, ein Linux Projekt, das sich der Anwendung von Linux in sicherheitskritischen Systemen widmet.
Es bleibt zu hoffen, dass die Automobilindustrie noch stärker als bisher ge-meinsam solche Open-Source-Initiativen vorantreibt, um die wachsenden Aufwände für Entwicklung und Pflege von Fahrzeugsoftware zu meistern.
Literatur
[1] Burkacky, O. et al, McKinsey: Rewiring car electronics and software architecture for the ‘Roaring 2020s’, Online: https://www.mckinsey.com/industries/automotive-and-assembly/our-insights/rewiring-car-electronics-and-software-architecture-for-the-roaring-2020s, aufgerufen 13. August 2022
[2] Heise Online: Linux wird 30: Erfolgsfaktoren damals und heute, Online: https://www.heise.de/hintergrund/Linux-wird-30-Erfolgsfaktoren-damals-und-heute- 6193046.html, aufgerufen 13. August 2022
[3] ZVEI - German Electrical and Electronic Manufacturers’ Association: Best Practice Guideline - Software for Safety-Related Automotive Systems, 2016, Online:
https://www.zvei.org/fileadmin/user_upload/Presse_und_Medien/Publikationen/2016/August/Software_for_Safety-Related_Automotive_Systems__Best_Practice_Guideline_/Software-for-Safety-Related-Automotive-Systems-Guideline-ZVEI-Stand-2016-12.pdf, aufgerufen 15. August 2022
Der Autor
Hans Windpassinger
ist im Global Manufacturing Industries Team im IBM-Technologie-Bereich verantwortlich für das Themenfeld »Connected Products & Services«. Einer seiner Schwerpunkte ist das Software-Defined Vehicle. Windpassinger lebt und arbeitet in München.