AUTOSAR

AUTOSAR (AUTomotive Open System Architecture) is a development partnership of major automotive industry OEMs and suppliers, as well as tool and software vendors worldwide. The goal of the partnership is to establish a global standard for common software architecture, application interfaces, and methodology of embedded software for vehicle electronics.

AUTOSAR distinguishes two major platforms: 1. Classic Platform for embedded, real-time applications 2. Adaptive Platform for computationally intensive applications

ETAS EHANDBOOK currently supports the AUTOSAR (Classic) platform.

AUTOSAR (Classic) Software Component Technology

AUTOSAR (Classic) defines its own software component technology for specifying the application software of embedded control units. The concepts are specified in the AUTOSAR meta-model and described in the Software Component Template (Check out this link and use the Documentation search on the link’s home page to find the Software Component Templates: Link).

In AUTOSAR (Classic), the application logic is defined in so-called software components. Software components communicate with each other over ports. Ports are typed through interfaces which specify what is communicated between the software components, and how. To establish communication between software components, ports are connected to each other through explicit connectors. To organize the application logic defined in the software components, these can be aggregated to compositions.

Challenges induced by AUTOSAR (Classic)

AUTOSAR application software component technology makes tracing of end-to-end signal flows across ECU software much more complicated to understand.

Why is that?

In previous concepts prior to the AUTOSAR (Classic) standard, e.g. the ASAM MDX standard, communication between the components of the application software was established through name-based communication:

Two functions A and B communicate with each other if function A writes a signal of the same name msg as function B reads. Through global variables (often referred to as messages) in the C-code implementation, an implicit communication was realized. One drawback of global variables is that the collaborating parties have to strictly agree on who defines which variable. This is necessary in order to avoid late problems at integration time.

Deducing dependencies between components of the application software purely based on implicit, name-based communication is rather straight forwards: you only have to follow the read/write dependencies.

With AUTOSAR (Classic), the problem of collaboration amongst multiple was resolved by introducing a software component technology with rules for interface compatibility and an explicit mechanism for establishing connections between software components.

  • In an AUTOSAR (Classic) based software architecture, software components specify a number of ports which are typed by different kinds of interfaces.

  • Software components need to be instantiated in the context of a composition. In this context, the ports have to be connected explicitly by so-called connectors. The interfaces of the connected ports must be compatible, i.e. fulfill certain rules of interface compatibility.

Consequently, in order to deduce a dependency between software components and for example follow a signal flow over multiple software components, it is necessary to infer this information from the software components, and the elements in the interfaces.

Analyzing all these details just to find out if and how two software components are connected is challenging as it requires more than checking equivalence of names of global variables. It can also be more tricky and thus error-prone, e.g., a when connector between two compatible ports is missing.

EHANDBOOK Solution

With the AUTOSAR (Classic) support in EHANDBOOK, we address these challenges and make the dependencies between software components as easy as possible to follow and understand.

  • With the AUTOSAR (Classic) add-on for EHANDBOOK Container-Build, it is possible to derive the necessary information for AUTOSAR software components, their ports, interfaces and connections from .arxml (AUTOSAR XML) files and store them in EHANDBOOK Container files.

  • With the AUTOSAR (Classic) add-on for EHANDBOOK-NAVIGATOR, users can explore the dependencies between software components which are based on AUTOSAR (Classic) completely seamlessly.

autosar component overview example