From automotive wiki
Each port on a Software Component has to have a port-interface assigned. An interface is attached to a port and describes the data or operations that are provided or required by a software component via that port.
A Port Interface characterizes the information provided or required by a port of a Software Component. A Port Interface is either a Client-Server Interface in case Client-Server communication is chosen or a Sender-Receiver Interface in case Sender-Receiver communication is used. Further more it can also be a Parameter Interface, Non Volatile Data Interface, Trigger Interface or Mode Switch Interface. It defines the contract that must be fulfilled by the port providing or requiring that interface.
A sender-receiver (S/R) interface is a special kind of port-interface used for the case of sender-receiver communication. The sender-receiver interface defines the data-elements which are sent by a sending component (which has a p-port providing the sender-receiver interface) or received by a receiving component (which has an r-port requiring the sender-receiver interface).
Sender-Receiver interfaces are used for data exchange between software components. The interface specifies which data is transferred from the sender to the receiver. It is composed of variable data prototypes and specifies the transferred data. The variable data prototypes are of a type which describes the possible values of a variable on physical and internal level. The internal values of the Data Type can be converted to physical values via a compu method. The range of the values can be restricted with data constr elements.
The client-server interface is a special kind of port-interface used for the case of Client-Server Communication. The client-server interface defines the operations that are provided (implemented) by the server and that can be used by the client. Client-server interfaces allow a client to call an operation at a server, which in turn provides the result to the client. The argument data prototypes of the operation of an interface can be the client input to the server (IN) or the server result (OUT) or both (INOUT).
Types of interfaces within Basic Software
TODO: add picture from AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf
- page 59 "Components and interfaces view (simplified)".
- page 60 "General Interfacing Rules"
There are three different interfaces defined in:
An AUTOSAR Interface defines the information exchanged between software components and/or BSW Modules. This description is independent of a specific programming language, ECU or network technology. AUTOSAR Interfaces are used in defining the ports of software-components and/or BSW modules. Through these ports software-components and/or BSW modules can communicate with each other (send or receive information or invoke services). AUTOSAR makes it possible to implement this communication between SW-C and/or BSW modules either locally or via a network.
Standardized AUTOSAR Interface
A Standardized AUTOSAR Interface is an AUTOSAR Interface whose syntax and semantics are standardized in AUTOSAR. The Standardized AUTOSAR Interfaces are typically used to define AUTOSAR Services, which are standardized services provided by the AUTOSAR Basic Software to the application Software Components.
A Standardized Interface is an API which is standardized within AUTOSAR without using the AUTOSAR Interface technique. These "Standardized Interfaces" are typically defined for a specific programming language (like "C"). Because of this, "standardized interfaces" are typically used between Software Modules which are always on the same ECU. When software modules communicate through a "standardized interface", it is NOT possible any more to route the communication between the software-modules through a network.