(This is Part 1 of the blog series “Challenge of Software Interoperability.”)

Modern vehicles are marvels of engineering, incorporating a multitude of complex software systems that control everything from basic engine functions to advanced driver assistance systems (ADAS). This diversity of software creates significant interoperability challenges, as each component often uses different protocols, standards, and data formats. 

For instance, a vehicle’s lane-keeping assistance system must communicate with its collision avoidance system, both of which might be developed by different manufacturers using different software architectures. The lack of a standardized communication framework can lead to several issues: 

  • Increased Development Costs: Developing custom solutions to enable communication between disparate systems can be time-consuming and expensive. 
  • Maintenance Challenges: Ongoing maintenance becomes more complex and costly when dealing with non-standardized systems, as updates to one component may necessitate extensive changes to others. 
  • Limited Functionality: Incompatible systems might not be able to share critical data effectively, resulting in limited overall functionality of the vehicle. 

Impact on Development, Maintenance, and Overall Functionality of Automated Driving Systems 

Interoperability issues can significantly delay development timelines. Engineers often spend considerable time ensuring that different software components can work together, which detracts from their ability to innovate and improve other aspects of the vehicle. These delays are not just costly in terms of lost opportunities but also financially, as extended development and software update cycles increase operational and maintenance expenses. 

Interoperability requires not just accurately exchanging data that between software components, but also ensuring the data exchange happens in a timely manner.  The lack of interoperability impacts the overall functionality and safety of automated driving systems. When systems cannot communicate effectively, it can result in suboptimal performance or, in the worst case, safety-critical failures. For example, if an obstacle detection system cannot relay data to the planning system in a timely  manner, the vehicle’s ability to respond to hazards is compromised. 

The Ideal Approach to Addressing Interoperability Challenges 

To succeed, the industry needs to foster an ecosystem of interoperable software components. Key requirements include: 

  • Independent Development: Allowing developers to create, update, and evolve components independently while maintaining interoperability through interoperable communication interfaces. 
  • System Integration: Enabling system integrators to assemble software components flexibly, and allow for differentiated and customizable software system architectures that can scale up the levels of automation from L2 to L5. 
  • Marketplace for Reusable Components: Opening access to a competitive marketplace of reusable software components that can be rapidly integrated, thereby reducing the cost and complexity of system development and maintenance. 

By adhering to these requirements, we will simplify and accelerate the development of software-defined vehicles, ultimately enhancing the functionality, safety, and efficiency of automated and assisted driving systems. 

In the next part of this blog series, we will delve deeper into the AVCC’s specific recommendations and how they pave the way for a more interoperable and efficient future for automated and assisted driving systems. Stay tuned! 


About the author:

Dr. Rajive Joshi, Chair of the AVCC Software Portability Working Group and Principal Solution Architect at Real-Time Innovations (RTI).