The automotive industry and telematics experiencing a total revolution today, driven by increased vehicle connectivity and progress in self-driving cars. Therefore it becomes crucial to address market demands for innovation while reducing associated engineering costs.
The implementation of the software-defined connected vehicle featuring functions that can be customized at run-time, demands an innovative software architecture that can easily scale and significantly reduce software time to market.
Introduction to AGL
To target the market demands in increased vehicle connectivity and enable efficient connected vehicles, the automotive industry requires hardware and software architecture that guarantees isolation, simplified systems management, high performance, open standards, interoperability, and flexibility.
Open source could be a good option to create a fast-innovating ecosystem and to shorten software time to market. Automotive Grade Linux (AGL) is a collaborative project of The Linux Foundation, aiming to realize this via forming a de-facto industry standard Linux-based open software platform, enabling a wide range of automotive applications.
Virtualization provides great performance when it comes to security, isolation, and overhead if supported by the hardware platform directly.
The AGL virtualization approach focuses on providing a virtualization platform that could be employed as it is or could be extended to concentrate on different automotive functions within a single hardware platform. AGL virtualization platform helps to empower system security and to isolate various applications originating from both the AGL community and third-party developers.
The type and the combination of the functions defining the virtualization platform implementation. In particular, it could be implemented utilizing technologies like system partitioners, containers, and hypervisors.
An open-source implementation of the communication buses greatly advancing the performance, interoperability, portability, security, and safety of the system.
Hypervisors, system partitioners, and containers can be combined together to address different requirements and to extend the set of features the system provides.
The figure above highlights the components architecture: host kernel represented by an operating system which runs directly on top of the hardware and guest kernel formed by the operating systems which run on top of an abstraction layer.
Applications and usecases
AGL considers virtualization as a crucial part of its architecture. It is of great importance to enable multiple AGL profiles (Telematics, ADAS, etc.) and to successfully implement the concept of a software-defined vehicle.
Electronic control units equipped with the particular hardware components enable running multiple execution environments hosting different automotive functions securely and with high performance. Such functionality could include for example:
- Displaying critical information: speed limits, notifications, special signaling.
- Multimedia functions: multimedia and radio, rear-view cameras, third party applications.
- Heating, ventilation, and air conditioning control.
- Telematics platforms: reach telemetry data from the vehicle, edge services, OEM / cloud connectivity.
- Safety functions: basic ADAS functionality and advanced options.
The abstraction and isolation created by virtualization allow to concurrently and efficiently run different types of virtualized automotive functions ( such as different licenses, operating systems, legacy solutions, etc.).
A particular already realized use-cases include, for instance, AGL integration into the driving simulator by connecting the AGL instrument cluster to the existing CAN bus. In particular, authors have developed messages for window controllers to open and close the window of the simulated car.
Another use case is last year’s collaborative project in South Brittany, France, with local actors coming from the maritime sector in order to create a sort of “Maritime Grade Linux” aligned with AGL. The project’s name is SEANATIC (stands for “SEA” + “ANALYTIC”), and the aim is to develop and test innovative solutions to consolidate and modernize maritime maintenance activities.
- S. Palaniswamy et al, Automotive Grade Linux Software Architecture for Automotive Infotainment System, 2020.
- The Automotive Grade Linux Software Defined Connected Car Architecture, 2018.