by Fabio Falcini and Giuseppe Lami (ISTI-CNR)
Deep learning is becoming crucial to the development of automotive software for applications such as autonomous driving. The authors have devised a framework that supports a robust, disciplined development lifecycle for such software, and a comprehensive integration with traditional automotive software engineering.
Deep learning is a branch of machine learning based on a set of artificial neural network (ANN) algorithms that model high-level abstractions in input data by using a deep graph representation made of multiple processing layers .
The introduction of deep-learning technology on board cars is starting to have a significant effect on the automotive software engineering that needs to incorporate and harmonise the development of these technologies .
The software development process for on board automotive electronic control units (ECUs) is subject to proprietary OEM norms as well as several international standards. Among them, the most relevant and influential standards for deep learning are Automotive SPICE and ISO 26262. Needless to say, these standards are still far from addressing it with dedicated statements.
The Automotive SPICE standard – SPICE stands for “Software Process Improvement and Capability dEtermination” – provides a process framework that disciplines the software development activities. ISO 26262, titled ‘Road Vehicles – Functional Safety’, released in late 2011, targets safety-related development and its scope expectedly includes system, hardware and software engineering.
Both standards, as far as the software is concerned, rely conceptually on the traditional development lifecycle: the V-model. Also very relevant for deep learning is the ISO PAS ‘Safety of the Intended Functionality’ (ISO/TC 22 N356).
Because of its pervasive adoption and its holistic coverage of the automotive software development processes, Automotive SPICE standard can be recognised as the appropriate reference.
The software side of deep neural network (DNN) development is a highly iterative activity composed by a stream of steps in an end-to-end fashion, as shown in Figure 1.
Compared with traditional approaches, the deep learning development process needs the support of empirical design choices driven by heuristics. Development often starts from well-known learning algorithms, which have been proven effective in comparable problems or domains .
Automotive software engineering, while welcoming innovation and outstanding functional performances, remains strict in its request for a robust and predictable development cycle. For that reason, it is important to place deep learning in more controlled V-model perspective to address a lengthy list of challenges, such as requirements criteria for training, validation and test data sets, and much more.
The introduction of a more structured conception of the deep learning life-cycle is instrumental to reach a controlled development approach that cannot be addressed by the mere functional benchmarking obtained with validation activities. It is essential to pursue both fundamental directions: high performance at the functional level and a high-quality development process.
However, the central role that is played by data in this context has stimulated the authors to introduce of a new development lifecycle model: the W model. To support it, we employ the term ‘programming by example’ to highlight the importance of data in developing systems based on deep-learning technology.
The deep learning W-model is a framework lifecycle that conceptually integrates a V model for data development in the standard V perspective (Figure 2).
Figure 2: The W-model for deep learning.
This lifecycle model acknowledges that both software development and data development drive deep learning. The design and creation of training, validation and test datasets, together with their exploitation, are crucial development phases because the DNN’s functional behaviour is the combined result of its architectural structure and its automatic adaptation through training. By definition, deep learning moves away from feature engineering. This aspect makes the W model an appropriate, useful representation of this sophisticated paradigm.
By placing the software part of the V-model of ASPICE 3.0 on top of the coined W-model, the following diagram hints at the integration of deep learning along the process requirements of the Automotive SPICE model (Figure 3). The same approach may apply for ISO 26262.
Figure 3: The W-model in Automotive SPICE 3.0 perspective.
As deep learning ushers in radical changes to automotive software development (characterised by stringent requirements in terms of rigor, control and compliance with standards), the W model is a promising basis for the comprehensive integration of deep learning with traditional automotive software engineering.
 S. Haykin: “Neural Networks and Learning Machines”, Prentice-Hall, 2009.
 F. Falcini, G. Lami: “Deep Learning in Automotive Software”, IEEE Software Vol. 34 No. 3, May-June 2017.
 J. Schmidhuber: “Deep learning in neural networks: An overview”, Neural Networks Vol 61, 85-117, Jan 2015.
Giuseppe Lami, Fabio Falcini