Automotive adopts Linux open source and software reuse principles for IVI and autonomous drive

March 28, 2017 OpenSystems Media


If software is eating the world, it’s thanks in no small part to Linux. Since being developed as a desktop operating system (OS) in the late 1980s and early 1990s, variants of the Linux kernel have proliferated into everything from network servers and mobile phones to embedded devices such as flight computers and industrial control systems. The success of Linux in these segments is largely due to an open source distribution model, configurability, the self-fulfilling prophecy of its own widespread use, and the ability to iterate quickly on the platform through code reuse, and while initial concerns around the security and determinism of the kernel kept it from deployment in safety-critical systems, those have been allayed.

Now Linux is becoming entrenched in another key embedded sector with the emergence of Automotive Grade Linux (AGL).

Automotive Grade Linux emergence and the smartphone experience

Like with so many other verticals, to appreciate the emergence of AGL one must first appreciate the impact of the smartphone on adjacent markets. As with most IT-style deployments, the smartphone employed fast, constant iteration through over-the-air software updates that could remotely remedy bugs, expand the features and performance of applications, and improve user experiences – a phenomenon that quickly raised consumer expectations for other devices.

In contrast, automotive systems development has traditionally been earmarked by long development cycles on the order of five to seven years. This meant that the OS and applications shipping in a current model year were often outdated by the time vehicles reached the dealership, leading to a widening gap between the consumer experience on mobile devices and the capabilities of in-car user interfaces.

Subsequently, smartphone developers began to address the market need with initiatives such as Apple CarPlay and Android Auto that essentially mirrored the smartphone experience on in-vehicle user displays. While these provided an ad hoc improvement for car owners, they weren’t inherent to vehicle designs and weakened the brand and value proposition of carmakers. The penetration of the smartphone into vehicle ecosystems also served as a barometer of the market for data on passenger behaviors and preferences, which now included new competition.

To compete, automotive manufacturers and their suppliers had to evolve their software development and delivery practices, particularly for in-vehicle infotainment (IVI) platforms. This included migrating from the bolt-on coding practices that yielded 100 million lines of code (MLOC) in modern vehicles towards development methodologies that promoted software reuse and faster time to market. This is the core principle of AGL.

“My firm belief is that the auto manufacturers have realized over the past two years that they are in the software business, meaning that their competitors are not other car companies, but the smartphone,” says Dan Cauchy, General Manager for Automotive at the Linux Foundation and Executive Director of AGL. “We know that consumers today are making buying decisions based on IVI.

“What the auto industry has been doing wrong is they haven’t been able to reuse software,” Cauchy explains. “The automakers have the mentality of providing a specification to a supplier, but the car maker doesn’t care as long as it meets the spec. That spec only has a life of three or four years until a new spec or model is released. They’re now realizing they have to use an open source development methodology and reuse platforms for years to come in entry-level versus luxury vehicles.

“This doesn’t mean they don’t need suppliers,” he continues. “They want suppliers to constantly evolve on the same platform, constantly adding new features instead of reinventing the wheel every three years. They’re building 80 percent at AGL and the other 20 percent is their own voice recognition, look and feel, etc. AGL should be providing automotive-grade Linux year over year.”

Migrating Linux from IVI to mission-critical vehicle applications

In 2015 AGL released version 1.0 of their spec, which established a homogeneous software architecture for developing IVI features and apps in an extensible design that could be expanded to other areas of the digital cockpit such as instrument clusters and heads-up displays (HUDs). As each of these systems require the same fundamental building blocks, the baseline AGL architecture has been leveraged, for example, in instrument cluster designs to provide graphics driver and 3D acceleration engine resources, as well as standard APIs and communications links to other vehicle systems (Figure 1). Now on version 3.0 of the Unified Code Base (UCB), AGL has incorporated an application framework/launcher, software development kit (SDK), and reference applications based on Yocto Project Linux version 2.1 to improve time to market for all manner of infotainment, navigation, communications, safety, security, and connectivity systems (Figure 2).

[Figure 1 | The Automotive Grade Linux specification provides a homogeneous baseline architecture for the development of digital cockpit applications.]

[Figure 2 | Version 3 of the AGL Unified Code Base (UCB) incorporates a complete application framework, software development kit (SDK), and reference implementations to speed time to market for automotive software.]

The AGL project now comprises 94 member companies from the automotive (10 auto manufacturers), semiconductor, and communications industries, and with the application framework now stable and in place, embodies the “port once, run anywhere” spirit of Linux for developers working in the AGL ecosystem.

But beyond infotainment, being entrenched in the cockpit is an intriguing position for AGL as those systems will form an in-vehicle command center during the transition to autonomous drive platforms. As such, AGL has begun the process of ISO 26262 functional safety certification with the Open Source Automation Development Lab (OSADL), which allows the architecture to extend into safety-critical, automotive safety integrity level-rated (ASIL-rated) control and telematics systems in the near future.

Realizing the opportunity to provide a baseline architecture for whole vehicle OSs, though, AGL has also expanded its scope through working groups that currently encompass virtualization and reference hardware for autonomous drive platforms. Today, the AGL Virtualization Expert Group (VEG) is addressing how the consolidation of IVI, cluster, and HUD applications onto single multicore processors can be applied in the future to advanced driver assistance (ADAS) and autonomous drive systems that will require strict isolation and containerization when running on shared processing platforms. In parallel to those efforts, the AGL Reference System Hardware Architecture Expert Group is working to define the sensors, protocols, and resolutions necessary for safety systems in autonomous vehicle platforms, and investigating how AGL can be applied in these contexts.

“The Reference Hardware System Architecture Expert Group led by OEMs such as Mazda, Toyota, and others, is coming out with a requirements document that lists sensors, cameras, lidar, how they are interconnected, what the processing power is going to be, and the required resolution,” says Cauchy. “This will drive the hardware and software to start building autonomous drive. The plan is to be able to have the capability to drive those sensors, collect data, and feed it to a shared, open database where deep learning can be done so that autonomous drive stakeholders can know what to expect 99.9 percent of the time.”

As Linux is already widely used in the data center and network infrastructure, the ability for automakers to implement a compatible OS architecture from the endpoint (vehicle) to business or machine learning systems in their backend clouds is a compelling argument for the continued expansion of Linux in embedded automotive (Figure 3).

[Figure 3 | The expansion of Automotive Grade Linux provides the possibility of "Linux Everywhere" in the automotive ecosystem, from in-vehicle operating systems (OSs) to cloud data center software supporting artificial intelligence and business systems.]

For those interested in learning more about AGL’s plans for autonomous drive platforms, an E-cast featuring presentations from Cauchy, SAE’s John Tintinalli, and PRQA’s Joe Wrijil will take place on 3/29 at 2:00 Eastern Daylight Time. Register for “Chauffeurs 2.0 – Standardizing the Autonomous Car.”


Brandon Lewis, Technology Editor
Previous Article
Make your device unattractive to hackers: Design in security early on
Make your device unattractive to hackers: Design in security early on

Stuxnet. Black Hat insulin pump hack. Jeeps driving off the side of the road. Mirai botnet malware. It used...

Next Article
Speeding embedded systems time to market using Node.js
Speeding embedded systems time to market using Node.js

Developing in a traditional embedded systems language such as C is hard, yielding long development times an...