Middleware & DevOps (MWD)

What Is Middleware in Automotive?

What Is Middleware in Automotive?

Middleware is a type of software used in the automotive industry as a bridge between a compute platform’s operating system and the applications that run on it.

Middleware has existed in IT and other industries for many years, but the automotive industry has unique software development challenges that require special consideration. As vehicles evolve into increasingly complex software-defined devices, managing communication and interactions between hardware and software components becomes a complex juggling act.

Despite increasing efforts to centralize, it is not uncommon for today’s vehicles to have more than 100 electronic control units (ECUs). These small compute devices control specific functions, such as power steering, climate control and airbags. Middleware bridges the gap between such varied software and hardware platforms, making it easier to design, build, test, deploy and update applications.

Middleware is crucial in the transition to software-defined vehicles. Without it, over-the-air updates would be impractical and prohibitively expensive — requiring each of those 100-plus ECUs to be reprogrammed independently.


Middleware abstracts software from hardware

Middleware enables a service-based architecture, where software services are modular and reusable across different vehicle models or platforms. By abstracting the software and input/output (I/O), middleware allows applications to focus on high-level functions rather than low-level hardware specifics — separating the signal layer from the application layer.

Middleware operates in between the application layer and the operating system. That is what the “middle” in middleware refers to. Middleware uses that position to abstract applications from the hardware, meaning developers do not have to program applications with instructions for communicating with each of the various devices in a vehicle. Instead, developers create applications that communicate at a higher level with interfaces in the middleware, and the middleware handles the rest.

Think of middleware as similar to a USB adapter; the computer the adapter connects to is like the compute platform on a vehicle. The adapter adheres to certain standards to safely communicate with the computer and is indifferent to the devices that are connected to it. Thanks to the standardized ports, the user can use the adapter to interface with a variety of devices.

Middleware provides developers with the same freedom. It standardizes the interface between vehicle hardware and software applications and acts as a translator to ensure that applications can communicate effectively with various hardware systems without needing to be tailored to each specific component.

Applications communicate through middleware

Vehicle applications communicate using a variety of data formats and standards. While APIs govern the flow of data between software components, middleware manages communication across different systems, ensuring APIs can effectively interface with hardware through standardized protocols.

For example, an OEM may want to offer a climate control app through its infotainment system. When the user selects a desired temperature, the infotainment application informs the middleware about the user commands, and then the middleware translates those commands based on specific hardware and I/Os and sends the signals to the appropriate devices, such as the compressor, the fans and the flaps.

The infotainment system does not need to know the mechanics of climate control because the middleware acts as an intermediary. As a result, developers can focus on creating a positive user experience for consumers instead of focusing on integration.

Operating systems communicate through middleware

Automotive middleware is also essential to enable communication between a vehicle's operating system and its application software. It enables communication and data exchange between different components of a vehicle’s software architecture — between apps within the same operating system domain, between different operating system domains on the same ECU and between ECUs.

Aptiv’s central vehicle controller (CVC) can have multiple operating systems running at once, including Linux, AUTOSAR classic and a real-time operating system such as VxWorks. Middleware enables the applications running on all of these operating systems to communicate seamlessly.

Middleware improves testing and accelerates development and integration

Because middleware decouples software and hardware development, developers can begin testing software earlier. Simulation testing using software-in-the-loop can run on any standard desktop computer, allowing software developers to create new features at a faster pace. Shifting testing earlier also helps catch bugs faster, reduces costs and speeds up time to market.

Middleware can facilitate container orchestration, which enables developers to manage and update applications in a modular way without having to worry about systemwide dependencies. Similar to cloud environments, where containers are used to isolate applications and manage their deployment, in-vehicle containers allow software components to run in isolated environments.

With the help of an in-vehicle container orchestrator, applications can be deployed, updated and tested independently of each other, making the software development lifecycle far more agile. For instance, developers can create isolated test environments for new features, simulate their behavior in real time and deploy updates over the air without disrupting the entire vehicle system. This container-based approach ensures faster integration and testing because it isolates potential issues and reduces the complexity of testing different systems together.

In this model, middleware acts as the layer that manages communication between containers and the underlying hardware, ensuring that each application has access to the necessary resources, such as processing power, memory or specific hardware components like sensors and actuators.

Middleware is one piece of an end-to-end solution

Aptiv and Wind River bring together middleware, operating systems and hypervisors as an integrated solution to accelerate software development and improve software reuse, so OEMs can spend less time integrating and more time designing brand-differentiating features.

 

Middleware is a type of software used in the automotive industry as a bridge between a compute platform’s operating system and the applications that run on it.

Middleware has existed in IT and other industries for many years, but the automotive industry has unique software development challenges that require special consideration. As vehicles evolve into increasingly complex software-defined devices, managing communication and interactions between hardware and software components becomes a complex juggling act.

Despite increasing efforts to centralize, it is not uncommon for today’s vehicles to have more than 100 electronic control units (ECUs). These small compute devices control specific functions, such as power steering, climate control and airbags. Middleware bridges the gap between such varied software and hardware platforms, making it easier to design, build, test, deploy and update applications.

Middleware is crucial in the transition to software-defined vehicles. Without it, over-the-air updates would be impractical and prohibitively expensive — requiring each of those 100-plus ECUs to be reprogrammed independently.


Middleware abstracts software from hardware

Middleware enables a service-based architecture, where software services are modular and reusable across different vehicle models or platforms. By abstracting the software and input/output (I/O), middleware allows applications to focus on high-level functions rather than low-level hardware specifics — separating the signal layer from the application layer.

Middleware operates in between the application layer and the operating system. That is what the “middle” in middleware refers to. Middleware uses that position to abstract applications from the hardware, meaning developers do not have to program applications with instructions for communicating with each of the various devices in a vehicle. Instead, developers create applications that communicate at a higher level with interfaces in the middleware, and the middleware handles the rest.

Think of middleware as similar to a USB adapter; the computer the adapter connects to is like the compute platform on a vehicle. The adapter adheres to certain standards to safely communicate with the computer and is indifferent to the devices that are connected to it. Thanks to the standardized ports, the user can use the adapter to interface with a variety of devices.

Middleware provides developers with the same freedom. It standardizes the interface between vehicle hardware and software applications and acts as a translator to ensure that applications can communicate effectively with various hardware systems without needing to be tailored to each specific component.

Applications communicate through middleware

Vehicle applications communicate using a variety of data formats and standards. While APIs govern the flow of data between software components, middleware manages communication across different systems, ensuring APIs can effectively interface with hardware through standardized protocols.

For example, an OEM may want to offer a climate control app through its infotainment system. When the user selects a desired temperature, the infotainment application informs the middleware about the user commands, and then the middleware translates those commands based on specific hardware and I/Os and sends the signals to the appropriate devices, such as the compressor, the fans and the flaps.

The infotainment system does not need to know the mechanics of climate control because the middleware acts as an intermediary. As a result, developers can focus on creating a positive user experience for consumers instead of focusing on integration.

Operating systems communicate through middleware

Automotive middleware is also essential to enable communication between a vehicle's operating system and its application software. It enables communication and data exchange between different components of a vehicle’s software architecture — between apps within the same operating system domain, between different operating system domains on the same ECU and between ECUs.

Aptiv’s central vehicle controller (CVC) can have multiple operating systems running at once, including Linux, AUTOSAR classic and a real-time operating system such as VxWorks. Middleware enables the applications running on all of these operating systems to communicate seamlessly.

Middleware improves testing and accelerates development and integration

Because middleware decouples software and hardware development, developers can begin testing software earlier. Simulation testing using software-in-the-loop can run on any standard desktop computer, allowing software developers to create new features at a faster pace. Shifting testing earlier also helps catch bugs faster, reduces costs and speeds up time to market.

Middleware can facilitate container orchestration, which enables developers to manage and update applications in a modular way without having to worry about systemwide dependencies. Similar to cloud environments, where containers are used to isolate applications and manage their deployment, in-vehicle containers allow software components to run in isolated environments.

With the help of an in-vehicle container orchestrator, applications can be deployed, updated and tested independently of each other, making the software development lifecycle far more agile. For instance, developers can create isolated test environments for new features, simulate their behavior in real time and deploy updates over the air without disrupting the entire vehicle system. This container-based approach ensures faster integration and testing because it isolates potential issues and reduces the complexity of testing different systems together.

In this model, middleware acts as the layer that manages communication between containers and the underlying hardware, ensuring that each application has access to the necessary resources, such as processing power, memory or specific hardware components like sensors and actuators.

Middleware is one piece of an end-to-end solution

Aptiv and Wind River bring together middleware, operating systems and hypervisors as an integrated solution to accelerate software development and improve software reuse, so OEMs can spend less time integrating and more time designing brand-differentiating features.

 

How helpful was this article?
i

 

×

Please let us know how helpful this article was, so we can provide you with the best content possible. If you have more feedback to share, please feel free to contact us.
Thank you!

Careers


Shape the future of mobility. Join our team to help create vehicles that are safer, greener and more connected.

View Related Jobs

Subscribe