AUTOSAR- ASWC
Different Types of Software Components in AUTOSAR
Application software Component(ASWC) – is an Atomic Software Component that implements(part of) an application. It is the software component that can be used to design Algorithms, Logics etc. The application software component can be distributed among different ECUs i.e., for instance if there are 3 Application software Components that are required to build a particular ECU (Seat Heater Application ECU) then the Application software components can be distributed among different ECUs. AUTOSAR does not require Application Software Components to remain in the same ECU.
Atomic Software Component is smallest part of the Application Software Component. An atomic software component cannot be broken into smaller parts and distributed among ECUs.
Sensor Actuator Software Component (SASWC) -Component is an atomic SWC that handles the specifics of sensors or actuators. It directly interacts with the ecu-abstraction. Sensor Actuator Software Component is used to realise functions such as managing the actuator (managing the temperature of the coil in seat heater application or getting the Input from the passenger/Driver on setting the temperature of the seat). The software component should physically remain in the same ECU to whose IO the actuator or input sensor is connected.
A Composition Software Component encapsulates a collaboration of Software Components, thereby hiding detail and allowing the creation of higher abstraction levels. Through Delegation connectors a composition software component explicitly specifies, which ports of the internal components are visible from the outside. In our Seat Heater application, there could be 7 software components (3 ASWC and 4 SASWC) to build the ECU. 4 software components may remain in one ECU. These four software Components are connected together through Assembly Connectors and they can be brought inside a Composition. The composition is only created for connecting the Application Component Types and Instantiation.
The Complex Driver Software Component (CDD)is used when you want to do something which does not follow the AUTOSAR standard. For instance, You can access the IO directly using the CDD or if you want to work with a protocol that is not part of the AUTOSAR standard then you can use CDD. The CDD file is created similar to the ASWC component. The advantage is that the configurator knows it is a CDD Application SWC and it will generate the cdd.c file in the BSW. You can include the MCAL header file in the cdd file using # include and use the APIs to access the hardware.
The NV Block Software Component allows SWCs to access to non volatile data though the NVRAM. If the data in the NVRAM needs to be access only one ASWC then we can directly map the ASWC to the NVRAM. However if there are multiple ASWC that requires to access a particular NVRAM data then we create a NV Block Software Component in the application layer to work with the NVRAM memory. The ASWCs which require the NVRAM data will connect with the NV Block Software Component and access the variable/ data from this component.
The Service Proxy SW Component is responsible for distribution of modes throughout the system. Some of the Applications require the status of the modes of different ECUs to take decisions. The main use case for a ServiceProxySwComponentType is the distribution of the vehicle mode to different ECUs.. A ServiceProxySwComponentType is similar to an ApplicationSwComponentType, the difference being, however, that the same ServiceProxySwComponentType is instantiated during the system design into several ECUs. As a consequence, a connection between an Application Software Component and a Service Proxy Software Component that is shown as 1:1 connection in the VFB will be a 1:n connection in the system. This allows for the distribution of one request to several ECUs.
Service Software Component provides services specified by AUTOSAR through interfaces specified by AUTOSAR. This component may interact directly with modules from BSW. If many ASWCs want to access a particular service from the BSW. There are two ways the ASWCs can access the service. We can create service ports at each ASWC and connect the service ports to the BSW service or we can create a Service Software Component and access the service from the BSW and the ASWCs can access the service from the Service Software Component. Services could be a simple as finding out the status of the bus (NO COM/FULL COM) from the Communication Manager.
The ECU-Abstraction Software Component provides access to the ECU’s specific IO capabilities. These services are typically provided through client-server PPorts and are used by the sensor-actuator software components.
Parametric Software Component provides parameter values. They can be fixed data, constant or variable. It allows access to fixed data or calibration data. They don’t have an internal behaviour. They only have PPorts of ParameterInterface type. The Parametric Software Component needs to be on the same ECU as the SWCs accessing them since a parameter SWC represents the memory containing the calibration parameter.