- 1. Fundamentals
- 2. AUTOSAR Methodology
- 3. Functional Software in Practice
- 4. Basic Software and RTE
- 5. Tools, Migration and Testing
- 6. Outlook
Development of the Functional Software
At the beginning, the functional software of the vehicle is described as an overall system. The overall system is subdivided into sub-functionalities which are described as SWCs. These SWCs transmit information (Data Elements) to other SWCs using defined interfaces (Ports).
Conceptually, the entire communication between the SWCs is handled by the VFB. Since at this point during development it has not been established yet which software component is allocated to which ECU, this is simply a logical perspective. The VFB represents the communication within an ECU and between ECUs. The application does not have any knowledge of the underlying technologies. This makes it possible to develop and use the application software independently of the hardware.
After all SWCs and interfaces have been set up and defined, they are distributed to the relevant ECUs.
Then the ECU-specific Runtime Environment implements the Virtual Functional Bus. The RTE organizes communication between the individual software components and – with the help of the operating system – handles execution of the software components.
Runnable Entity is the execution unit, which is finally implemented as a C function. The function calls to the runnable entities are configured by the developer, and later implemented by the RTE. This might, for example be periodic or spontaneously in response to receiving a data element.
AUTOSAR provides ports as communication interfaces. A distinction is made between two methods here:
- In Sender-Receiver (SR) communication, data elements are transmitted from one software component to another. This type of communication is used most frequently between application software components.
Syntax example: Rte_Write_<Port_Name>_<Data_Element_Name(…)
- In Client-Server (CS) communication, the Client calls an operation of a Server asynchronously or synchronously. This is comparable to a function call and takes place most frequently between the application and services of the Basic Software (diagnostics, memory management, etc.).
Syntax example: Rte_Call_<Port_Name>_<Operations_Name(…)
The SWC with its interfaces and runnables is documented in a separately created SWC Description. However, AUTOSAR does not offer any capability of describing the functional behavior.