Figure: AUTOSAR Application Software Component Design.
Lets assume that we are working towards building the Seat Heater ECU. From The figure we can find that the Seat Heater ECU has seven Software Components. There are three Application Software Component Types (SHC Front Left, Power Management and SHC Front Right) and for SensorACtuator Software Component Types (SHDialFrontRight,SHDialFrontLEft,SHFrontRight and SHFrontLEft).
When you start designing the Software components. You will create only two Application Component Types one for SeatHeatingControl and one other for Power Management and two SensorACtuator Software Component Types- Heating Dial and Seat Heating. The reason we create only two ASWC instead of three is that the SeatHeatingControl ASWC can be instantiated once it is moved into the composition. Instantiation means you create two software instances of the same software component type (Multiple Instantiation). The reason why we do this is because software design is not a liner process in AUTOSAR. You will create the ASWC and then you will map it to the communication ports and then you will map it to different service ports. Every time you will have to create new ports in the ASWC. If you create one port in the Component type it will get reflected in all the instances in the Composition. Another reason is that the instances will be exact copies of the component types making it error free. SHCFrontRight and SHCFrontLeft are instances of the SeatHeatingControl Component Type. These instances SHCFrontRight and SHCFrontLeft which are instantiated inside the composition are called Component Prototypes. Similarly SHDialFrontRight and SHDialFrontLeft Heating Dial Sensor Actuator Software Component Type.
Once we have designed all the Component Types the next step is to move all these Component Types into the Composition and instantiate the components that are required to be instantiated. The Component Types when moved into the Composition are called Component Prototype.The next step will be to connect the Component Prototypes using Assembly Connectors.
Once the instances are created in the Composition and they are connected, The next step is to move the composition into ECU composition. Only if the composition is moved to the ECU composition design the software components can communicate with other software components outside the composition. The other components can reside in the same ECU or it may reside in other ECUs. Further, the software components can also communicate with the BSW components only if it moved into the ECU composition. If the Component Prototypes are not moved into the ECU composition they cannot interact with the BSW also. The Component Prototypes will connect with the communication stack in the BSW through Delegation ports.