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.
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.
Software stellt Funktionen bereit, die Kundenbedürfnisse angehen und Geschäftsziele unterstützen. Der Zyklus setzt sich mit der Weiterentwicklung der Kundenerwartungen fort.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.
Amerika
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)