LAVA
Software generator for connecting Android-based Infotainment systems with AUTOSAR ECUs and overall vehicle network data
For inquiries please contact us at info@rt-rk.com
Why This Product is Needed and What It Solves?
The software capabilities of future vehicles have come to define them in the evolving landscape of the automotive industry as we enter the era of Software-Defined Vehicles (SDVs). This fundamental shift requires an influx of skilled software engineers and adoption of effective development methods to keep up with rapid technological advances.
While AUTOSAR (AUTomotive Open System ARchitecture) provides a strong framework and comprehensive tools for safety-related vehicle functions, it is complex and specialized. The intricate architecture and standards require a long learning process that makes it less attractive to most developers, especially those from app development community whose work environments are modern and flexible like Android SDK (but depend on data provided on vehicle platforms).
Thanks to complexity and specialization, application developers who are indispensable for the expansion of the automotive applications market and development of innovative solutions face many obstacles. From these causes, automotive frameworks as well as tools available today that are capable technologically and highly qualified cannot be utilized for more integrated end-to-end smart vehicle solutions. This congestion is most visible in cross-domain solutions that are demanded by customers of integrated automotive systems. For this reason, deeper interweaving between various automotive development methodologies, cross-domains solutions and vehicle data interchanges are inevitable.
Our product LAVA overcomes these difficulties by offering a slick toolkit for developers that simplifies the process of designing and integrating In-Vehicle Infotainment (IVI) applications with the overall car architecture. Our solution reduces the barriers to entry into a more lively and creative development environment by bridging the traditional AUTOSAR-based software development practices and more dynamic user-focused models preferred by Android app programmers. This enables faster integration of real consumer software solutions into automotive production, improving future vehicles’ functionality as well as user experience.
Goals & benefits
We like to be pragmatic, hence the goals we want to achieve with our product are the actual benefits we would like to present to the automotive world.
Provide Vehicle Data to Infotainment Systems:
- Ensure that all relevant vehicle data is seamlessly accessible to infotainment systems, enhancing user experience and functionality by bridging the gap between consumer and traditional automotive demands.
Differentiate Vehicle-Specific Android Applications:
- Distinguish automotive Android implementations from general consumer versions, ensuring that vehicle-specific applications are optimized for performance and reliability within the automotive environment.
Increase Innovation Space and Productivity:
- Foster a user-friendly development environment that encourages greater involvement from the Android community. This openness accelerates innovation and boosts productivity by leveraging a broader base of developers and their diverse ideas.
Enhance Quality with Software Automation:
- Implement automation in software development processes to improve overall quality, reduce human error, and ensure consistency in outputs.
Accelerate Time to Market:
- Shorten development cycles and enhance efficiency in integrating new features, leading to quicker product releases and faster adaptation to market demands.
Support Coexistence with Google SDV:
- Ensure compatibility and seamless integration with Google’s Software-Defined Vehicle (SDV) initiatives, promoting a collaborative ecosystem.
Facilitate Transition Towards Centralized Architecture:
- Support and streamline the shift to a centralized vehicle architecture, making it easier for automotive manufacturers to adopt and implement this modern approach.
RT-RK solution – LAVA
LAVA is not a volcanic outflow but a real problem-solving SW Generator.
LAVA is an acronym standing for Linking Android with Vehicle AutoSAR
Our solution simplifies the complexities inherent in AUTOSAR, making the development process more accessible and intuitive for Android developers. By abstracting the intricate details and models of AUTOSAR, we present the information through data models and APIs that align with the familiar terminology and practices of the Android development community. This approach ensures that developers can easily understand and utilize the tools and resources without undergoing extensive retraining.
Importantly, this abstraction does not compromise the critical safety or real-time performance characteristics of AUTOSAR applications. Our solution maintains the rigorous standards and reliability required for automotive safety while providing a more user-friendly interface for application development. This balance enables the seamless integration of advanced vehicle functionalities into Android applications, fostering innovation and enhancing the overall development experience.
By bridging the gap between the specialized automotive frameworks and the widely-used Android ecosystem, our solution not only accelerates development timelines but also broadens the scope of potential applications, driving forward the next generation of software-defined vehicles.
Idea and Rationale
Our product solution is built on two main aspects:
- Leveraging Automotive Service-Oriented Architecture (SOA):
- The first aspect focuses on enabling the exchange of data between AUTOSAR-based ECUs (Electronic Control Units) and Android-based infotainment platforms. This is currently achieved (but not limited to) by implementing the overall vehicle SOA via SOME/IP protocol, or on top of the data-centric DDS protocol. These protocols are not compatible with the conventional Android SOA implementation via Binder IPC. Therefore, our product ensures interoperability between the typical vehicle SOA (based on SOME/IP and DDS) and Android Binder. Additionally, the LAVA solution provides the DataChannelAPI for handling large data streams where Ethernet-based communication is not suitable enough.
- Signal to Service: Due to various reasons, Service-oriented paradigm is not adopted by all OEMs. Therefore, there are still automotive systems which hardly depend on the Signal-oriented paradigm. LAVA tool supports different ways of exposing signals from AUTOSAR ECUs to Android infotainment system.
- Automating the Solution with Interface Definition Languages (IDLs):
- The second aspect involves automating the solution by utilizing IDLs typical for modern vehicular systems standards (AUTOSAR XML – ARXML, Android IDL – AIDL, Franca IDL – FIDL, and OMG IDL) and applying Model Driven Development (MDD) principles. This requires implementation of meta-models for mentioned IDLs and enabling translation between ARXML, AIDL, FIDL, and OMG IDL models. The solution also covers the generation of the actual code responsible for communication and the distribution of data throughout the system.
To achieve the desired functionalities and features, several major challenges must be addressed:
- Adopting SOME/IP and DDS Communication Mechanisms:
- Integrating SOME/IP and DDS communication paradigms within the “Binder-ized” communication framework of AIDL to ensure that data from SOME/IP or DDS can be properly distributed through the Android system via AIDL.
- Enabling Exposure of AUTOSAR ECU Information:
- Allowing AUTOSAR ECU information to be exposed in Android services deployed in both the system(system_ext) and vendor partitions, enabling simultaneous exposure to the application layer and HAL modules.
- Integrating and Translating Meta-Models:
- Integrating existing ARXML and FIDL meta-models, and implementing meta-models for AIDL and OMG IDL to facilitate model-to-model translations using MDD principles.
- Bridging Incompatibilities Between IDLs:
- Addressing incompatibilities between the four most common IDLs (ARXML, AIDL, FIDL, and OMG IDL) and bridging the gaps within their translations.
- Big Data Streaming
- LAVA embraces big data streaming and communication not only via Ethernet-based medium, but with other, bandwidth-wise more favorable solutions such is PCIe.
- Signal to Service Mapping
- Adopting signal-oriented AUTOSAR ECUs to service-oriented paradigm of inter-domain communication with Android Infotainment.
- Verification of Generation Procedures and Outputs:
- Ensuring the verification of the code generation procedures and their outputs to maintain reliability and correctness through CI/CX environment.
- Tooling:
- Providing the necessary tools to support the solution integration in automotive project development workflow, speed-up development cycles and enhance solution quality by reducing human mistakes.
- Providing the virtual environment for easy testing and verification.
- Coexistence with Google SDV
- Providing compatibility with Google’s Software-Defined Vehicle (SDV) initiatives and easier migration towards Google’s principles.
- LAVA will enable translation between ARXML and VSIDL languages so that customers can gradually migrate their components into the Google SDV ecosystem.
Top View Architecture
LAVA tool utilizes input ARXML models supporting both, Classic and Adaptive AUTOSAR platforms. It extracts relevant interfaces from input models and performs translation to target IDLs. Besides translating service interfaces models definition from one vehicle domain to another, it also generates LAVA bridge software to enable data exchange.
Generator technologies
LAVA generator principles are based on the Model Driven Development which implies the existence of models defining the system behavior. Such models are usually written via specific interface definition language with integrated code generator to translate specified model into target text/code. Model Driven Development allows one additional level of abstraction by creating meta-models which will describe parameters and fields of the target model language.
LAVA generator support two approaches when it comes to generating procedure principles:
- Utilization of Eclipse-based tools
- Direct utilization of open-source XML parsers
For both approaches, one this is certainly in common – LAVA solution is not limited to ARXML, AIDL, FIDL and OMG IDL. Contrary, new IDLs can be easily adopted within generating procedure if needed.
Eclipse-based solution
Eclipse Modelling Framework (EMF) is Eclipse-based modelling framework solution which facilitates creating tools and code generators. By leveraging Xtext to describe target model language and EMF to create parsers, loaders and text generators, LAVA product enables handling of multiple IDLs commonly used within automotive industry – ARXML, FIDL, OMG IDL and AIDL. For ARXML and FIDL, LAVA relies on the usage of meta-models implemented by Artop and COVESA respectively. AIDL and OMG IDL meta-models are developed by the solution from scratch.
Additionally, LAVA is utilizing Xtend to implement Model-to-Model transformations from one loaded model to another. To support entire end-to-end generation LAVA is using Xtend for Model-to-Text generators too. Model-to-Text generators grant the users with the actual codebase performing the communication and data exchange as well as providing AIDL-based APIs common to every Android developer.
Direct usage of XML parsers
In this case, generating flow is a bit different because there are no meta-models utilizations, no different language models loading and no model-to-model translations. Everything is generated as text/code straightaway from ARXML models without mid-steps and helper stages of generating procedure. Additionally, no third-party licensed software such is Artop’s is needed.
RT-RK forged LAVA tool to be as simple as possible to use.
For required inputs:
- ARXML models
- Customer’s configuration
- Target interfaces for translation
- Android service programming language (C++, Java or Kotlin)
- Target communication stack (ara::com, CommonAPI or OpenDDS)
- Optimization features
LAVA generator grants customers with the following outputs:
- Android service
- Source code ( +JNI if needed)
- Tests for generated code
- Makefiles
- AIDLs: generated service interfaces within .aidl which will allow Android apps to procure data in a typical Android fashion
- Inter-domain communication clients
- Source code: Communication clients code compatible with ara::com, CommonAPI or OpenDDS stack
- Tests for generated code
- Makefiles
- FIDL / OMG IDL: generated service interfaces within .fidl or .idl files used to provide foundation of communication over SOME/IP and DDS protocols
- Protocol specific deployment/configuration files
Affected communication stacks
Since the initial idea of the LAVA generator tool is to provide inter-communication between AUTOSAR ECUs and Android-based Infotainment there are several communication stacks and protocols which represent the foundation of the solution.
AUTOSAR ECU software already contains its communication clusters and protocol implementations. Those stacks and protocols are not compatible with Android-based Binder on the IVI side by default. Therefore, LAVA bridge module has a role of the Android service which communicates with the Android environment in a typical Android manner, but at the same time encapsulates underneath inter-domain communication compatible with protocols from AUTOSAR environment. This way, LAVA bridge module allows Android applications to use data from AUTOSAR ECU without even knowing the underneath protocol particulars. Although currently only SOME/IP and DDS are supported, the entire idea of LAVA bridge is to be protocol agnostic and enable integration of other protocols indeed.
In order to achieve this, LAVA tool currently supports two approaches for integration of inter-domain communication protocols/stacks within LAVA Bridge module on Infotainment side:
- ara::com
- Including any protocol supported by AUTOSAR standard in the same manner as it is the case on AUTOSAR ECU side
- Open source solution:
- CommonAPI for SOME/IP
- OpenDDS for DDS
Who is this product for?
Target audience which can utilize the full scope of the LAVA product are:
- OEMs
- With a holistic view of vehicle production and target functionalities, OEMs can easily develop specific use cases to enhance the overall user experience with a unique touch.
- Tier1:
- By providing systems implementations to OEMs, Tier 1 suppliers can streamline development and integration cycles, resulting in more efficient and timely deliveries.
- Middleware providers
- LAVA can be integrated into customers’ toolkits, adding valuable features to their middleware implementations to expand the range of the functionalities and cover the entire vehicular system scope.