Con­tinuous Inte­gration in Auto­motive

Read More

We help streamline strategies and tool chains.

The automotive industry has traditionally been working in silos with little to no interaction between the contributors until the very end. This concept requires very well specified requirements and extensive testing efforts but it does not prevent system integration issues early in the process.

It is possible to achieve fully functional continuous integration and validation in the automotive world, as demonstrated by the system we designed for Tesla that allows full vehicle software hotfix releases within hours instead of weeks. Continuous Integration paired with the power of over-the-air software updates creates a unique advantage with the competition when it comes to feature release cadence, and the reaction speed to field issues.

What is continuous integration?

Continuous integration is around in the IT industry since the early 1990s. The basic approach behind the term is that new software is integrated, built and tested as often as possible rather than collecting all changes at the end of a development cycle. The advantages lying in the early detection of issues within the software code as well as in the integration. Problems can be pinpointed easier since the change content is kept small between testing cycles.

How can continuous integration be applied in automotive?

In order to achieve continuous integration, a variety of tools and processes need to be in place. On the tool side it requires a common code repository with access for everyone involved in the development, integration of automated and self-executing test suites on unit, component and system level as well as a feedback loop for results and issue reporting. There are also process steps necessary such as daily code commits, code verification in a cloned production environment before commit and a specifically tailored branching strategy.

Does continuous integration automatically mean continuous deployment as well?

No. Continuous integration gives a team the power to deploy software to a customer system at almost any time, but it does not require so.

What are OTA
software updates?

The acronym OTA stands for over the air and refers to software updates through the internet directly to a device without having customers to present the device to a service location. Sometimes the acronym FOTA is used which stands for firmware over the air and refers to the same technology.

What is needed to implement OTA updates?

A complete chain of solutions have to be in place, starting from a uniquely identifiable code base over a performance server ecosystem all the way to security measures. In a simplified way the system can be divided into three sub-systems: build system, transfer system and target system. All three have to obey the same rule sets and communication codes, and all three have to be secured against malicious attacks, intended and unintended.

Why does an automotive product need OTA updates?

Products that are improving over time are taking over the markets. Today a simple mobile phone device is receiving continuous improvements and patches on a regular base, smart television sets are downloading the newest firmware as soon as it is available. The automotive world right now is just getting started to explore the vast opportunities of updateable products.

While there are small steps, mainly focused on infotainment systems for now, customers very soon will be able to choose between a car that is “final” when they buy it or a car that is offering new functionality over the time of ownership. Although there are a few that prefer the old school version the majority will turn towards the continuously improving products. Despite the clear advantage in initial customer acquisition there is the opportunity of a completely new revenue stream of selling upgrades to existing owners, temporarily and permanently.

Another important driver for the need of OTA updates is the growing integration of transportation devices with each other and their environment, and the security risks coming with this. If there is a new vulnerability discovered in a product it has to be closed immediately in order to prevent risk to the users and the business.

How can we Help?