Automobil-Entwicklung in AR

Die Software im Fahrzeug hat inzwischen immense Ausmaße erreicht. Mechanismen zur Automatisierung können bei der Entwicklung helfen. (Bild: Adobe Stock / Framestock)

Egal, ob Smartphone oder Kampfjet – geradezu simple Gerätschaften. Zumindest mit Blick auf die Zahl der Codezeilen, mit denen ihre Software läuft. Im Schnitt kommen sie mit 20 bis 40 Millionen Zeilen aus, um zuverlässig zu funktionieren. Ein Auto, zumal ein vernetztes, würde damit nicht weit kommen. „Die durchschnittliche Anzahl der Software-Codezeilen pro Fahrzeug hat sich von 100 Millionen im Jahr 2015 auf 200 Millionen im Jahr 2020 verdoppelt“, heißt es in einer Analyse von Goldman Sachs Research. Bis 2025 rechnen die Experten mit bis zu 650 Millionen Codezeilen: „Wir treten in eine neue Ära ein, in der softwaredefinierte Fahrzeuge darüber entscheiden werden, wer den Wettbewerbsvorteil in der Automobilindustrie hat“, so die Studienautoren.

Fragt sich nur, ob hier nicht ein überkomplexes Gebilde heranrollt. Ein Code-Tsunami, der schlecht zu beherrschen ist? Detlef Zerfowski, Head of Engineering Excellence der ETAS GmbH, der Softwareschmiede von Bosch, gibt Entwarnung: „Entscheidend ist nicht, wie viele Codezeilen geschrieben werden müssen. Entscheidend ist, ob es gelingt, diverse Software zu integrieren, darunter auch exorbitant große Linux-artige Betriebssysteme.“ Die Fixierung auf eine Zahl vernebele den Blick, sie sei schlicht „unerheblich“. Schon heute könne niemand mehr sagen, mit wie vielen Codezeilen Fahrzeuge unterwegs seien, betont der Informatiker, der bei ETAS unter anderem eingebettete Systeme für die Automobilindustrie entwickelt.

Warum die Zahl der Codezeilen nicht entscheidend ist

Ein Premiumfahrzeug verfügt über 180 Steuergeräte und mehr. Sie steuern die Kraftstoffeinspritzung, das Bremsverhalten, das Infotainment, um nur wenige Beispiele zu nennen. Dabei bleibt es nicht. High Performance Computing Platforms (HCPs) mit noch mehr Rechenleistung werden zunehmend unter anderem für (teil-)autonomes und vernetztes Fahren sorgen. Viele Dienste laufen in der Cloud, über die vermehrt Softwareupdates aufgespielt werden. Zeilenzählerei ist für Zerfowski Zeitverschwendung. Nicht aber, Energie darauf zu verwenden, wie man möglichst schnell, schlank und schnörkellos coded. So dass solide Software entsteht, die den hohen Sicherheitsstandards der Automotivebranche genügt.

„Wesentlich ist, dass man die Softwareentwicklung von der Hardware entkoppelt“, erklärt Zerfowski, „Es kommt darauf an, nicht Lastenheft-basiert, sondern Software-iterativ zu entwickeln.“ Stichwort DevOp Lifecycle. „Wer so arbeitet, sich während der Entwicklung sofort Feedbacks vom Kunden einholt, wird nicht nur schneller, sondern reduziert letztlich auch Komplexität“, sagt Zerfowski. Virtualisierung spiele dabei eine tragende Rolle, durch die Software am Rechner tausende Testzyklen durchläuft und eben nicht wie bisher, sie mit physischen Steuergeräten validiert und verifiziert werden muss. Änderungen fließen sofort ein, werden überprüft, während früher beispielsweise ein Testfahrer erst nach Monaten Erkenntnisse lieferte während die Softwareingenieure bereits an einer ganz anderen Stelle der Entwicklung standen.

In der Branche setzt man unterdessen verstärkt auf Continuous Integration. Hersteller wie Porsche verwenden stark automatisierte Verfahren, um kontinuierlich Softwareelemente auf ihre Robustheit und Integrationsfähigkeit zu überprüfen. So werden Fehler und Probleme unmittelbar erkannt und behoben. Außerdem kann so der Kunde sehr früh und umfassend in die Entwicklung einbezogen werden. In derart automatisiertem, iterativem Vorgehen sieht Zerfowski die Zukunft. Dahin geht die Reise: Software wird stärker von Software getestet und nicht mehr von Menschen. Manuelle Tests könnten völlig verschwinden. Für einen kräftigen Push in diese Richtung sorgt KI.

KI coded schneller, stößt aber an Grenzen

„Mit künstlicher Intelligenz kann man einen viel höheren Grad der Automatisierung bei der Softwareentwicklung für Fahrzeuge erreichen“, sagt Dominik Rüchardt, Senior Director bei dem US-Softwareunternehmen PTC. „Schon jetzt werden auf diese Weise mehrere Wochen Zeitgewinn in Entwicklungsprojekten erreicht“. Dass KI-Tools komplett die Softwareentwicklung übernehmen werden, kann sich Rüchardt jedoch nicht vorstellen. Vor allem, wenn es um sicherheitskritische Anwendungen gehe. Aber: „Bei vielen Entwicklungsaufgaben wird es ausreichen, wenn Anforderungsingenieure Rahmenbedingungen vorgeben und die KI diese dann umsetzt.“ Software automatisiert generieren, analysieren und korrigieren könnten durchaus Maschinen erledigen – und dabei eine höhere Softwarequalität bei geringerer Komplexität erreichen.

In diesen Prozess würden permanente Erfahrungen aus dem Feld einfließen, die Application Life Cycle Management- und Produkt Life Cycle Management-Systeme liefern, erklärt Rüchardt. Das allein schon, weil das softwaredefinierte Auto auch noch 20 Jahre später mit Updates versorgt werden muss, was nur gelingt, wenn Live-Erfahrungen (etwa über sicherheitskritische Bugs) zurückgespiegelt und Patches per Cloud aufgespielt werden können. In dieser Hinsicht ist die Autoindustrie herausfordernd wie kaum eine andere Branche. Denn wenn ein Stanzroboter irgendwann nicht mehr upzudaten ist, ist das eher zu verschmerzen als bei dem Steuergerät für Airbags.

Auch daran werde deutlich, warum sich die Softwareentwicklung dringend von der Hardware entkoppeln müsse, unterstreicht Zerfowski: „Auf diese Weise lässt sich die Hardware funktions- und damit zukunftsfähig halten. Außerdem muss man bei der Softwareentwicklung nicht immer wieder von vorn anfangen, sondern braucht diese nur an künftige Anforderungen anpassen.“ Effekt: Die Komplexität der Entwicklung sinkt und die Qualität der Software steigt. Wozu dann noch Zeilenzählen?

Sie möchten gerne weiterlesen?