AUTOSAR

Introduction

AUTOSAR (AUTomotive Open System Architecture) is a standardized software architecture for automotive systems. It is developed through a partnership between automotive manufacturers (OEMs), suppliers, tool vendors, and software vendors worldwide.

The goal of AUTOSAR is to provide common standards for software architecture, application interfaces, and development methods for vehicle electronics. This helps different software components and systems work together in a consistent way.

AUTOSAR defines 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 a software component technology for developing application software for embedded control units.

The concepts are defined in the AUTOSAR meta-model and described in the Software Component Template. To find the Software Component Template, visit the [AUTOSAR website] and use the Documentation search on the home page.

In AUTOSAR (Classic), the application logic is implemented in software components. Software components communicate with each other through ports.

Ports are typed by interfaces, which define what is communicated between software components and how the communication takes place. Connectors explicitly connect compatible ports to establish communication between software components.

Software components can be grouped into compositions to organize the application logic.

Challenges of AUTOSAR (Classic)

AUTOSAR software component technology makes it more difficult to trace end-to-end signal flows across ECU software.

Before AUTOSAR (Classic), for example in the ASAM MDX standard, software components talked to each other using names.

Two functions A and B can communicate if function A writes a signal with the name msg and function B reads the same name. In C code, this was done with global variables (often called messages). This is an implicit way of communicating. The problem with global variables is that everyone must agree on who defines which variable. If they don’t, problems appear late, when the parts are put together (integration).

Finding the dependencies between components with this name-based method is quite easy: you only need to follow the read and write connections.

AUTOSAR (Classic) solved the problem of many teams working together. It introduced a software component technology. It has rules for compatible interfaces and a clear way to connect software components.

  • In AUTOSAR (Classic), a software component has ports. Each port has a type, called an interface.

  • Software components must be placed inside a composition. There, the ports must be connected clearly using connectors. The interfaces of connected ports must be compatible, which means they must follow certain rules.

So, to find a dependency between software components, or to follow a signal through many components, you must collect this information from the components and from the elements in their interfaces.

Checking all these details just to know if two software components are connected is hard. You must do more than compare the names of global variables. It is also easier to make mistakes, for example when a connector between two compatible ports is missing.

EHANDBOOK Solution

With AUTOSAR (Classic) support in EHANDBOOK, we solve these problems. We make it easy to see and understand the dependencies between software components.

  • With the AUTOSAR (Classic) add-on for EHANDBOOK Container-Build, you can read the needed information about software components, ports, interfaces, and connections from .arxml (AUTOSAR XML) files. This information is saved in EHANDBOOK Container files.

  • With the AUTOSAR (Classic) add-on for EHANDBOOK-NAVIGATOR, users can explore the dependencies between AUTOSAR (Classic) software components easily and without breaks.

autosar component overview example