Core Concepts
Wir schlagen einen neuartigen modell- und merkmalsorientieren Ansatz zur Entwicklung von Fahrzeugsoftwaresystemen vor, bei dem die Zielarchitektur nicht explizit definiert wird. Stattdessen entsteht sie aus einem iterativen Prozess von Suche und Optimierung unter Berücksichtigung bestimmter Randbedingungen, Anforderungen und der Hardware-Architektur, wobei die Eigenschaft der Illusion eines Einzelsystems beibehalten wird, bei der Anwendungen in einer logisch einheitlichen Umgebung ausgeführt werden.
Abstract
Der vorgeschlagene Workflow besteht aus zwei Phasen - der Entwurfsphase und der Laufzeitphase. In der Entwurfsphase werden formale Beschreibungen des gewünschten Systems in Form von Modellen und Einschränkungen generiert, basierend auf den bereitgestellten Anforderungen, Standards, verfügbaren Software- und Hardwarekomponenten usw. In der Laufzeitphase werden Verbindungscode, Tests und Bereitstellungsbeschreibungen aus dem Modell generiert. Die Software wird entweder auf dem Teststand oder auf der Zielarchitektur bereitgestellt und getestet.
Der innovative Aspekt des vorgeschlagenen Workflows ist der Einsatz moderner KI, insbesondere Großer Sprachmodelle (LLMs), im Entwicklungsprozess. Das Ziel ist es, KI in Synergie mit modellgetriebenen Entwicklungsansätzen zu nutzen, bei denen formale Systeminformationen, einschließlich des Systemmodells (sogenanntes Instanzmodell) und Einschränkungen in formalen Sprachen, aus der Beschreibung der verfügbaren Komponenten (Software und Hardware) und aus der Menge der funktionalen und nicht-funktionalen Anforderungen generiert werden.
Basierend auf den Sicherheitsanforderungen werden den Funktionen unterschiedliche Sicherheitsmaßnahmen (Redundanz, Fehlerbehandlungsmechanismen) zugewiesen. Die formale Verifikation wird auf dem Instanzmodell unter Verwendung eines regelbasierten Ansatzes wie der Object Constraint Language (OCL) durchgeführt. Auf diese Weise ist es möglich, die logischen Verbindungen zwischen den Elementen als korrekt zu beweisen, während die Eigenschaften der einzelnen Elemente innerhalb der gewünschten Grenzen liegen.
Das generierte Modell wird als Grundlage für ein automatisches Ressourcenzuweisungsverfahren verwendet, das die Hardware- und Softwarespezifikationen sowie Zuweisungseinschränkungen berücksichtigt. Die Flexibilität des Optimierungsalgorithmus muss betont werden, da er sowohl Testumgebungen als auch die Zielfahrzeugarchitekturen unterstützen muss. Er muss auch in der Lage sein, eine optimale Konfiguration im Pareto-Sinne zu generieren, d.h. basierend auf den gewählten Optimierungskriterien wie maximale Leistung oder minimaler Stromverbrauch.
Die resultierende Zuordnungsmatrix zusammen mit dem Instanzmodell werden als Eingaben für ein KI-basiertes Codegenerationssystem verwendet. Das funktionale Modell wird mit Informationen über die gewünschte Laufzeitumgebung, Akzeptanzkriterien und die Liste der verfügbaren Softwarefunktionen aus dem Softwarekatalog kombiniert. Das System gibt funktionsfähigen Code aus, der auf der gewünschten Architektur bereitgestellt werden kann. Der Prozess der Codegenerierung umfasst die Parametrisierung von Bereitstellungscode, z.B. mit Verbindungsdetails wie Adressen und Ports, die Generierung von Adaptercode, der Daten aus funktionsspezifischen Formaten in Middleware-Primitive übersetzt, aber auch Tests, die für die funktionale und nicht-funktionale Verifizierung verwendet werden.
Stats
Die Entwicklungskosten für Fahrzeugsoftware steigen mit hoher Rate. Es wird geschätzt, dass sich die Entwicklungsaufwände für verschiedene Softwarekomponenten, einschließlich Betriebssystem, Middleware und Infotainment, aber auch Implementierung von Funktionen und deren Integration, bis 2030 im Vergleich zu 2020 verdoppeln werden.
Die Kosten der Softwareentwicklung für Fahrzeuge werden bis 2030 voraussichtlich doppelt so hoch sein wie 2020.
Quotes
"Klassische Softwareentwicklungsparadigmen sind sehr starr und passen sich nur langsam an die steigende Systemkomplexität an. Das V-Modell, das de facto Industriestandard ist, ist sehr unflexibel, hat keine frühen Feedbackmechanismen und kostspielige Anpassungen des Umfangs."
"Software-definierte Fahrzeuge werden zum neuen Trend in der Automobilindustrie, bei dem die Funktionalität des Autos hauptsächlich durch Änderungen in der Software definiert, aktualisiert und modifiziert wird."