メインコンテンツまでスキップ

AA Design Tutorial

What You Build​

This tutorial builds an Adaptive Application design that runs on one HPC, starting from a PAIO window with no project open and using only the PAIO screens. In the System editor of the project AADesign you place one HPC node Ecu, and the composition HPC is mapped onto it. The composition contains five Adaptive Applications: Sensor, Fusion, Actuator, CM and EM. Sensor provides the service interface Sensor as a SOME/IP service (service ID 11), and Fusion and Actuator consume that service. The five processes start when bound to states of the machine's function group MachineFG, and Sensor, Fusion and Actuator start after the CM process reaches Running. Each process logs as a DLT application. In the last chapter you export this design to five ARXML files without a single validation error.

The target of the design is the reference design EM_Arxml. There are three places where this tutorial departs from the reference design on purpose. First, the EM process of the reference design is not bound to any function group state, but PAIO validation rejects that shape, so this tutorial binds EM to MachineFG : Startup. Second, in the reference design only CM and EM use RootSwComponent as the ROOT SWC PROTOTYPE, while this tutorial keeps the default AA for all five. Third, the machine gets a State Management module SM (MAX-ACTION-LIST-DURATION 1000) to clear constr_10641; the reference design has no such module. The full list is in the Appendix.

ElementNameContent
MachineEcuHPC node in the System editor. OS POSIX, processor CPU, cores Core0 to Core3, function group MachineFG, DLT ECU ID ECU1
CompositionHPCMapped onto the node Ecu. Holds the five Adaptive Applications and two assembly connectors
Networketh0Ethernet connector. Unicast 127.0.0.1, SD multicast 224.0.0.1:30490, UDP ports 20001, 20002, 20003
Service interfaceSensorEvent SensorData (ByteArray), method Calculation (five float32 arguments)
SOME/IP serviceSensorService ID 11, provider Provider_Sensor, consumers Actuator_Sensor, Fusion_Sensor
Adaptive ApplicationRolePortDLT application ID
SensorProvides the service SensorP port SensorSENS
FusionConsumes the service SensorR port SensorFUSN
ActuatorConsumes the service SensorR port SensorACTA
CMCommunication management. The other three processes wait for this process to reach RunningNoneCM
EMExecution managementNoneEM

What You Need​

  • PAIO must be installed and able to run.
  • You start from a PAIO window with no project open. You do not need another tutorial or an example project.
  • The screenshots in this tutorial were captured on a 1920×1080 screen. The dialogs are wide, so a screen of that size or larger is recommended.
  • The ARXML is exported and checked against the AUTOSAR schema R25-11.
  • A rough idea of Adaptive Applications, service interfaces and SOME/IP on the AUTOSAR Adaptive Platform is enough. Each chapter shows step by step what to enter on which PAIO screen.

Chapters​

Each chapter starts from the result of the previous one, so follow them in order.

ChapterTitleEditor usedWhat you end up with
1Creating the Project and the HPC MachineSystem editor, VFB, Machine ConfigurationThe project AADesign, the node Ecu, the composition HPC [Ecu] and the machine saved with its defaults. One validation error constr_10641
2Configuring the MachineMachine ConfigurationOS POSIX, four cores, ECU ID ECU1, MAX ACTION LIST DURATION 1000. No validation issues.
3Topology — the Ethernet Connector and EndpointsSystem editor, Communication Cluster ConfigurationThe controller, the connector eth0, the cluster EthernetCluster with NM off, the endpoints and three UDP ports
4Data TypesDataTypeByteArray, String
5The Service InterfaceInterfaceThe service interface Sensor
6SOME/IP Deployment and Service InstancesInterfaceThe deployment Sensor (service ID 11) and the instances Provider_Sensor, Actuator_Sensor, Fusion_Sensor
7Binding Service Instances to the ConnectorSystem editorThree instances bound to the connector eth0 with their UDP ports
8Adaptive Applications and PortsVFBFive Adaptive Applications, three ports, two assembly connectors
9Executables and ProcessesAA Internal Behavior, Machine ConfigurationFive Executables, five Processes, startup timeouts, function group states, execution dependencies
10Service Instance MappingAA Internal BehaviorThree mappings between ports and service instances
11Logging and DLTAA Internal Behavior, Machine ConfigurationFive DLT applications, three DLT contexts
12ValidationVALIDATION panel, AA Internal Behavior, VFBThree planted defects fixed, back to No validation issues.
13Exporting the ARXMLEDITOR view, XML editorFive ARXML files in the export folder and how they differ from the reference design
14Appendix—A checklist of the finished design, all value tables, the file layout, the differences from the reference design, common problems

How to Read This Tutorial​

  • Every chapter follows the same order. "What You Will Do" states the goal, and "Before You Begin" shows the starting state and the values you enter in that chapter as a table. Numbered steps with a screenshot per step follow.
  • Repetitive work is shown as a procedure for one representative item only. For example, of the five Adaptive Applications you follow Sensor from start to finish, and the rest are given as a value table. You enter the table items yourself in the same way.
  • Every chapter ends with a "Checklist". It lists what the screen must show. When every item matches, move on to the next chapter.
  • "Why Is It Designed This Way?" briefly explains why the values are what they are, compared with the reference design.
  • UI labels are written in bold exactly as the screen shows them, and model element names and values in code.

Your Export Differs from the Reference Design​

The ARXML you build with this tutorial has the same design content as the reference design files EM_Test_*.arxml, but the files are not byte-for-byte identical. Every difference has a known reason: defects left in the reference design files, the naming rules of the PAIO exporter, elements PAIO adds on its own, values this tutorial changes on purpose (such as binding EM to Startup), and values that have no field on the PAIO screens. See Exporting the ARXML for the full list with reasons, and the Appendix for a summary.

Next Step​

Start with Creating the Project and the HPC Machine.