The software-defined vehicle is now a reality. As we advance towards assisted and potentially fully automated driving, the importance of automotive software will only grow. However, software is inherently dynamic and constantly evolving. By utilizing ‘Digital Loop’ alongside hardware and software-in-the-loop methodologies, we can revolutionize the validation, homologation, and ongoing development of vehicles.
Decades ago, it was impossible to imagine vehicles with software. The two industries, automotive and IT, were even critical of each other in some cases. The (imaginary) exchange of blows between Bill Gates and Jack Welch, which compared the development of the PC to that of cars, is something that has never been forgotten.
With each new generation of cars, the level of IT in the car has increased, and the two worlds have grown together. The “vehicle of the future” was imagined and continues to be created. This means that more functions are being taken over by software. It not only performs tasks such as managing the entertainment system, but also security-related functions. The software-defined car has high expectations of its software. After all, not many drivers will accept their vehicle “simply switching off for no apparent reason” or their braking systems not working. For this reason, there are extensive frameworks that regulate the development and use of automotive software.
With the trend toward putting more and more functionality into code – including for autonomous cars and advanced driving assisted systems (ADAS/AD) – there are increasing demands on the developers of hardware and software in vehicles. Particularly the established approaches that collect and evaluate data from test drives and provide it for development cannot keep up with the pace of automotive software development (and regular update rollout). They are too slow and provide too little data for development. OEMs need to find solutions to support the new dynamism of their “cyber-physical” products.
This is where connected car concepts have a role. Customer vehicles that are networked with an OEM backend provide continuous data streams from real traffic situations and create a broad basis for the further development and optimization of hardware and software. This can create a truly data-driven development process seamlessly across the entire process chain. Continuous integration, continuous deployment, and DevOps can be used for software development.
“Digital Loop” adapts the concept of continuous integration / continuous deployment (CI/CD) from agile software development and applies it to the automotive environment. It supports an end-to-end validation and homologation process for vehicle software updates throughout the entire life cycle. The development of software, including data analyses, simulations, and the rollout, is combined with the collection of data from live vehicle operation.
This short video explains the main features of the Digital Loop solution for the homologation of over-the-air software updates using the showcase of an SAE L3 demo vehicle.
For the validation and verification of software and hardware, Digital Loop uses a SIL/HIL subprocess (hardware or software in the loop). It collects the live data, processes it, and enriches it with synthetic data. The data is then used to simulate the vehicle's behavior in typical traffic situations and compare it with the set expectations (KPIs). The results are fed back to the development team. You can use the results for the further development of hardware and software as well as automated (continuous) validation and simulation for verification in the homologation process. This allows the OEM to largely automate the validation process in accordance with regulatory requirements, which accelerates and simplifies things significantly.
Digital Loop is the answer to an urgent challenge facing development departments at car manufacturers. It gives them a new basis to make the leap into a more agile era of software-defined vehicles. The effects of software updates can be evaluated more quickly, and optimization potential can be identified and exploited based on real driving data. Validation and homologation can be automated. This is particularly important in the context of autonomous or assisted driving, where the importance of software updates is raised to a new level – continuous updates in shorter cycles are becoming the norm.
DevOps is a software development methodology that aims to improve collaboration between software development and IT operations teams. It is also considerably important for the dynamic development of automotive software. A synonymous term, agile software development, is often used for DevOps. The aim is to speed up the provision of software applications (and the time to market of new products), increase reliability, and enable continuous delivery of high-quality software. This acceleration enables a more rapid introduction of innovation as well as faster reactions to customer feedback and market developments.
DevOps automates the development processes and relies on continuous integration and continuous deployment (CI/CD) as well as close collaboration and communication between the developers and operations teams. Continuous integration (CI) is a central component of DevOps. It refers to the process by which developers regularly and frequently integrate their code changes into a shared repository. Automated tests and builds ensure the quality of the code. The aim of continuous integration is to identify problems at an early stage and make it easier to integrate changes in code.
Continuous delivery (CD) and continuous deployment (CD) are extensions of CI and are also part of the DevOps approach. Continuous delivery refers to the process of delivering software in short iterations and in an automated workflow so that it can go into production at any time. Continuous deployment goes one step further and means that every successful code change is automatically transferred to the production environment – without any manual intervention.