Core Concepts
A prototype tool leveraging the synergy of large language models (LLMs) and model-driven engineering (MDE) to automate the software development process for centralized vehicular systems.
Abstract
The paper presents a prototype tool that combines large language models (LLMs) and model-driven engineering (MDE) to automate the software development process for centralized vehicular systems.
The key aspects covered in the paper are:
Motivation for centralized automotive architectures:
Reduced hardware costs
Improved energy efficiency
Faster application-level communication
Simplified software development and failure detection
Comprehensive control over vehicle functionality
Proposed LLM-enabled workflow:
User provides free-form textual requirements
LLM translates requirements into an Ecore model instance
Consistency of the model instance is verified using OCL rules
The verified model instance is used to generate code, including CARLA simulation scripts, container configurations, and deployment descriptors
Centralized Car Server Metamodel:
Covers hardware and software components, functional and non-functional requirements
Includes concepts like ZoneControllers, ProcessingNodes, Sensors, Actuators, and ApplicationContainers
Defines interfaces for various components like ZoneController, Actuator Controller, Sensor Controller, and Processing Task
Prototype implementation:
Python-based tool with components for model parsing, prompt construction, prompt execution, and code generation
Leverages external tools like PyEcore, OpenAI API, and a Java-based consistency checker
Experiment demonstration environment:
Integration of the centralized car server with the CARLA simulation environment
Example scenario of object detection-based emergency braking
Resource allocation:
Optimization problem to map software resources (containers) to processing nodes (hardware)
Considers constraints like memory, bandwidth, processing power, and real-time capabilities
The proposed approach aims to reduce the time and effort required for automotive software development by leveraging the automation capabilities of LLMs and the formal verification provided by MDE principles.