Microservice Architectures for Advanced Driver Assistance Systems: A Case-Study

The technological advancements of recent years have steadily increased the complexity of vehicle-internal software systems, and the ongoing development towards autonomous driving will further aggravate this situation. This is leading to a level of complexity that is pushing the limits of existing vehicle software architectures and system designs. By changing the software structure to a service-based architecture, companies in other domains successfully managed the rising complexity and created a more agile and future-oriented development process. This paper presents a case-study investigating the feasibility and possible effects of changing the software architecture for a complex driver assistance function to a microservice architecture. The complete procedure is described, starting with the description of the software-environment and the corresponding requirements, followed by the implementation, and the final testing. In addition, this paper provides a high-level evaluation of the microservice architecture for the automotive use-case. The results show that microservice architectures can reduce complexity and time-consuming process steps and make the automotive software systems prepared for upcoming challenges as long as the principles of microservice architectures are carefully followed.

[1]  Ola Benderius,et al.  Containerized Development and Microservices for Self-Driving Vehicles: Experiences & Best Practices , 2017, 2017 IEEE International Conference on Software Architecture Workshops (ICSAW).

[2]  Andreas Vogelsang,et al.  Why feature dependencies challenge the requirements engineering of automotive systems: An empirical study , 2013, 2013 21st IEEE International Requirements Engineering Conference (RE).

[3]  Christian Berger,et al.  The Best Rated Human–Machine Interface Design for Autonomous Vehicles in the 2016 Grand Cooperative Driving Challenge , 2018, IEEE Transactions on Intelligent Transportation Systems.

[4]  Michael Armbruster,et al.  RACE: A Centralized Platform Computer Based Architecture for Automotive Applications , 2013, 2013 IEEE International Electric Vehicle Conference (IEVC).

[5]  Ossi Taipale,et al.  Microservices validation: Mjolnirr platform case study , 2015, 2015 38th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO).

[6]  Antonio Bucchiarone,et al.  From Monolithic to Microservices: An Experience Report from the Banking Domain , 2018, IEEE Software.

[7]  Stefan Kugele,et al.  Data-Centric Communication and Containerization for Future Automotive Software Architectures , 2018, 2018 IEEE International Conference on Software Architecture (ICSA).

[8]  Davide Taibi,et al.  On the Definition of Microservice Bad Smells , 2018, IEEE Software.

[9]  Jorge Marx Gómez,et al.  GranMicro: A Black-Box Based Approach for Optimizing Microservices Based Applications , 2017, EnviroInfo.

[10]  Diego Marmsoler,et al.  Research Challenges for a Future-Proof E/E Architecture - A Project Statement , 2017, GI-Jahrestagung.