toplogo
Sign In

Automatisierter, KI-gestützter Workflow für die Entwicklung von Software-definierten Fahrzeugen mit Illusion eines Einzelsystems


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."

Deeper Inquiries

Wie können wir sicherstellen, dass die von den Großen Sprachmodellen generierten Modelle und Codes die Sicherheitsanforderungen für sicherheitskritische Fahrzeugsysteme erfüllen?

Um sicherzustellen, dass die von den Großen Sprachmodellen generierten Modelle und Codes die Sicherheitsanforderungen für sicherheitskritische Fahrzeugsysteme erfüllen, müssen mehrere Schritte unternommen werden. Zunächst ist es entscheidend, klare und präzise Sicherheitsanforderungen für das System festzulegen. Diese Anforderungen sollten sowohl funktional (z. B. sichere Ausführung von Funktionen) als auch nicht-funktional (z. B. Performance, Zuverlässigkeit) umfassen. Die generierten Modelle und Codes sollten dann einer gründlichen formalen Verifikation unterzogen werden. Dies beinhaltet die Überprüfung, ob die erstellten Modelle den definierten Sicherheitsanforderungen entsprechen. Hierbei können formale Methoden wie die Object Constraint Language (OCL) eingesetzt werden, um sicherzustellen, dass die logischen Verbindungen zwischen den Elementen korrekt sind und die Eigenschaften der einzelnen Elemente innerhalb der gewünschten Grenzen liegen. Des Weiteren ist es wichtig, dass die generierten Codes durch automatisierte Tests validiert werden. Diese Tests sollten sowohl die funktionalen Aspekte des Systems abdecken, um sicherzustellen, dass die Software wie erwartet funktioniert, als auch die nicht-funktionalen Anforderungen wie Sicherheit und Leistung überprüfen. Durch die Kombination von formalen Verifikationstechniken und automatisierten Tests kann sichergestellt werden, dass die von den Großen Sprachmodellen generierten Modelle und Codes die erforderlichen Sicherheitsstandards für sicherheitskritische Fahrzeugsysteme erfüllen.

Welche Möglichkeiten gibt es, den Entwicklungsprozess weiter zu automatisieren, um die Kosten zu senken und die Entwicklungszeit zu verkürzen, ohne dabei die Qualität zu beeinträchtigen?

Um den Entwicklungsprozess weiter zu automatisieren und gleichzeitig Kosten zu senken und die Entwicklungszeit zu verkürzen, können verschiedene Ansätze verfolgt werden. Einer davon ist die verstärkte Nutzung von Generativen KI-Modellen, um repetitive Aufgaben im Entwicklungsprozess zu übernehmen. Diese Modelle können bei der Generierung von Systemmodellen, Codes und Tests unterstützen, was zu einer beschleunigten Entwicklung führt. Ein weiterer Ansatz besteht darin, den Einsatz von Modell-basierten Entwicklungsansätzen zu intensivieren. Durch die Verwendung von Modellen, die die Systemanforderungen und -komponenten abbilden, können Entwickler automatisch Code generieren und die Systemarchitektur optimieren. Dies trägt dazu bei, menschliche Fehler zu reduzieren und die Qualität der Software zu verbessern. Darüber hinaus können Continuous Integration (CI) und Continuous Deployment (CD) Praktiken implementiert werden, um den Entwicklungsprozess zu beschleunigen. Durch die Automatisierung von Build-, Test- und Bereitstellungsprozessen können Entwickler schneller Feedback erhalten und Fehler frühzeitig erkennen, was die Gesamtqualität des Systems verbessert. Durch die Kombination dieser Ansätze können Entwicklungsprozesse weiter automatisiert werden, um Kosten zu senken, die Entwicklungszeit zu verkürzen und gleichzeitig die Qualität der Software zu gewährleisten.

Wie können wir den Einsatz von KI in der Fahrzeugsoftwareentwicklung mit bestehenden Standards und Regulierungen in Einklang bringen?

Um den Einsatz von KI in der Fahrzeugsoftwareentwicklung mit bestehenden Standards und Regulierungen in Einklang zu bringen, ist es wichtig, einen ganzheitlichen Ansatz zu verfolgen. Zunächst sollten die relevanten Standards und Vorschriften identifiziert und verstanden werden, um sicherzustellen, dass die KI-Anwendungen den gesetzlichen Anforderungen entsprechen. Es ist entscheidend, dass KI-Modelle und -Algorithmen transparent und nachvollziehbar sind. Dies bedeutet, dass Entwickler in der Lage sein sollten, die Entscheidungsprozesse der KI-Systeme zu verstehen und zu erklären. Dies ist besonders wichtig in sicherheitskritischen Anwendungen wie der Fahrzeugsoftwareentwicklung. Darüber hinaus sollten KI-Modelle regelmäßig überprüft und validiert werden, um sicherzustellen, dass sie korrekt und zuverlässig arbeiten. Dies kann durch die Implementierung von Validierungs- und Verifizierungsprozessen erfolgen, die sicherstellen, dass die KI-Modelle den definierten Standards entsprechen. Schließlich ist eine enge Zusammenarbeit zwischen Entwicklern, Regulierungsbehörden und anderen Interessengruppen erforderlich, um sicherzustellen, dass der Einsatz von KI in der Fahrzeugsoftwareentwicklung im Einklang mit den geltenden Standards und Regulierungen steht. Durch eine transparente und kooperative Herangehensweise kann sichergestellt werden, dass KI-Technologien sicher und effektiv in Fahrzeugsystemen eingesetzt werden.
0
visual_icon
generate_icon
translate_icon
scholar_search_icon
star