Components and Ports

Software Components

In the automotive industry it’s common practice to use some form of component-based development approach.

A software component encapsulates a related set of functions and/or data. The component commmunicates with the outside world exclusively using ports. The ports are a part of the component and represents its interface. In AUTOSAR, this is called the Port Interface.

        flowchart LR
    subgraph Inputs ["Require Ports (Input)"]
        direction TB
        R1["Require Port 1"]
        R2["Require Port 2"]
    end

    SWC["<b>Software Component</b>"]

    subgraph Outputs ["Provide Ports (Output)"]
        direction TB
        P1["Provide Port 1"]
        P2["Provide Port 2"]
        P3["Provide Port 3"]
    end

    R1 --> SWC
    R2 --> SWC
    SWC --> P1
    SWC --> P2
    SWC --> P3

    

Types of Ports

In general, there are two types of ports:

  • Require Ports (input)

  • Provide Ports (output)

The two most common types of port interfaces are:

  • SenderReceiver Interface — Data-driven communication.

  • ClientServer Interface — Service-based communication.

Currently, APX only supports SenderReceiver type communication which fits well with AUTOSAR classic integration.