Why open source is the best way forward for the software-defined car
Automakers need the flexibility and scalability that open source collaboration is famous for to develop the software-defined cars of today and tomorrow.
“It used to be that software was part of the car,” said German computer scientist Manfred Broy. “Now the software determines the value of a car. The success of a car depends much more on its software than on the mechanical side.
It’s so true. Advances in connected car, autonomous, shared and electric vehicle (CASE) technologies have set the automotive industry on a revolutionary path towards software-defined vehicles.
Modern luxury vehicles have around 100 million lines of code. By comparison, a Boeing 787 Dreamliner contains about 14 million. This number is expected to reach 200 million by 2025 and could reach 1 billion lines of code with the growing adoption of autonomous driving systems.
From infotainment systems and driver assistance to various connected car apps, software-defined vehicles – in which most functionality is performed by software apps that run on embedded processors and sensors – offer huge benefits to drivers and are a huge 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 operate. This introduces complex challenges for manufacturers and original equipment suppliers.
Cybersecurity and safety considerations also generate new requirements. And all the while, the industry is looking to maximize efficiency and control costs without compromising innovation.
See also: They’re not cars anymore, they’re computers on wheels
To dive deeper, the challenges are:
1) Material complexity. In the automotive industry, electronic hardware design is not based on a central processing unit (CPU) installed on a motherboard like a laptop computer. 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 typically include multiple processors for primary computing and security purposes, including digital signal processing units (DSPs), graphics processing units (GPUs), video accelerators, image processing units (IPUs) and others. As you can see, SoCs are quite complex.
A good answer to work 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 version of iOS can run on multiple generations of iPhones. In addition, the same iPhone can benefit from updates of several versions of iOS throughout its life.
However, removing these dependencies is difficult. After all, decoupling hardware development cycles from software development involves a shift in business models, sources of supply, and ways of working. On top of that, the automotive industry suffers from the lack of clear standards that would allow easier interfacing between vehicle hardware and software.
2) Software complexity. According to McKinsey, “The average complexity of individual software projects in the automotive industry has increased by 300% over the past decade.”
For example, where there is a redundant software component or feature, most OEMs find that the existing software cannot be reused, as that would mean porting to a completely different configuration. This would cause additional work and potential compatibility issues. To add to the complexity, electronic control units (ECUs) have historically been built using a siled approach; each of them had its own hardware and software (including middleware, operating system and service set).
In addition to all this, artificial intelligence (AI) and machine learning (ML) algorithms are also contributing heavily to the increasing complexity of on-board software in vehicles.
3) Skills. The industry’s shift towards a software model not only brings about a change in development cycles, but also a complete pivot in the skill sets required. In a tight job market, companies are challenged to attract and retain candidates with the right software skills for the job. Stepping things up, automakers are competing with software companies because they are both looking for the same skills.
4) Cybersecurity and safety. As vehicles become more like computers on wheels, the potential for vulnerabilities grows. Hardware vulnerabilities can also arise and usually lead to even worse consequences. Some hardware issues can be fixed through software, but typically these common vulnerabilities and exposures remain valid throughout the life of the system.
Meanwhile, regulations are becoming stringent, forcing attention on patches and fixes to common vulnerabilities and exposures across the ecosystem. Every software delivery must go through a cybersecurity and functional safety assessment and a formal approval process before being pushed into the vehicle.
A final word on using open source
Essentially, the automotive industry is learning what every other software-dominant industry has: software-defined architectures are complicated and present complex integration and debugging challenges.
And as with 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, they can post it to the community so that their functionality is pushed forward for the benefit of others.
By partnering with commercial-grade Linux vendors for long-term support and security maintenance for the Linux kernel and extended open source packages, automotive companies can focus on their software solutions and differentiate themselves from the competition. with applications and services developed for customers.
Industry needs the flexibility and scalability that open source collaboration is famous for. This is the best way forward for an industry that continues to move towards its software-defined future.