With Adaptive AUTOSAR, modern service-oriented software-architectures are now also available in the vehicle.
Service-oriented architectures (SOA) are designed to enable and facilitate the structuring and use of distributed functions in the vehicle. Instead of the previous static linking of functions in an application (APPs), in future many functions of the APPs will only be linked with each other when they are started. These service-oriented architecture are nothing new in the IT world, but how do they work in embedded systems in vehicles?
Basic communication between APPs
After powering the vehicle, the connected ECUs boot and the applications that start up provide their services to the clients for use. These services have a version number to ensure compatibility between different versions. With "Find Service" clients are able to search for a service if the current state is unknown. As a result, the communication partners can find each other in a network at runtime without the need for a static configuration at link time. Other applications which offer new services or use existing ones, can also be easily supplemented after the production of the vehicle. Ultimately, the possibilities offered by APPs in vehicles is similar to that of smartphones for example.
The services can be used in three ways:
"Fire and Forget" - in this case the client sends data to the server but does not wait for the response/result. This can, for example, be a new manipulated variable for a temperature controller.
"Request and Response" – here the client sends data to the server and then receives the result back in the response. An example would be the stepwise incrementing of a setpoint and the retransmission of the resulting new setpoint.
"Event" - here the server automatically sends information to a client that has registered before. An example would be the cyclic transmission of the current temperature to a display.
If a server terminates, even during operation, it notifies the client by sending the broadcast "Stop Offer Service". The clients can then react accordingly.
The goals of service-oriented software architectures correspond to those of the IT-Sector:
- The long-term reduction of costs in the development of vehicle applications
- The greater flexibility of vehicle applications by reusing existing services in different ECUs and different vehicles. This is necessary in order to integrate the more complex software, which is developed for autonomous driving, into the vehicles and to maintain it later.