Diese Seite wurde maschinell übersetzt.
Füllen Sie bitte eine 1-Minuten-Befragung zur Qualität dieser Übersetzung aus.
So funktioniert die Softwarefabrik fürs Auto
Model-Based Design erweitert agile Prinzipien auf Systementwicklungsaktivitäten, die physische Komponenten und Software umfassen. Von der Anforderungsdefinition über die Systemarchitektur und den Komponentenentwurf bis hin zu Implementierung, Validierung, Test und Einsatz umfasst Model-Based Design den gesamten Entwicklungszyklus und ermöglicht eine schnelle Anpassung an sich ändernde Anforderungen.
Durch intelligentes Fahren und intelligente Cockpit-Technologien nimmt die funktionale Komplexität von Fahrzeugen schnell zu. Gleichzeitig stellen die Verbraucher höhere Ansprüche an ihre intelligenten Autos. In diesem Umfeld sind softwaredefinierte Fahrzeuge (SDVs) zu einem wichtigen Trend geworden und Software ist zum Kern der Automobiltechnologie geworden. Die Bereitstellung von SDVs erfordert eine Änderung des Entwicklungsprozesses, bei der die Software- und Hardwareentwicklung entkoppelt werden, um schnelle Softwareiterationen zu ermöglichen. Die Softwareentwicklungskompetenz eines Unternehmens spiegelt sich in der Geschwindigkeit wider, mit der es Iterationen durchführt und Upgrades für die Verbraucher bereitstellt. Es ist wichtig, die Entwickler mit guten Werkzeugen, Prozessen und Methoden auszustatten, damit sie Software effizient entwerfen, testen und aktualisieren können. In der Zwischenzeit müssen Entwickler erkunden, wie sie agile Entwicklung mit kontinuierlicher Integration/kontinuierlicher Bereitstellung (CI/CD) und dem traditionellen V-Modell integrieren können, um ein effektives Gleichgewicht zwischen Entwicklungseffizienz und -qualität zu erreichen.
Zeekr, ein Premium-Elektrofahrzeughersteller mit Sitz in China, berichtete kürzlich über seine Erfahrungen bei der Anwendung von Model-Based Design in seiner neuen Fahrzeug-Betriebssystemumgebung, einschließlich der Nutzung neuer Funktionen in Simulink® zur Modellierung von Software auf Basis serviceorientierter Architektur (SOA) und Generierung von C++-Code mit Embedded Coder® (Abbildung 1).
Das Team hat außerdem SOMOC entwickelt, ein Softwarearchitektur-Tool für Zeekrs eigenes Fahrzeug-Betriebssystem mit System Composer™, MATLAB® und App Designer (Abbildung 2).
In den nächsten Abschnitten berichten Experten des Software- und Elektronikzentrums von Zeekr über ihre Erfahrungen beim Aufbau einer Softwarefabrik, einschließlich der Integration neuer Softwarefunktionen, der Beschleunigung der Softwarebereitstellung, der Reduzierung von Entwicklungszeit und -kosten sowie der Gewährleistung von Sicherheit und Zuverlässigkeit.
Serviceorientierte Architektur anwenden und Entkopplung erreichen
Um den Anforderungen einer schnellen Feature-Iteration gerecht zu werden, ist ein schrittweiser Übergang von traditioneller signalbasierter Software zu einem serviceorientierten Design erforderlich. Gleichzeitig ist es notwendig, Software von Hardware sowie die Schichten innerhalb der Softwarearchitektur, wie etwa Betriebssystemkernel, Middleware und Anwendungsschicht, zu entkoppeln. Eine vollständige Entkopplung ist von entscheidender Bedeutung, um eine schnelle Iteration von Hardware und Software in ihrem eigenen Tempo zu gewährleisten. Dadurch wird der Entwicklungszyklus verkürzt und die Benutzeranforderungen können berücksichtigt werden.
Eine Schlüsselstrategie zur Ermöglichung schneller Iteration ist die Einführung von SOA. SOA ermöglicht eine lose Kopplung zwischen Anwendungssoftware und Hardware sowie verschiedenen Softwareanwendungen. Dies erleichtert nicht nur die Softwareentwicklung und -wartung, sondern führt auch zu einer nahtlosen Koordination zwischen Bordsoftware, Kommunikation, Informationssicherheit und Cloud-Umgebung – wodurch effektiv ein komplettes Cloud-Ökosystem für das Fahrzeug entsteht.
Es gibt kein Patentrezept für die Herausforderungen, die die Entwicklung komplexer, interdisziplinärer und groß angelegter Softwaresysteme mit sich bringt. Für bestimmte Anwendungen kann die Verwendung höherer Programmiersprachen wie C/C++ – insbesondere für Module mit Multithreading oder Publish-Subscribe-Mechanismen – unkompliziert sein.
Gleichzeitig verfügt das Zeekr-Team über umfangreiche Erfahrung in der Antriebsstrang-, Fahrwerks- und Karosserieentwicklung mittels Model-Based Design. Daher verwendet das Team für ausgereifte Funktionen, die durch Produktionstests validiert wurden oder über komplexe Zustandsmaschinen verfügen, weiterhin einen modellbasierten Designansatz. Ziel ist die Integration dieser Modelle in die SOA-Plattform. Um diesem Bedarf gerecht zu werden, haben Zeekr und MathWorks gemeinsam eine integrierte modellbasierte Entwicklungs-Toolchain entwickelt (Abbildung 3).
Verkürzung der Entwicklungszyklen und Reduzierung der Kosten durch virtuelle Fahrzeugsimulation
Ungefähr 90% der Tests von Algorithmen für automatisiertes Fahren werden auf Simulationsplattformen, 9% auf Teststrecken und 1% durch reale Straßentests durchgeführt. Angesichts der Schwierigkeit, die scheinbar unendliche Vielfalt an Fahrszenarien unter realen Straßenbedingungen nachzubilden, sind Tests auf Simulationsplattformen besonders wichtig.
Da die Automobilindustrie neue technologische Fortschritte aufgreift, setzen OEMs zunehmend auf agile Entwicklungsprozesse, automatisierte Tests, CI, Cloud Computing und Virtualisierung. Diese Ansätze beschleunigen die Softwareentwicklungszyklen, wobei Fahrzeugvirtualisierungs- und Simulationstechnologien den größten Einfluss auf Integration und Validierung haben.
Automobilunternehmen nutzen Simulationen zur Entwicklung und Prüfung von Fahrzeug-Steuerungssystemen für Energie und Bewegung. Simulink wird zum Erstellen dynamischer Modelle und Steuerungsalgorithmen sowie zum Simulieren von Szenarien verwendet, um Steuerungssysteme zu bewerten und zu optimieren, Kalibrierungen durchzuführen oder Algorithmen zu optimieren. In Zukunft ermöglichen Simulationstechnologien die Erstellung digitaler Zwillinge, sodass Ingenieure diese vollständig virtuellen Fahrzeuge zur Vorhersage des realen Fahrzeugverhaltens und für umfassende Simulationen verwenden können.
Mithilfe einer integrierten Simulationsplattform können Entwicklungsteams mithilfe der virtuellen Fahrzeugsimulation Prototypen erstellen, neue Softwarefunktionen kalibrieren und validieren. Durch Frontloading können sie den Entwicklungszyklus erheblich verkürzen und die Kosten senken. Zeekr nutzt die gebrauchsfertigen Funktionen von MATLAB und Simulink, um schnell virtuelle Fahrzeuge zu erstellen (Abbildung 4).
Verkürzung der Lieferzeit mit DevOps
In den letzten Jahren haben sich viele Automobilunternehmen softwarezentriert neu positioniert. Dies hat zu einer Verlagerung hin zu CI- und DevOps-Praktiken geführt, bei denen Daten während des Betriebs gesammelt, in den Entwicklungsprozess zurückgeführt und zur kontinuierlichen Iteration der Fahrzeugsoftware verwendet werden.
Automobilsoftware zeichnet sich durch hohe Entwicklungskosten aus und erfordert einen großen Aufwand an Code-Entwicklung, Integration und Bereitstellung. Durch die Verwendung von CI- und DevOps-Verfahren kann die Zeit von der Codeübermittlung bis zur Produktaktualisierung verkürzt und so die Entwicklungszeit sowie die Anzahl der Fehler reduziert werden. Gleichzeitig wird durch kontinuierliche Integration, automatisierte Tests und statische Codeanalyse eine qualitativ hochwertige und sichere Bereitstellung der Software sichergestellt.
DevOps priorisiert agile Methoden, um Produkte schneller bereitzustellen. Aufgrund der zunehmenden Komplexität der Software, kürzerer Markteinführungszeiten, knapper Budgets und der Divergenz der Lebenszyklen von Software und Hardware ist die Integration von Model-Based Design und agilen Entwicklungsprinzipien erforderlich. Der Einsatz von Modellierung und Simulation, automatisiertem Test und Validierung sowie automatisierter Codegenerierung verbessert die Entwicklungseffizienz und Implementierungsgeschwindigkeit erheblich.
Um diese Ziele zu erreichen, nutzt Zeekr Polyspace®-Tools wie Polyspace Bug Finder™ und Polyspace Code Prover™, um nach Softwarefehlern wie Codierungsspezifikationen und Sicherheitslücken zu suchen.
Zeekr hat eine Reihe automatisierter Unit-Test- und Service-Verifizierungstools entwickelt, und der generierte Code wird mit diesen Tools überprüft, um sicherzustellen, dass das ausführbare Programm zuverlässig ausgeführt werden kann. Gleichzeitig integriert Zeekr auch die Entwicklung und Verifizierung von Modellen in sein DevOps-System. Genau wie bei Code können Funktionsentwicklungsingenieure Modelle in ein Code-Repository hochladen (Abbildung 5).
Funktionale Sicherheit durch agile Entwicklung und das V-Modell gewährleisten
Mit der Einführung von SDVs gingen viele Neuerungen einher, wie etwa automatisiertes Fahren und eine verbesserte Fahrzeugsteuerung. Allerdings brachte diese Entwicklung auch erhebliche Herausforderungen für die funktionale Sicherheit mit sich. Insbesondere durch den Wandel der Softwarearchitektur vom klassischen AUTOSAR zu heterogenen, verteilten Fahrzeugbetriebssystemen und Servicearchitekturen ergeben sich neue Unsicherheiten bei der Konstruktion traditioneller Analysemethoden für die funktionale Sicherheit, Designkonzepten für Software- und Hardware-Sicherheit, Sicherheitsverifizierungssystemen und der Toolchain-Sicherheit. Daher besteht die grundlegende Herausforderung für Entwicklungsteams, die an SDVs arbeiten, im Testen und Validieren.
Der derzeit in der Automobilindustrie am weitesten verbreitete Softwareentwicklungsprozess folgt dem V-Modell. Dieses beinhaltet entsprechende Tests in jeder Entwicklungsphase, von den Anforderungen bis zum Quellcode, wobei jede Phase auf den Ergebnissen der vorherigen aufbaut. Die Vorteile des V-Modells liegen in klaren Prozessen, Rückverfolgbarkeit und Qualitätskontrolle. Dieser Ansatz hat jedoch auch Nachteile, wie z. B. lange Entwicklungszyklen, Schwierigkeiten bei der Anpassung an veränderte Anforderungen, Testherausforderungen und mangelnde Flexibilität.
Da herkömmliche Softwareentwicklungsprozesse mit der zunehmenden Komplexität von Automobilsystemen nicht Schritt halten können, bietet sich die agile Entwicklung als Lösung an. Es unterstützt die Entwicklung von Software durch wiederholte Iterationen und liefert die Software in kleinen Schritten, um kontinuierliche Aktualisierungen zu ermöglichen, anstatt zu warten, bis die gesamte Software am Ende des Entwicklungsprozesses ausgeliefert wird.
Der aktuelle Softwareentwicklungsansatz von Zeekr kombiniert das V-Modell mit agilen Methoden. Diese Hybridstrategie behält den strukturierten Entwicklungsprozess des V-Modells für die gesamte Fahrzeugentwicklung bei, führt jedoch gleichzeitig Flexibilität für spezifische Anforderungen ein, gewährleistet die Sicherheit und Zuverlässigkeit von Softwareprodukten und ermöglicht eine schnelle Auslieferung (Abbildung 6).
Durch die Zentralisierung der Funktionen auf mehreren Controllern im traditionellen V-Modell stiegen die Kosten für die Funktionsentwicklung und -validierung erheblich. In diesem Zusammenhang bietet Simulink erhebliche Vorteile für die Modellentwicklung. Dank seiner umfassenden Suite an Modellverifikationstools unterstützt Simulink einen vollständigen und ausgereiften ISO® 26262-Softwareentwicklung-Prozess sowie -Methodik und -Toolkit. Dadurch werden die Genauigkeit und Zuverlässigkeit des Modells effektiv sichergestellt.
Darüber hinaus erweitert Model-Based Design agile Prinzipien auf Systementwicklungsaktivitäten, die physische Komponenten und Software umfassen. Von der Anforderungsdefinition über die Systemarchitektur und den Komponentenentwurf bis hin zu Implementierung, Validierung, Test und Einsatz umfasst Model-Based Design den gesamten Entwicklungszyklus und ermöglicht eine schnelle Anpassung an sich ändernde Anforderungen. Daher kann Model-Based Design die Anforderungen eines hybriden Ansatzes erfüllen, der V-Modell und agile Entwicklungsprinzipien kombiniert.
Veröffentlicht 2024