What does ‘software-defined’ really mean?
Let’s talk about ‘software-defined vehicles.’ The definitions we see across media typically look something like this,
“Software-defined vehicle […] describes a vehicle whose features and functions are primarily enabled through software.” (Automotive World)
By this definition, a vehicle is software-defined when the majority of its value creation is realized through software.
I disagree with this definition, and here’s why. According to this logic, the later Nokia and Blackberry phones were already software defined. Contacts, calendar, and browser were already on board and were key differentiating features. Yet, I would not describe these phones as software defined. They were software-enabled at best.
Often, over-the-air (OTA) update capabilities are referred to as an integral part of a software-defined vehicle. Yet, simply having OTA capabilities does not indicate software-defined either. Many home appliances are now connected and receive software updates. In fact, my washing machine just recently notified me of an update, and I still do not know what that update changed. Is my washing machine software defined? Certainly not. Also, both my fridge and even my toothbrush have connectivity functions. I have yet to even bother enabling them.
The true nature of ‘software-defined’ means you can change the key functions or nature of a device by changing its software, whereby re-defining the value of the device altogether. That said, I believe reaching the “iPhone moment” is synonymous with being software defined.
Reaching the iPhone moment
What does, “reaching the iPhone moment,” really mean? The key differentiator for the iPhone was decoupling of lifecycles. By this, I mean the functions (or apps) were no longer bound to a specific version of an operating system, or middleware, or hardware. Additionally, functions are no longer bundled together with all other functions running on the same device. You can update single functions, install the same version of a function on different generations of devices. You get the picture.
The key rests in decoupling lifecycles between functions, between functions and the software platform, and between the software platform and the hardware. Decoupling of lifecycles is the key enabler for building an ecosystem of functions surrounding a software platform.
Vehicles reaching the “iPhone moment” is significantly more complex than with the smartphone. Modern vehicles have several tens of electronic control units (ECUs) interconnected via a variety of network technologies. Functions may span multiple such ECUs such as non-functional requirements like safety and real-time computing. As one can imagine, this creates enormous technical complexities.
This complexity is both inherent, referring to the unavoidable complexity of the function itself, and accidental, seen through heterogeneity of used technologies, concepts, or tools across the overall system. The non-functional properties create interference channels between functions, this makes integration and testing a major challenge.
For a vehicle to be truly software-defined, i.e., to decouple lifecycles of functions and hardware, this complexity must be managed. This is where Automotive OS will really make a difference.
The role of an Automotive OS
I have defined the Automotive OS as follows,
“An Automotive OS abstracts the complex network of ECUs of a vehicle as one device.
It manages, supervises, and updates this one device.
It enables an ecosystem by harmonizing the APIs against which functions are developed.”
Applying this definition, an Automotive OS exists as the mediation layer between functions and hardware. It abstracts the complexity of the underlying hardware architecture toward function development. Thus, reducing accidental complexity in the system through harmonization. It also performs vehicle-wide coordination of functions and provides a uniform path toward developing software for this device.
An Automotive OS is the iOS of a vehicle.
With this, an Automotive OS acts as the key enabler for any software-defined vehicle. Without it, a software-enabled vehicle with over-the-air update capabilities is just like my washing machine, a connected device that occasionally gets software updates.
Subscribe today – the disruption is just beginning!
The Automotive OS will fundamentally change the way we develop software within the automotive domain. Ready for more? Sign up for my weekly newsletter where I discuss trends, market perspectives, and technology centered around Automotive OS. It’s time to be part of the discussion and make your voice heard.