I got a question if there is a readily available source that could explain how automotive software systems are composed and how they contrast to more “normal” software systems.
Unfortunately I don’t know of any textbook or white paper that described the key principles of automotive software design end execution. The few books I know of are more process oriented. I enclose some references below, but I still don’t think these will provide enough inside knowledge. Some of them seem old, but I would say there is a huge difference between a current Mercedes S-class and a cheap vehicle (the latter is about 2 generations behind…)
AUTOSAR is of course a fairly common standard for a runtime environment for automotive software components: http://www.autosar.org
Understanding the design of a software system based on source code might be difficult in the automotive domain. Typically 40% (commercial vehicles) to 80% of the software is developed by Tier1 suppliers and are delivered as black box binaries. Therefore there is usually no stakeholder that has complete access to all software in a vehicle, including the OEM.
- K. Melin, ‘Volvo S80: Electrical system of the future’, Volvo Technology Report, vol. 1, pp. 3–7, 1998.
- A. Pretschner, M. Broy, I. H. Krüger, and T. Stauner, ‘Software Engineering for Automotive Systems: A Roadmap’, in Future of Software Engineering, 2007, pp. 55–71.
- J. Mössinger, ‘Software in Automotive Systems’, Software, IEEE, vol. 27, no. 2, pp. 92–94, 2010.
- Tsakiris, ‘Managing Software Interfaces of On-Board Automotive Controllers’, IEEE Software, vol. 28, no. 1, pp. 73–76, 2011.
- J. Schäuffele and T. Zurawka, Automotive Software Engineering: Grundlagen, Prozesse, Methoden und Werkzeuge effizient einsetzen, 5th ed. Springer, 2012. (Mostly process oriented, and I don’t know if German works for you. Previous editions are available in English though)
- A. Thums and J. Quante, ‘Reengineering embedded automotive software’, in Proceedings of the IEEE International Conference on Software Maintenance, 2012, pp. 493 –502.
- J. Quante, M. Tarabain, and J. Siegmund, ‘Towards recovering and exploiting domain knowledge from C code: A case study on automotive software’, in IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering, 2014, pp. 383–386.