SDVs verändern die Fahrzeugentwicklung

Plattformunabhängiges Softwaredesign für neue E/E-Architekturen

21. Oktober 2024, 14:30 Uhr | Autor: Dr. Hans Martin Ritt, Redaktion: Irina Hübner
© Mathworks

Für eine erfolgreiche Transformation zum Software Defined Vehicle ist es erforderlich, die Automotive-Entwicklungsprozesse grundlegend zu verändern. Welche Anstrengungen nötig sind und wie MathWorks diese angeht.

Diesen Artikel anhören

Die Entwicklung von Software Defined Vehicles (SDVs) ist eine der aktuellen Herausforderungen, denen Automobilunternehmen gegenüberstehen: SDVs erfordern ein neues Maß an Integration von Werkzeugen und Prozessen, die es Unternehmen ermöglicht, die erforderliche Software und Services bereitzustellen. Diese neuen Anforderungen an die Integration betreffen potenziell alle Prozesse in der Automobilindustrie, sowohl der Entwicklung als auch der Fahrzeugflotte im Betrieb.

Daher ist es notwendig, spezifische und konkret fassbare Prozesselemente zu identifizieren, die nachvollzogen und angegangen werden können. Anhand von drei ausgewählten Themenblöcken – E/E-Architekturen, Software Factory und DevOps – werden die erforderlichen Anstrengungen veranschaulicht und gezeigt, wie MathWorks diese bearbeitet. Ziel ist es sicherzustellen, dass die Tools in die relevanten Prozesse integriert werden und die dafür notwendige Zusammenarbeit mit Kunden und Partnern etabliert wird.

Evolution automobiler E/E-Architekturen

Zukünftige E/E-Architekturen werden sich von einer reinen Fahrzeugfunktionalität zu Cloud- und mobilen Anwendungen entwickeln
Bild 1. Zukünftige E/E-Architekturen werden sich von einer reinen Fahrzeugfunktionalität zu Cloud- und mobilen Anwendungen entwickeln.
© Mathworks

MathWorks ist als Tool-Anbieter nicht selbst an der Entwicklung elektrischer/elektronischer (E/E-)Architekturen beteiligt, sondern betrachtet diese aus der Perspektive der darauf laufenden Anwendungssoftware. Der Trend geht von verteilten Mikrocontrollern in Fahrzeugen hin zu Hochleistungsrechnern (HPCs) sowie hin zur Konnektivität zu Cloud- und mobilen Diensten (Bild 1).

Modulare und anpassungsfähige Entwicklung maximiert die Wiederverwendung und Migration von Software
Bild 2. Modulare und anpassungsfähige Entwicklung maximiert die Wiederverwendung und Migration von Software
© Mathworks

Traditionell wurden für all diese Rechnerplattformen – Mikrocontroller, High-Performance-Computing (HPC), Cloud- oder mobile Dienste – eigene Entwicklungsansätze verwendet. Softwarekomponenten wurden für die Bereitstellung auf einer bestimmten Hardware konzipiert. Mit dem Übergang zu neuen E/E-Architekturen ist es jedoch notwendig, die Anwendungsentwicklung flexibler und auf einer höheren, von der Hardware unabhängigen Abstraktionsebene anzugehen (Bild 2).

Das ermöglicht die Verlagerung von Anwendungen von einer Rechenplattform auf eine andere, etwa weil noch nicht feststeht, ob eine Funktion auf einem fahrzeuginternen HPC, in der Cloud oder vielleicht auf einem Smartphone ausgeführt werden soll. Das gleiche gilt für die Wiederverwendung von bestehender und Legacy-Software, die von einem Mikrocontroller auf einen HPC übertragen wird. Natürlich gibt es Grenzen, beispielsweise sicherheitskritische Funktionen, die eine Echtzeitausführung erfordern und nicht aus dem Fahrzeug ausgelagert werden können.

Ein solcher Verlagerungsprozess muss die Migration von Anwendungen unterstützen, die für unterschiedliche Middleware entwickelt wurden: Software von AUTOSAR-Classic-basierten Mikrocontrollern muss auf SOA-Middleware wie AUTOSAR Adaptive oder in virtuellen Maschinen auf HPCs laufen. Da die Softwarefunktionalität selbst plattformunabhängig bleibt, kann sie für verschiedene Fahrzeugkonfigurationen von einer Computerplattform auf eine andere übertragen werden. Das maximiert die Flexibilität und die Wiederverwendung von geistigem Eigentum. Die Erstellung der notwendigen Entwicklungsumgebungen erfordert die Zusammenarbeit mit Partnern und Kunden, denn der gesamte Prozess – von der implementierungsunabhängigen Anwendung (Modell) bis zur endgültigen Implementierung von Software-Stacks für die jeweilige Rechnerplattform – muss sichergestellt werden.

Jede der oben genannten Rechnerplattformen erzielt ihre Leistung durch spezifische, in die Prozessoren integrierte Hardwarefunktionen. Jede Plattform erfordert in der Regel eine umfassende Kenntnis des betreffenden Chips, um alle seine Fähigkeiten optimal nutzen zu können. Dies erschwert die Optimierung von Anwendungen und insbesondere ihre Wiederverwendung und ihr Re-Targeting.

Ingenieure benötigen daher Werkzeuge, die den Prozess von den hardwareunabhängigen Anwendungsmodellen hin zu den hardwareoptimierten Implementierungen unterstützen. Diese Tools müssen in die Entwicklungsumgebung integriert sein, die den Build-Prozess der Software automatisiert und den Code so weit wie möglich für die Prozessoren optimiert. Der bewährte Weg, dieses Problem zu lösen, ist die Codegenerierung mit Optimierung. Sie ermöglicht es Ingenieuren, eine Funktion zunächst zu entwerfen und erst anschließend zu entscheiden, auf welcher Hardware sie eingesetzt werden soll, ohne dass dadurch ihre Leistung beeinträchtigt wird.

Der von FEV und MathWorks entwickelte Proof-of-Concept-Demonstrator für die Migration
Bild 3. Der von FEV und MathWorks entwickelte Proof-of-Concept-Demonstrator für die Migration.
© Mathworks

Zwei Beispiele zur Veranschaulichung: Das erste wurde initiiert, um die Migration von Anwendungssoftware zwischen verschiedenen Middlewares zu demonstrieren; das zweite veranschaulicht die Implementierung von Anwendungssoftware unter Nutzung der Hardwareoptimierung.

Zusammen mit FEV wurde ein Demonstrator für die Migration von Software von Mikrocontrollern auf die oben beschriebene Mischung von Computerplattformen entwickelt, insbesondere für die Migration von Softwarekomponenten von einem AUTOSAR-Classic- zu einem AUTOSAR-Adaptive-Stack (Bild 3).

Es wurden virtuelle Maschinen verwendet, um die Softwarekomponenten auf verschiedenen Betriebssystemen auszuführen. Bei diesem Proof-of-Concept erfolgte die Migration nicht vollständig automatisiert. Ziel ist es aber, sie so einfach und automatisiert wie möglich zu gestalten und den Wert vorhandenen geistigen Eigentums zu bewahren, indem die Übertragung von Funktionalität auf neue E/E-Architekturen unterstützt wird.

Das zweite Beispiel zeigt, wie hardwareunabhängige Anwendungssoftware in eine leistungsoptimierte Implementierung umgewandelt werden kann, ohne eine Neuimplementierung zu erfordern: Das von MathWorks in Zusammenarbeit mit Infineon entwickelte Hardware Support Package für Infineon Aurix-TC4x-Controller [1].

 Peripherieunterstützung des Code Generation Package für Aurix-TC4x-Mikrocontroller
Bild 4. Peripherieunterstützung des Code Generation Package für Aurix-TC4x-Mikrocontroller.
© Mathworks

Es ermöglicht Ingenieuren, die vollen Hardwarefähigkeiten dieser Mikrocontroller-Familie zu nutzen, ohne zu Experten werden zu müssen. Die optimierte Implementierung wird innerhalb der Entwicklungsumgebung für die Anwendungssoftware erzeugt, indem Blöcke ausgewählt und Einstellungen gesetzt werden. Bild 4 illustriert dies anhand der Unterstützung von Peripheriegeräten, die dieses Support-Paket bereitstellt.


  1. Plattformunabhängiges Softwaredesign für neue E/E-Architekturen
  2. Die Software Factory

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu MathWorks GmbH

Weitere Artikel zu Softwareentwicklung

Weitere Artikel zu Elektronikdesign

Weitere Artikel zu Entwicklung und Test

Weitere Artikel zu Automotive