Modern vehicles are getting increasingly smarter and evolving to become new mobile computing platforms. As the software platformization of vehicles advances, the demands for reconfigurable cars, installing and upgrading vehicle software as plug-and-play have also grown.
However, the existing automotive software platforms are not designed for dynamic reconfiguration and plug-and-play.
This paper addresses the plug-and-play challenge in the recent automotive systems. Drawing from recent advancements in the mobile phone operating systems, we propose an Android-based software architecture which supports the play-and- play in automotive systems.
In our approach, an in-vehicle ECU network consists of one master ECU and several slave ECUs. We adopt Android for the master ECU to enable developers to use well-defined development environment for writing vehicle applications running on the master ECU.
The master ECU provides the access to external networks, allowing users to download new applications from cloud computing services. The master ECU collects automotive data such as velocity and gauge level by communicating with slave ECUs.
The Android OS running on the master includes a library containing APIs for accessing those automotive data, allowing automotive applications, such as a dash board, can be implemented and run on the master ECU.
To support plug-and-play, we add a specialized module, called Automotive Manager (AM), to the Android application framework. When a new application is installed, the AM analyzes real-time schedulability of the newly-installed component, and identifies whether the new component will meet the real-time constraints required by other applications or not.
The AM then decomposes the application into several tasks and distributes them to slave ECUs that run an real-time operating system.
We have built a runtime environment and application manager on the slave's real-time OS for plug-and-play support. We have developed a modelbased application development tool to help developers easily write new applications for our environment.
We demonstrate the feasibility of our approach by implementing a prototype using a small four-wheel motor car with embedded boards and plug-and-playing a steering application on that.
In our architecture, an application can be downloaded from cloud services and executed on ECUs in a distributed fashion. Before installing an application, our system performs schedulability analysis to check real-time performance requirements for recent vehicles.
We also present a model-based development tool for designing a workflow of automotive applications for our system. We implement a prototype and demonstrate the feasibility of our approach.
To read this external content in full, download the complete paper from the author archives at KAIST http://www.ndsl.kaist.edu/~kyoungsoo/papers/icos.pdf