Whitepaper

Model-Based Design für Software-Defined Vehicles

Einführung

Die Umstellung auf Software-definierte Fahrzeuge (Software-Defined Vehicles, SDVs) ermöglicht es Automobilherstellern, während der Nutzungszeit eines Fahrzeugs neue Funktionen hinzuzufügen. Zur Unterstützung häufiger Updates werden neue Vorgehensweisen übernommen, darunter zentrale/zonale E/E Architekturen mit Hochleistungscomputern, Embedded Software mit Service-orientierter Architektur, Automatisierung mit kontinuierlicher Integration und kontinuierlicher Bereitstellung sowie virtuelle Validierung mithilfe von Simulation.

Die Umstellung auf SDV ist kein gradliniger Prozess. In diesem Whitepaper finden Sie Einblicke und bewährte Praktiken aus Projekten, an denen MathWorks gemeinsam mit Automobilherstellern in aller Welt beteiligt ist. Es behandelt die Möglichkeiten, mit denen Model-Based Design die Entwicklung von Software-Defined Vehicles ermöglicht:

  • Plattformübergreifende Wiederverwendung von Software: Model-Based Design vereinfacht die Wiederverwendung von Software in HPCs, Zonensteuerungen und elektronischen Steuergeräten (ECUs).
  • Verkürzung der Entwicklungszeit durch Automatisierung: Die Verwendung von Modellen, zusammen mit automatisierter und kontinuierlicher Verifikation, Konsistenzprüfung sowie Nachverfolgbarkeitsanalyse, trägt zur Verkürzung der Entwicklungszeit und zur Einhaltung von Sicherheits- und Qualitätsanforderungen bei.
  • Unterstützung der Vorverlegung in frühere Entwicklungsphasen: Die Integration physikalischer Systemmodelle und virtualisierter Software-Stacks ermöglicht die Vorverlegung von Softwareintegrationstests in frühere Entwicklungsphasen, beschleunigt die Fehlererkennung und verbessert die Testabdeckung.
  • Befähigung von Fachexperten: Mit Model-Based Design können Fachexperten moderne Praktiken der Softwareentwicklung übernehmen und hochwertige Software erstellen.
Abschnitt

Softwarefunktionen und Mehrwert für Kunden

Markenspezifische Funktionen und Mehrwert für Kunden können durch Software bereitgestellt werden. Die Kunden erwarten sowohl Sicherheit als auch eine kontinuierliche digitale Nutzungszeit, bei der das Fahrzeug nicht nur gefahren wird, sondern auch eine Plattform für digitale Interaktionen und Erfahrungen darstellt. Diese Erwartungen treiben Fortschritte bei der Fahrzeugtechnologie voran, beispielsweise Elektrifizierung und Autonomie.

Ein Diagramm des SDV-Mehrwertzyklus, einschließlich Kundenerwartung, Technologie und Innovation sowie Geschäftschancen.

Software stellt Funktionen bereit, die Kundenbedürfnisse angehen und Geschäftsziele unterstützen. Der Zyklus setzt sich mit der Weiterentwicklung der Kundenerwartungen fort.

Schnelle, sichere Softwarebereitstellung

Die schnelle und gleichzeitig zuverlässige Bereitstellung von Software für die Automobilindustrie ist aus mehreren Gründen schwierig:

  • Komplexere Software mit sich daraus ergebenden Validierungsproblemen
  • Anforderungen für funktionale Sicherheit
  • Fahrzeugsystem- und Softwareteams mit unterschiedlichen Denkweisen

In diesem Whitepaper geht es um die Technologie zur SDV-Entwicklung sowie die Art der Zusammenarbeit der beteiligten Teams.

Untersuchung der Elemente von Software-Defined Vehicles

MathWorks arbeitet mit Automobilunternehmen in jeder Region der Welt und beobachtet dabei Muster der Funktionalität und Dysfunktionalität.

Die Bereitstellung Software-definierter Fahrzeuge erfordert Kompetenzen in der Fahrzeugkonstruktion und der Softwareentwicklung sowie die enge Zusammenarbeit zwischen den jeweiligen Teams. Diese arbeiten jedoch oft getrennt, da sie unterschiedlichen Prozessen folgen und für gewöhnlich andere Tools verwenden.

Kompetenzen zur Entwicklung Software-definierter Produkte (moderne Softwarepraktiken, datenbasierte Funktionalität und die Cloud) und zur Fahrzeugkonstruktion (Zuverlässigkeit, funktionale Sicherheit und physische Komponenten).

Die Elemente von „Software-definiert“ und „Fahrzeuge“.

Das Fahrzeug ist ein Mehrdomänensystem, in dem es entscheidend auf Zuverlässigkeit, funktionale Sicherheit und die Integration vieler physischer Komponenten ankommt.

Die Kompetenzen zur Erstellung Software-definierter Produkte umfasst eine Kombination moderner agile Softwareentwicklungspraktiken mit schneller Entwicklung, häufigen Releases und einem hohen Maß an Automatisierung bei der Softwareerstellung. Außerdem erfordern Software-definierte Produkte datenbasierte Funktionalität, wobei die Daten über die Cloud aus der Fahrzeugflotte kommen.

Genau dann, wenn diese Kompetenzen zusammenkommen, treten viele Risiken und Komplexitäten auf – wenn Teams, Tools, Prozesse, Denkweisen und Voreingenommenheit aufeinanderprallen.

Der grundlegende Bestandteil der SDV-Entwicklung ist das Fahrzeug. Vor 20 Jahren verfolgten die Entwicklungsingenieure von Automobilsystemen einen isolierten Ansatz, bei dem Aufgaben von verschiedenen Gruppen erledigt wurden. Der Austausch untereinander erfolgte über Dokumente. Dies änderte sich mit dem Model-Based Design.

Ein Diagramm mit Entwicklungskomponenten: Anforderungen, Algorithmusentwurf, Architektur, Simulation, Embedded Software und Codegenerierung, die oft isoliert ablaufen.

Herkömmlicher isolierter Ansatz bei der Systementwicklung.

Abschnitt

Die Anwendung von Model-Based Design

Beim Model-Based Design werden Entwicklungsaktivitäten über Modelle statt Dokumente koordiniert. Das Modell dient als Sammlung ausführbarer Anforderungen, die Verifikation, Validierung und Testaktivitäten vorantreiben. Mit diesem Ansatz können Probleme bei Anforderungen, Architektur und Algorithmen frühzeitig gefunden und behoben werden. Sie können dann aus den Algorithmusmodellen automatisch Embedded Code wie C oder C++ Code generieren, um ihn auf einem Mikrocontroller auszuführen.

Ein Diagramm zur Einbindung vormals isolierter Entwicklungskomponenten (Simulation, Algorithmusentwurf, Codegenerierung, Anforderungen und Architektur) in Embedded Software mit Model-Based Design.

Model-Based Design optimiert die Systementwicklung.

Mit Model-Based Design lässt sich auch die subjektiv empfundene Starre des V-Zyklus angehen. Die strenge Einhaltung des V-Zyklus führt zu einer Abfolge von Schritten, für die vor der Auflösung des Systems feste Systemanforderungen benötigt werden. Außerdem müssen vor dem Integrationstest alle Komponenten vorhanden sein, was sich negativ auf Agilität und Effizienz auswirkt.

Beim Model-Based Design mit Simulink® können Sie das Gesamtsystem, einschließlich Modelle physischer Komponenten wie Akku und Lenkung, sowie die gesamte Fahrzeugarchitektur modellieren und simulieren und gleichzeitig verschiedene, im Fahrzeug ausgeführte Softwarealgorithmen darstellen. Mit einem solchen Systemmodell können Sie mit der virtuellen Entwicklung einer neuen Softwarefunktion beginnen und von Anfang an virtuelle Integrationstests durchführen. Die neue Funktion wird so bei der Interaktion mit anderen Softwarefunktionen getestet, indem alle gemeinsam in einem virtuellen Fahrzeug ausgeführt werden.

Darüber hinaus können die Schritte mit Simulink stärker als beim V-Modell komprimiert und ihre Ausführung so automatisiert werden, dass sie modernen Softwareentwicklungspraktiken entspricht.

Ein letzter Aspekt ist, dass sich die E/E-Fahrzeugarchitektur ebenso wie zugehörige Entwicklungsprozesse bei Software-Defined Vehicles ändern. Die Workflows, die Model-Based Design umsetzen, haben sich entsprechend weiterentwickelt.

Verlagerung in frühe Entwicklungsphasen mit Simulation und Virtualisierung

Teil der Änderungen an den Workflows ist die Virtualisierung der Chips, der Basissoftware und Middleware, die eine frühzeitige Softwareintegration (durch Vorverlegung in frühere Entwicklungsphasen) ermöglicht. Beispielsweise können Integration und Tests mithilfe von Simulink durch das Einbinden der virtuellen Darstellung eines Infineon® AURIX™-Prozessors mithilfe von Technologien von Synopsys in einer frühen Entwicklungsphase beginnen. Sie können in der Simulationsumgebung schnell iterieren und dann mit Infineon-Bibliotheken automatisch für den Prozessor optimierten Code generieren. Außerdem funktioniert Simulink mit Virtualisierungstechnologien anderer Unternehmen, beispielsweise Qualcomm.

Ein Flussdiagramm mit der Integration von Model-Based Design durch Dritttechnologien von Synopsis und Qualcomm, um die Generierung von optimiertem Code für Prozessoren der nächsten Generation und frühzeitige Integration zu ermöglichen.

Durch Vorverlegung in frühere Entwicklungsphasen können Sie zügig iterieren, testen und frühzeitig validieren. Danach können Sie optimierten Code für den Prozessor generieren.

Unterstützung einer serviceorientierten Architektur

SOA ist ein wichtiger Bestandteil der Entwicklung modularer Software, die einzeln aktualisiert werden kann. Heutzutage erlauben es Model-Based Design und Simulink, sowohl signalbasierte als auch serviceorientierte Anwendungen für neuere E/E-Architekturen mit HPCs und Zonensteuerungen zu erstellen. SOAs (einschließlich AUTOSAR Adaptive-Anwendungen) können modelliert, simuliert werden und vor ihrer Bereitstellung als modulare Services in C++ Code generiert werden.

Beispielhafter SOA-Software-Stack mit Schichten von oben nach unten – Anwendungssoftware, Middleware, Basissoftware –, der auf Hochleistungshardware läuft.

Zeekr, ein chinesischer EV-Hersteller, hat Model-Based Design erfolgreich bei der Entwicklung von SOA-Software eingesetzt, mit der das Entwicklungsteam in kurzer Zeit Software iterieren und veröffentlichen konnte.

Weitere Informationen

Integration in Open Source und Plattformen von Drittanbietern

Eine produktive Entwicklungsumgebung muss viele Tools und Plattformen integrieren. Dies wird in großem Umfang von Model-Based Design unterstützt, da Simulink eine Schnittstelle zu vielen anderen Tools besitzt, darunter auch Open-Source-Tools und -Code.

Ein Diagramm zur Integration der Softwaretechnologien von Drittanbietern in Simulink, einschließlich C++, DDS, Python, FMI und ROS.

Modellieren Sie das Gesamtsystem und seine Komponenten. Sie können auch Komponenten aus verschiedenen Quellen integrieren.

Simulation komplexer Szenarien

Durch die Erstellung von Simulationsszenarien auf und abseits der Straße können Sie die Systemanforderungen verfeinern und gegen realistische Szenarien testen.

Erstellen Sie Straßen- oder Bauszenarien zur Simulation und zum Testen.

Steigerung von Geschwindigkeit und Qualität

Sehen wir uns als Nächstes die Softwareseite an. Moderne Praktiken der Softwareentwicklung setzen auf Agilität.

Die Workflows, die Model-Based Design umsetzen, sind entstanden, um den Gesamtprozess agil zu machen, indem die Teams für das Fahrzeugsystem und die Softwareentwicklung durch gemeinsame Tools und Ziel koordiniert werden. Die Virtualisierung des Gesamtsystems, der Komponenten, virtuellen Prozessoren und Szenarien liefert realistische Testumgebungen.

Konstruktionstools müssen immer häufiger in die IT-Infrastruktur integriert werden. Eine enge Kollaboration zwischen Konstruktion und IT war in der Automobilindustrie nicht üblich. MathWorks unterstützt Unternehmen dabei, diese Gruppen zusammenzubringen, um Ansätze auf Basis von Modellen und Systemtechnik mithilfe der DevOps-Tools von Software- bzw. Plattformteams zu automatisieren. Ziel ist es, die Durchführung von Prozessen und die Ausführung von Pipelines zu koordinieren sowie Transparenz durch Dashboards und Leistungs-Benchmarks zu ermöglichen.

Ein Software-Factory-Diagramm mit Kästen für Code-basierte Entwicklung sowie DevOps- und CI-Plattformen.

Softwareentwicklung und DevOps zusammenzubringen, beginnt mit gemeinsamen Tools und Zielen.

Ob Ihre Software automatisch generiert oder manuell gefertigt wurde oder eine Mischung aus beidem ist: Die Virtualisierung des Fahrzeugsystems, Prozessors, Software-Stacks, der Komponenten und Szenarien stellt eine realistische Testumgebung dar, die mithilfe von CI-Pipelines (kontinuierlicher Integration) verbunden und automatisiert werden kann.

Ein Beispiel: Die Ingenieure bei Geely sind der Meinung, dass kontinuierliche Integration und kontinuierliche Tests (CICT) ein wichtiger Aspekt beim Übergang von schneller Softwareentwicklung zur schnellen Entwicklung hochwertiger Software ist. Für sie ist die Integration zwischen Entwicklungstools wie Simulink, Simulink Test™ und Polyspace® sowie CICT-Plattformen eine Möglichkeit, um den Mehrwertfluss zu beschleunigen und eine kontinuierliche, hochwertige, schnelle, stabile und kontrollierbare Softwarebereitstellung zu geringeren Kosten sicherzustellen. Und so vermeldeten sie eine Erfolgsrate von 90% bei ihren erstmaligen Softwareintegrationstests.

Ein Flussdiagramm des Geely-Workflows von Zugangskontrollprüfung bis hin zu automatischen Tests, die Softwarequalität durch CICT beschleunigen, und eine Abbildung des Mehrwerts der Vorverlegung in frühe Entwicklungsphasen.

Geely steigert Qualität und Geschwindigkeit mit DevOps (von der MathWorks Automotive Conference in China). (Bildquelle: Geely)

Continental tut es schon seit einer Weile: die Integration von modellbasierten Ansätzen in eigene Software Factories, einschließlich Integrationen in GitHub®, Jenkins® und Artifactory. Die Geschwindigkeit seines CI/CD-Systems hat sich verdoppelt und der Wartungsaufwand halbiert.

Ein Prozess-Flussdiagramm für Continental mit den Entwicklungsphasen in seiner Software Factory.

Ein Screenshot der Continental-Rede zu seiner Software Factory bei der MathWorks Automotive Conference. (Bildquelle: Continental)

Diese beiden Beispiele unterstreichen, wie wichtig es ist, die System- und modernen Softwarepraktiken zusammenzubringen.

KI als Teil Ihres Systementwurfs

Eine wichtige Art der datenbasierten Funktionalität ist die KI. Dazu gehören KI-Algorithmen für Embedded Systems, oft auch als Embedded AI bezeichnet. MATLAB® und Simulink bieten eine Bibliothek mit Referenzbeispielen, die zeigen, wie eine KI-fähige Softwarefunktion in ein System eingebunden und dann Code für das Inferenzmodell generiert wird. Mit diesen Beispielen können Sie in das Entwerfen, Simulieren, Testen, Verifizieren und Bereitstellen von KI-Algorithmen einsteigen, die Leistung und Funktionalität komplexer Embedded Systems verbessern. Ein Beispiel für Embedded AI ist ein virtueller Sensor.

Ein KI-Workflow für virtuelle Sensoren mit Datenvorbereitung, KI-Modellierung, Systemsimulation und Bereitstellung.

Die KI kann in einem Open-Source-Framework wie PyTorch® erstellt werden. MATLAB interagiert mit diesen Umgebungen sowie mit Python® und TensorFlow™ mit Co-Ausführung, Modellkonvertierungsfunktionen und einem MATLAB Deep Learning Model Hub. Simulink-Blöcke bringen diese Inferenzmodelle ein, damit Sie simulieren und sehen können, wie die KI im Systemkontext mit den Szenarien agieren wird.

Skalierung in der Cloud

Die Cloud bietet eine Plattform für die Skalierung von Simulationen und Softwareentwicklung zur Prototypisierung, Entwicklung und Verteilung von Funktionen und Updates auf die Fahrzeuge. Durch die Simulink-Cloud-Integration können Sie Ihre Simulations- und Entwicklungs-Workflows auf Cloud-Plattformen wie Amazon Web Services (AWS®) und Microsoft® Azure® skalieren.

Abschnitt

Fazit

Der Weg zu Software-Defined Vehicles beinhaltet die Integration von Denkweisen, Tools und Prozessen aus den Bereichen Software und System. MathWorks steht Ihnen mit Tools zur Seite, die KI, Cloud-Technologie und moderne Softwarepraktiken unterstützen.

Ein Diagramm eines SDV-Entwurfsflusses.

Entwicklung eines Software-Defined Vehicle mit Model-Based Design.