The increasing reliance on software
Software has been playing a prominent role in vehicle for many years now, as a large majority of the functions of a vehicle are mostly implemented in software, amounting to millions of lines of code interacting with a variety of sensors such as radars, lidars and cameras. Some of next generation’s Electronic Control Units (ECUs) will feature powerful System-on-Chips (SOCs), each integrating several multicore processors with specialized capabilities (e.g., lock-step execution for safety-critical code, low-power execution, etc). Larger ECUs commonly support hypervisors enabling Virtual Machines (VM) to run various OSes, such as real-time, infotainment or general-purpose OS. Besides VMs, software containers are gaining attention in the automotive industry as a tool to simplify software updates.
Software-defined runtime execution platforms
In this evolving landscape, a growing trend is the shift towards runtime execution platforms that increasingly rely on software, offering greater modularity and flexibility in configuration, or even reconfiguration after new functions are deployed. For example, software components running in virtual machines (VMs) can communicate via software-based (“virtual”) network interfaces connected to a virtual Ethernet switch, essentially replacing physical hardware. Over the past decade, there has been a notable shift in complexity from hardware to software. More generally, what has been observed over the last decade is that the complexity is migrating from the hardware (in the past, vehicles sometimes had 100+ ECUs, most running a few functions) to the software (today E/E architectures tend to rely on a lesser number of powerful ECUs, with complex internal software architectures). This shift marks the era of the Software-Defined Vehicle (SDV), which is driving the industry’s transition towards a more service-centric business model for all stakeholders.
Technologies for Software-Defined-Vehicles
Many of the technologies needed to bring Software-Defined Vehicles (SDV) to life are already available: service-oriented architecture (SOA), service-oriented communication protocols like SOME/IP and DDS, Autosar Classic and Adaptive OS, hypervisors, software containers, schedulers that ensure predictable execution of multi-threaded containers, virtual Ethernet switches, TCP/IP, Time-Sensitive Networking (TSN) standards, and Software Defined Networking (SDN), etc. These are the readily-available technologies that automotive OEMs and Tier 1 suppliers are likely to select, as it takes years to bring a technology to the level of maturity needed for production vehicles.
Challenges of Software-Designed-Vehicles
While SDV holds significant promise, it requires us to rethink existing design, development, and verification approaches:
- SDV may necessitate more software-centric design and development methodologies.
- Additional run-time mechanisms implemented in software layers may be needed to complement current standards and technologies.
- Configuration and Design-Space-Exploration (DSE) algorithms need to be extended to support SDV.
- Performance evaluation in the automotive domain is typically conducted with worst-case scheduling analysis (“schedulability analysis”) at the processor level or system level (considering “timing chains” over different processors and networks). Are existing techniques, such as system-level compositional analysis, able to cope with the complexity of next-generation execution platforms? If not, what techniques could be employed to verify that non-functional concerns like timing and safety are met? Can simulation, supported by a robust methodology, serve as the sole early-stage verification technique?