Automakers need the flexibility and scalability that open-source collaboration is famous for to develop software-defined cars of today and the future.
“Once, software was part of the car,” German computer scientist Manfred Broy has said. “Now, software determines the value of a car. The success of a car depends on its software much more than the mechanical side.”
It’s so true. Advancements in connected car, autonomous vehicle, shared, and electric (CASE) technologies have put the automotive industry on a revolutionary road to software-defined vehicles.
Modern luxury vehicles have approximately 100 million lines of code. By comparison, a Boeing 787 Dreamliner jet contains about 14 million. That number is expected to reach 200 million by 2025 and may hit 1 billion lines of code with increasing adoption of autonomous driving systems.
From infotainment systems to driver assistance to various connected car applications, software-defined vehicles – in which most functionality is executed by software applications that run on embedded processors and sensors – provide tremendous benefits for drivers and are an enormous growth opportunity for the industry.
But the CASE road is not easy. The software and hardware components enabling today’s innovations require a different system architecture to function. That introduces complex challenges for original equipment manufacturers and suppliers.
Cybersecurity and safety considerations are generating new requirements too. And all the while, the industry seeks to maximize efficiency and control costs without compromising innovation.
See also: They’re No Longer Cars, They’re Computers on Wheels
To dive deeper the challenges are:
1) Hardware complexity. In the automotive industry, electronic hardware design isn’t based on a central processing unit (CPU) fitted on a motherboard like a laptop. Instead, it uses a System on Chip (SoC), an integrated circuit that includes all or most computer components.
But it’s not as simple as that. SoCs usually include several CPUs for main computing and safety purposes, including Digital Signal Processing (DSP) units, Graphical Processing Units (GPUs), Video Accelerators, Image Processing Units (IPUs), and others. As you can see, SoCs are quite complex.
A good response to working in such a complex environment: reduce hardware and software dependencies. Such an approach is common in other industries. Take the iPhone, for example. The same iOS version can run on multiple generations of iPhones. Moreover, the same iPhone is able to benefit from updates of multiple versions of iOS throughout its lifetime.
Removing these dependencies is hard, though. After all, decorrelating hardware development cycles from software development implies a change in business models, sourcing, and ways of working. On top of that, the auto industry suffers from the lack of clear standards that would allow for an easier interface between the vehicle’s hardware and software.
2) Software complexity. According to McKinsey, “the average complexity of individual software projects in the automotive industry has grown by 300 percent over the past decade.”
For example, when there is a redundant software component or feature, most OEMs find that the existing software can’t be reused, as it would imply porting on a completely different configuration. That would result in additional work and potential compatibility issues. To add to the complexity, Electronic Control Units (ECUs) were historically built using a siloed approach; each of them had their own hardware and software (including middleware, operating system, and service set).
Adding to all that, artificial intelligence (AI) and machine learning (ML) algorithms are also heavily contributing to the growing complexity of the software embedded in vehicles.
3) Skills. The industry’s move toward a software model drives not only a change in development cycles but also a full pivot in required skill sets. In a tight labor market, companies are challenged to attract and retain candidates with the right software skills for the mission. Intensifying matters, car companies are competing against software companies as they’re both looking for the same skill sets.
4) Cybersecurity and safety. As vehicles increasingly resemble computers on wheels, the potential for vulnerabilities grows. Hardware vulnerabilities can also occur and usually lead to even worse consequences. Some hardware issues can be patched via software, but usually, these common vulnerabilities and exposures remain valid throughout the system’s lifetime.
Meanwhile, regulations are becoming strict, forcing attention to patches and fixes to common vulnerabilities and exposures throughout the ecosystem. Every software delivery must go through a cybersecurity and functional safety assessment and a formal approval process before being pushed to the vehicle.
A final word on the use of open source
Essentially, the auto industry is learning what every other software-dominant industry has: Software-defined architectures are complicated and have complex integration and debugging challenges.
And as is the case in so many other industries, embracing open source and Linux is a great way to address many of these challenges. For example, if an automotive OEM develops an enhancement to an open source module or finds a bug, it can publish it to the community so that their feature goes upstream to benefit others.
By partnering with commercial-grade Linux providers to get long-term support and security maintenance for both the Linux kernel and extended open source packages, automotive companies can focus on their software solutions and drive competitive differentiation with applications and services developed for customers.
The industry needs the flexibility and scalability that open source collaboration is famous for. This is the best road forward for an industry that keeps moving toward its software-defined future.