lassedesignen - Fotolia

How containerisation helps VW develop car software

Volkswagen’s R&D centre is working with Red Hat to use containerisation to improve how it develops and tests software for the control systems in cars

This article can also be found in the Premium Editorial Download: Computer Weekly: Driving intelligence – behind the scenes of Volkswagen’s in-car software

A modern car is a mobile server room, comprising many computers that manage and monitor critical parameters to improve safety, fuel efficiency and reduce component failures. There are also computers and embedded controllers for climate control and mechanics such as motorised folding mirrors and the entertainment system.

Software developed for these computers not only needs to be tested individually, but integration testing is also needed to make sure that any changes or modifications do not negatively affect other systems running in the car. It is a complex software environment that needs to encompass road tests and digital twins, too.

In 2018, global management consulting firm McKinsey noted that the number of lines of software contained in modern cars had grown from about 10 million in 2010 by a factor of 15 to roughly 150 million lines in 2016.

“Snowballing complexity is causing significant software-related quality issues, as evidenced by millions of recent vehicle recalls,” warn the authors of McKinsey’s Rethinking car software and electronics architecture article.

Given that the trend to push more software in automotives is unlikely to recede, Volkswagen (VW) has worked with Red Hat consultants to build its future software integration platform. This platform, based on Red Hat’s OpenShift container orchestration system, has been built to enable VW to develop and test new software for electronic control units (ECUs) that provide the car with its processing brain.

Containers may take an important role in automotive software development,” says Marcus Greul, chief product owner of Cariad SE, an automotive technology company which is part of the Volkswagen Group.

“In our case, we use containers for building up scalable test environments in a mixed (virtual and real components) infrastructure. Maybe in the future, we will get the chance to use these concepts in a vehicle. The chance for using containers for safety-relevant functions is rather small.”

The electric development department, part of VW Group’s passenger cars research and development (R&D) department, tests car components such as electric mirrors and ECUs. A vehicle can have as many as 60 ECUs, each of which needs to go through extensive testing.

“Snowballing complexity is causing significant software-related quality issues, as evidenced by millions of recent vehicle recalls”
McKinsey

The ECU is effectively a computer that runs applications. During the setup of a test bench, ECUs must be integrated with model and simulation components. Each time one is updated or added, all related tests must be repeated and integration becomes more complex.

Delays due to a lack of on-demand provisioning for integration test environments was another factor driving the need for VW to update its software testing. 

Describing the company’s ambition for the new platform, Greul says: “We want to completely standardise and automate the release cycle of software components into our vehicles – including development, testing and deployment – by creating a shared environment for using both virtual and physical components.”

By using Open Container Initiative models to follow best practices for container formats and runtimes, combined with the standardised infrastructure provided by Red Hat OpenShift, Greul says it is now possible to dynamically link container models to the ECUs, which cuts test bench delivery time from days to hours.

The company runs digital simulations of ECUs in containers using Red Hat OpenShift, an enterprise Kubernetes container platform. “There are different kinds of ‘virtual ECUs’ available. You can run the whole software stack on an emulated ECU, you can run single software components or modules on a sufficient runtime environment or just a model that behaves like the ECU,” adds Greul.

The company plans to connect the results of its integration tests with the results it gets from road tests. “For getting best performance and speed during test cycles, we are testing both in parallel,” he adds.

He says Volkswagen is about to use digital twins running on OpenShift on each of its vehicle platforms, each model and each equipment line, which are currently not managed by OpenShift.

Discussing the lifetime ownership of cars, and how automotive manufacturers such as Volkswagen will need to continue providing support for owners of their vehicles for many years in the second-hand market, Greul says: “We are strictly heading for over-the-air updates, thus testing gets more relevant for providing quick updates for customers during vehicle lifetimes.”

Volkswagen uses Dell servers for hosting its on-premise OpenShift container platform. Greul says the servers must be certified both to run OpenShift and provide the hardware specification in terms of processor cores, memory, storage and GPU to support the workloads Volkswagen needs to run.

To support specialist hardware such as vehicle ECUs on an OpenShift cluster, Greul says the hardware needs to be described as a Kubernetes resource, also known as a custom resource definition (CRD).

The new IT architecture includes several other Red Hat technologies. Red Hat Quay is used as a private container registry for OpenShift, which stores, builds and deploys container images. Red Hat Runtimes provide the tools the company needs to develop and maintain cloud-native applications. Messaging is managed by Red Hat AMQ and Red Hat Virtualisation provides a software-defined platform to run virtualised workloads on Red Hat Enterprise Linux.

Read more about containerisation

  • In this e-guide, we take a look at how and why enterprises are tapping into containers to bolster the business agility of their IT infrastructure and application estates.
  • As organisations move to a cloud-native architecture, they will need to consider what to do with their existing virtual server estate.

Read more on Containers