By Lori Cameron
As automakers prepare for the next generation of motoring, they find themselves in the midst of a fundamental shift in the way those vehicles are built. The technology will be driven more by software than mechanics. In other words, today’s premium vehicles will run on code as much as gasoline.
The car of the future will listen to you, track your eyes, and watch your gestures to learn your driving preferences—temperature, news sources, entertainment, preferred routes, creature comforts—and adjust accordingly. It will also be an archetype of enhanced safety, reduced fuel consumption, and energy efficiency. It will be in continual communication with other cars, travel apps, maps, traffic signals, and a host of sensors and devices in the Internet of Things.
Moreover, its software will be cheap and reusable. Engineers can take huge swaths of basic code and tweak it to build customized vehicles, or provide a platform that allows “mass differentiation” where automakers can select what they want from thousands of features. This kind of engineering gives industry giants a huge competitive advantage.
Alireza Haghighatkhah, Markku Oivo, Ahmad Banijamali, and Pasi Kuvaja all from the University of Oulu in Finland, who co-wrote “Improving the State of Automotive Software Engineering,” in the September/October 2017 issue of IEEE Software, studied the existing literature on the subject and compiled practitioner-oriented recommendations.
To stay ahead of the game, they recommend that industry players not only improve the technology but the underlying processes and practices as well. After scouring thousands of records, they aggregated and synthesized information from academic and practitioner-oriented literature, analyzed the material, and compiled a to-do list.
More and more, software engineers will be under your hood:
The challenges include requirements, test management, and automation. The solutions revolve around sharing test results across teams and systems, developing more uniform test automation standards, and streamlining system verification.
“To manage automotive-software development’s complexity, the industry has developed and adopted several standards. AUTOSAR (Automotive Open System Architecture) is one example of an open and standardized software architecture for vehicular electronic control units.”
“The main concern in automotive system integration is synthesizing and deploying functions without compromising quality-related attributes such as performance and safety. Because manual integration is an expensive and error-prone process, practitioners should automate and integrate the synthesis and deployment of software functions with CI [continuous integration] systems.”
The research “emphasized software reliability’s importance and its implications for effective resource allocation, product quality improvement, and release-readiness evaluation. Empirical studies show that clone management of models fosters reuse and improves automotive-system quality and maintenance.”
Variability and reuse
“The automotive industry must fulfill a range of legal requirements while addressing different markets via mass differentiation and customization. Variability can thus become complicated, leading to significant costs and risks.” Research supports “automated approaches for variability identification and management, the automatic diagnosis and debugging of product configurations, SPL test-selection mechanisms, and the automatic generation of modular SPL safety cases.”
Articles related to automotive software technology in the Computer Society Digital Library:
- Automotive Software
- Deep Learning in Automotive Software
- Improving the State of Automotive Software Engineering
- Supporting the Management of Reusable Automotive Software
- Secure Automotive Software: The Next Steps
- Digital Services in the Automotive Industry
- Future Automotive Architecture and the Impact of IT Trends
- Automobile 2.0: Reformulating the Automotive Platform as an IT System
- Automotive Pervasive Computing
- Software in Automotive Systems