Softwaredefinierte Fahrzeuge benötigen eine Anwendungsarchitektur als Plattform, mit der sich die Anforderungen an Softwareentwicklung sowie -implementierung und -aktualisierung erfüllen lassen. Der Beitrag von Mathworks beleuchtet, wie Ingenieure Softwareanwendungen für Fahrzeugarchitekturen entwickeln und bereits bestehende Lösungen von Signalbasiert zu Serviceorientiert migrieren können.
Neue Technologien für Konnektivität, autonomes Fahren und elektrische Antriebe bilden das Herzstück der Entwicklung Softwaredefinierter Fahrzeuge (SDVs). Um die Wertschöpfung eines Fahrzeugs über seinen Lebenszyklus hinweg zu erhöhen, müssen Unternehmen diese Software kontinuierlich verbessern und aktualisieren, auch nach Auslieferung des Fahrzeugs an den Kunden. Ermöglicht wird dies durch den Wechsel von spezifischen Steuergeräten hin zu leistungsfähigeren und flexibleren Fahrzeugcomputern und Zonensteuergeräten. Dafür sind neue Architekturen für die Ausführung von und die Interaktion zwischen Softwarefunktionen notwendig. Model-Based Design (MBD), das bereits in der Entwicklung von Fahrzeugfunktionen etabliert ist, hilft Automobilherstellern bei der Umstellung auf diese neuen Plattformen und Architekturen sowie serviceorientierten Architekturen, die für künftige SDVs erforderlich sind. Dabei sind fünf Schlüsselaspekte in Betracht zu ziehen, Bild 1. Im Folgenden werden die Umstellung von signalbasierter zu serviceorientierter Software in Automobilen und die dafür nötigen Erweiterungen von Model-Based Design näher beleuchtet.
Traditionell bestimmt embedded Software maßgeblich die Leistung und Sicherheit eines Fahrzeugs, ist technisch an physikalische Systeme gebunden und wird auf einzelnen Steuergeräten implementiert. Sie muss so zuverlässig wie möglich sein und die Automotive SPICE (ASPICE)- und ISO 26262-Normen erfüllen [1, 2]. Hier ist Model-Based Design etabliert, sowohl für die Bereitstellung dieser Software mittels früher Validierung der Entwürfe per Simulation als auch die nachfolgende Implementierung mit automatischer Generierung und Verifikation des Codes, Bild 2.
In jüngster Zeit ist die Automobilindustrie dazu übergegangen, zur Entwicklung von Softwareanwendungen für SDVs einen „servicebasierten“ Ansatz (SOA) zu verfolgen, Bild 3. Diese Herangehensweise ist im Bereich von Software für IT- und Businessanwendungen bereits fest etabliert. Für die Automobilindustrie stellt sie ein neues Paradigma für die Entwicklung von Softwareanwendungen dar, worin Softwarefunktionen in Form von Services organisiert sind. Diese Services können unabhängig voneinander arbeiten und über definierte Schnittstellen miteinander kommunizieren. Im Automotivekontext ermöglichen SOAs eine flexible und effiziente Integration von Softwarekomponenten in Fahrzeugen, indem sie die Kommunikation zwischen den verschiedenen Systemen vereinfachen und die Wiederverwendbarkeit von Services fördern. Ein serviceorientierter Ansatz zeichnet sich durch einfache Aktualisierbarkeit und eine nur lose Kopplung an die Hardware aus. Dies ermöglicht die Erzeugung komplexer und verteilter, nicht-monolithischer Anwendungen, Bild 4.
In SOA-Softwarestacks besteht die Anwendungssoftware standardmäßig aus Diensten, Plattformdiensten und Middleware, die alle auf leistungsfähiger Hardware oder virtuellen Maschinen laufen. Durch die Verwendung von SOA können Automobilhersteller und Zulieferer komplexe Systeme in modulare und leicht austauschbare Komponenten aufteilen, was die Skalierbarkeit und Wartbarkeit der Software verbessert. Infolgedessen wurde das SOA- Konzept weitgehend in Industriestandards und firmeninterne Rahmenwerke integriert, darunter Automotive Open System Architecture (Autosar [3]), verteilte Datenanwendungen (Data Distributed Services, DDS [4]) und Roboterbetriebssysteme (Robotic Operating Systems, ROS [5]. SOA-basierte Anwendungen lassen sich sowohl top-down als auch bottom-up entwickeln. Serviceorientierte Architekturen rationalisieren aber nicht nur den technischen Übergang zu Software-definierten Fahrzeugen, siehe Bild 4. Sie passen die Automobilentwicklung auch auf neue Geschäftsmodelle an, die höhere Profitabilität und Nachhaltigkeit versprechen.
Model-Based Design für SOA
Ein zentraler Aspekt der Dienste in SOAs ist, dass diese dynamisch entdeckt, veröffentlicht, abonniert und während der Laufzeit neu konfiguriert werden können. Diese Flexibilität ermöglicht Software-Updates auf Feature- und Funktionsebene. Model-Based Design trägt der Entwicklung von Elektrik/Elektronik-Architekturen Rechnung, indem es serviceorientierte Architekturen unterstützt. Dafür mussten zwei entscheidende Elemente erweitert werden: Zum einen wurde die Codegenerierung, die bislang auf Effizienz und Leistung in ressourcenbeschränkten Steuergeräten abgestimmt und häufig Target-optimiert war, auf ein breiteres Spektrum von Rechenplattformen ausgeweitet, wie Fahrzeugrechner, Zonensteuergeräte und Cloud-Plattformen, Bild 5.
Zum anderen wurde das Design von Softwarekomponenten angepasst, um den Wechsel von signalbasierten Modellen zu servicebasierten Modulen zu vollziehen. Konventionelle Automobilsysteme verwenden eine signalbasierte Kommunikation, um Echtzeitsignale wie Geschwindigkeit, Temperatur, etc. zu senden, die durch Interrupts oder Zeitgeber ausgelöst werden. Moderne Softwaredefinierte Fahrzeuge dagegen nutzen sowohl service- als auch signalbasierte Kommunikation für den komplexen Datenaustausch. Model-Based Design wurde um die für SOA erforderliche Fähigkeit erweitert, dass Softwareanwendungen andere signalbasierte Komponenten und Anwendungen aufrufen können. Durch diese Erweiterung lassen sich Softwareanwendungen sowohl für signalbasierte als auch für serviceorientierte Architekturen erzeugen und mit kommerzieller oder eigenentwickelter Middleware integrieren. Im Zentrum steht dabei die Verwendung von Messages zur Modellierung und Implementierung von Systemen und Algorithmen, die in ihrer Bereitstellung und Anwendung serviceorientiert sind. Durch die automatische Generierung von C/C++Produktionscode können Ingenieure die Entwicklung zusätzlich beschleunigen und die Wiederverwendbarkeit von Software erhöhen.
Einführung von SOAs mit Model-Based Design
Der Einsatz von Model-Based Design für automobile Rechnerplattformen, wie Fahrzeugrechner, Zonensteuergeräte und Cloud-basierte Algorithmen, ermöglicht flexiblere Ansätze für die Entwicklung serviceorientierter Softwarekomponenten, [6]. MBD ermöglicht die Modellierung und Simulation von Diensten und deren Interaktionen, bevor der eigentliche Code implementiert wird. Dies ist besonders vorteilhaft für SOAs, da es die Analyse und das Verständnis der Dienste-Interaktionen erleichtert. Tools wie Simulink können verwendet werden, um die Kommunikation zwischen Softwarekomponenten zu modellieren, was für die Entwicklung von SOAs entscheidend ist. Bei der Verwendung von MBD für die Entwicklung von In-Vehicle-SOA-Anwendungen wird die Softwareentwicklung von traditioneller Programmierung zu einem modellbasierten Ansatz verschoben, was die Entwicklung beschleunigt und die Komplexität reduziert.
Die Herausforderungen bei der Verwendung von MBD für SOAs umfassen die Modellierung des Softwareverhaltens und die Verwaltung komplexer Softwarecluster. Durch die Nutzung von MBD können diese Herausforderungen bewältigt werden, indem beispielsweise eine Client-Server-Schnittstelle in Simulink für die Modellierung von SOA-Software verwendet wird. Die Vorteile von MBD in der Entwicklung von SOA-Anwendungen sind unter anderem gesteigerte Effizienz durch schnelle Tests und Validierung von Softwareverhalten, verbesserte Qualität durch gründlichere Prüfung und Validierung von Software sowie erhöhte Flexibilität durch die modulare Natur von SOAs, die durch MBD unterstützt wird.
Model-Based Design fokussiert sich nicht nur auf neue Plattformen, sondern auch auf Aspekte wie Leistung, Durchsatz und Automatisierung. Ingenieure untersuchen aktuell Cloud-Technologien, die Workflows vereinfachen sollen. Kontinuierliche Integrationspipelines (CI) und durch Kubernetes gesteuerte Workflows sind darauf ausgelegt, eine effiziente Integration und Bereitstellung von Softwareupdates zu gewährleisten. Bei der Bewertung von Werkzeugen für das modellbasierte Design hat sich der Fokus auf Automatisierung und Skalierbarkeit verschoben. Die Werkzeuge müssen sich Cloud-Umgebungen anpassen können, effiziente Automatisierung unterstützen und umfassende Metriken liefern, die über die reine Designqualität hinausgehen, wie etwa die Messung von Durchsatz und Effizienz der Automatisierung.
Diese Metriken - insbesondere die von DevOps-Initiativen entwickelten sogenannten DevOps Research and Assessments(DORA)-Metriken [7] - sowie die Verschiebung der Verwaltung von Softwareartefakten von traditionellen PLM-Systemen zu agileren Methoden zeigen den Wandel. Versionskontrollsysteme wie Git und Artefakt-Repositories wie Artifactory ermöglichen schnellere Iterationen und feingranulare Verbesserungen bei der Auslieferung von Software-Updates an Fahrzeuge über Over-the-Air-Updates. Diese Veränderungen betreffen auch die IT- und Administrationsabteilungen, die Infrastructure- as-Code implementieren müssen, um Entwicklungs-Tools für neue Projekte oder Teams schnell einrichten und verwalten zu können. Diese auf Automatisierung ausgerichtete Mentalität verbessert die Skalierbarkeit und Effizienz des Supports für die sich stetig entwickelnden Anforderungen von softwaredefinierten Fahrzeugen (SDVs).
Herausforderungen bei der Migration
Anwendungssoftware, die auf Signalen basiert, muss mit serviceorientierten Anwendungen auf Multi-Chip-Architekturen koexistieren und manche müssen zu SOA migriert werden. Die Herausforderungen der Migration von Legacy- Anwendungen zu SOAs bestehen darin, dass Legacy-Anwendungen einen monolithischen Aufbau aufweisen, in dem die Komponenten eng gekoppelt und miteinander verbunden sind. Dies macht es schwierig, die Anwendung in einzelne Dienste zu zerlegen, denn Funktionalität ist eng verflochten und nicht modularisiert. Eine zusätzliche Problematik besteht in der Ausführungsreihenfolge, die bei Legacy-Anwendungen vordefiniert ist für ihre Komponenten. Die streng sequenzielle Ausführung kann die Umwandlung der Anwendung in unabhängige, dynamisch auffindbare und unter der Laufzeit neu konfigurierbare Dienste erschweren. Weitere Herausforderungen liegen in der signal- und zeitbasierten Kommunikation. Bei Legacy-Anwendungen erfolgt die Kommunikation zwischen Komponenten entweder signalbasiert oder zeitbasiert.
Für die Migration zu SOA müssen traditionelle Kompositionen von Anwendungssoftware aufgeteilt werden. Dafür wird die monolithische Architektur geeignet erscheinender Kompositionen in vier Schritten in kleinere, modularere Komponenten zerlegt, Bild 6 [8].
Model-Based Design wurde für die Entwicklung von Anwendungen für Nicht-Autosar- und Autosar-Classic-Frameworks verwendet. Es kann aber auch zur Entwicklung SOA-basierter Anwendungen für Autosar Adaptive und generische SOA-Frameworks verwendet werden. Für SDV-Anwendungen wurden in der Automobilbranche üblicherweise entweder generische SOAs oder auf der Autosar Adaptive Plattform basierende SOAs verwendet. MBD hat hier einen Mehrwert geschaffen, indem es eine einheitliche Entwicklungsplattform zur Verfügung stellt, die den gesamten Entwicklungsprozess für alle Arten von Plattformen, egal ob SOA, Autosar Classic oder Autosar Adaptive, effektiv abwickeln kann und durchgängige Konsistenz und Effizienz sicherstellt.
Fazit
Model-Based Design bietet einen leistungsstarken Ansatz für die Entwicklung von SOA-Anwendungen, insbesondere in Bereichen wie der Automobilindustrie, wo die Komplexität und Anforderungen an die Software ständig zunehmen. Durch die Modellierung und Simulation von Softwareverhalten vor der Implementierung können Entwickler effizienter arbeiten, die Qualität ihrer Anwendungen verbessern und die Vorteile von SOAs voll ausschöpfen. Die Verwendung von MBD in der Entwicklung von SOA-Anwendungen bietet zum einen eine Effizienzsteigerung: Durch die Modellierung und Simulation können Entwickler Softwareverhalten schnell testen und validieren, was die Entwicklungszeit
verkürzt. Zum anderen verbessert MBD die Qualität, da es eine gründlichere Prüfung und Validierung von Software ermöglicht, was zu robusteren, zuverlässigeren und flexibleren Anwendungen führt. Die modulare Natur von SOAs wird durch MBD unterstützt, da Änderungen an einzelnen Diensten leicht modelliert und getestet werden können, ohne das gesamte System zu beeinträchtigen.
Die Fachzeitschrift ATZelektronik bietet für Entwickler und Entscheider in der Automobil- und Zulieferindustrie qualitativ hochwertige und fundierte Informationen aus dem gesamten Spektrum der Pkw- und Nutzfahrzeug-Elektronik.
Lassen Sie sich jetzt unverbindlich 2 kostenlose Ausgabe zusenden.