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

System Editor and Validation

What You Will Do​

In this chapter you review the design you have built so far on two screens.

  • SYSTEM panels: see the composition-to-ECU mappings in the System editor and the composition hierarchy of the whole vehicle in the VFB editor at a glance.
  • VALIDATION panel: see the result of PAIO checking the model against AUTOSAR constraints (constr_*) and against PAIO's own rules. Click an error row to jump to the offending element, then correct the value until there are zero errors.

When you finish this chapter you will know how to open and read the validation panel, and how to find the place to fix from an error row. The finished example is in the "No validation issues." state (zero errors), and that is also the target for the project you build by following along.

Before You Begin​

Viewing the SYSTEM Panels​

  1. In the EDITOR view on the left, click System under DESIGN. The System editor opens in the tab PNC:System. Then click the System button (the PAIO logo), the third of the three buttons on the right edge of the canvas. The properties panel opens with the title SYSTEM and shows NAME, VERSION, DESCRIPTION, and ECU MAPPING.

    SYSTEM panel of the System editor in the finished example

    Figure 11-1. The System editor of the finished example with its SYSTEM panel open. The upper part of the panel holds NAME PncVehicle, VERSION 1.0.0, and DESCRIPTION Zonal PNC tutorial vehicle. ① System under DESIGN in the EDITOR view. ② The System button. ③ ECU MAPPING, with one row for each ECU and HPC node, 14 rows in all.

  2. Check the ECU MAPPING list. Each row is one ECU or HPC node on the canvas: the badge in front of the node name is the kind of node, and the composition mapped to that node is at the right end of the row. There are 14 rows in all.

    ECU MAPPING list

    Figure 11-3. ECU MAPPING. The 13 rows with the ECU badge, from WestZone to MirrorAct_FR, come first, and the last row is HPC with the HPC badge: 14 rows in all. Each node is mapped to the composition of the same name.

  3. In the EDITOR view, click VFB under DESIGN. The VFB editor opens in the tab PNC:VFB. Click the System button on the right edge of this canvas as well. The properties panel shows NAME, VERSION, DESCRIPTION, ROOT COMPOSITION (PncVehicle), and the COMPOSITIONS tree.

    SYSTEM panel of the VFB editor

    Figure 11-17. The VFB editor with its SYSTEM panel open, shown after the compositions are collapsed in step 4. ① VFB under DESIGN. ② The System button. ③ COMPOSITIONS.

  4. In COMPOSITIONS, every row starts expanded, down to the SWCs inside each composition. Click the arrow to the left of each of the 14 compositions under the root PncVehicle to collapse it. All 14 compositions then fit on one screen.

    COMPOSITIONS with every composition collapsed

    Figure 11-2. The SYSTEM panel of the VFB editor with every composition collapsed. ① ROOT COMPOSITION PncVehicle. ② COMPOSITIONS: the root PncVehicle with the 14 compositions under it, from HPC and WestZone to MirrorAct_FR. A row shows an expand arrow, an icon for the kind of element, and the name (plus the type name when it differs). The tree has no column for the mapped node; you read the mapping in ECU MAPPING of the System editor (Figure 11-3).

Note. PARA is the PARA platform composition contained inside the HPC composition; expand HPC in COMPOSITIONS to see it. Because HPC is already mapped to the HPC node, you do not map PARA separately, so PARA does not appear in ECU MAPPING.

Note. Expanding or collapsing a composition row is only a view state. It does not add the unsaved-change marker (●) to the tab.

Note. Clicking a row in ECU MAPPING or COMPOSITIONS switches the properties panel to that node or composition (title ECU or COMPOSITION, for example). To return to the SYSTEM panel, click the System button again.

Opening the Validation Panel​

Validation has no run button. PAIO checks the whole project as soon as the window opens it, and re-checks the model automatically whenever you edit or save it.

  1. Check the title bar at the top of the window. It reads PAIO [PNC], which means this window has the project PNC open. The whole project is checked without opening an editor.

  2. At the far left of the status bar at the bottom of the window sits a row of toggle buttons. The one whose tooltip reads Toggle Validation on hover is the validation icon (the V shape). When there are errors, a red number badge appears on the icon and the tooltip changes to the count per severity, such as Validation: 4 error(s), 0 warning(s), 0 info(s).

    If you followed the previous chapters as written, you do not have the SOME/IP port errors this section covers. The figure below shows the draft state in which the consumer ports collided.

    Badge on the status bar validation icon

    Figure 11-4. The window right after it opens the project in the draft state with colliding SOME/IP ports. ① The title bar PAIO [PNC]. ② The validation icon in the status bar carries the red badge 4, although nothing has been clicked yet.

  3. Click the validation icon. The VALIDATION panel opens below the editor area. Clicking the same icon again, or the × button at the top right of the panel, closes it.

Reading the Validation Panel​

The VALIDATION panel is a table in which each row is one violation. The red badge next to the panel title is the error count.

ColumnContents
ELEMENT TYPEThe kind of element that violates the rule. For example SomeipServiceInstanceToMachineMapping, PhysicalChannel, PncMapping
NAMEThe element name. For example VehicleState_Consumer, Backbone/VLAN_Body
DESCRIPTIONAn English sentence describing what is wrong
CONSTRThe number of the violated AUTOSAR constraint, such as constr_5093. It is empty for a PAIO rule that has no AUTOSAR number
  • Severity: a colored bar at the far left of the row. Red is error, orange is warning, and blue is info. Every row in this chapter is an error.
  • Column width: a long DESCRIPTION sentence is truncated with …. You can widen the column by dragging the border in the column header. The widened width is not stored in the model, and it returns to the default when you restart the app. In the figures below, the DESCRIPTION column is widened.
  • Click to navigate: hovering a row shows the tooltip Go to the element to fix. Clicking the row opens the editor that holds the element and marks the element in red.

VALIDATION panel showing four errors

Figure 11-5. The VALIDATION panel showing four errors. The badge next to the title is 4. All four rows have ELEMENT TYPE SomeipServiceInstanceToMachineMapping and an empty CONSTR, which marks them as a PAIO rule. The description means that one address and port must be mapped to only one service instance. ① The VehicleState_Consumer row you click in the next section.

Finding and Fixing an Error: Duplicate SOME/IP Ports​

This section walks through fixing a draft state in which two consumer instances used the same UDP port as the provider on the same connector. If you set the consumer ports to 30503 in Interfaces and SOME/IP Services, these errors do not appear. In that case, read along with the figures and apply the same sequence (click the row → find where to fix → correct the value → re-validate) to other errors.

Connector (IP address)Instance (role)Draft UDP portAfter the fix
HPC_Eth_Rear_Conn (192.168.200.1)VehicleState_Provider (P)3050130501 (unchanged)
HPC_Eth_Rear_Conn (192.168.200.1)ParkDistance_Consumer (C)3050130503
SouthZone_Eth_Conn (192.168.200.12)ParkDistance_Provider (P)3050230502 (unchanged)
SouthZone_Eth_Conn (192.168.200.12)VehicleState_Consumer (C)3050230503

Finding the Element from an Error Row​

  1. In the VALIDATION panel, click the VehicleState_Consumer row.

    The PNC:Interface tab opens and SVC_VehicleState is selected on the SERVICE tab. On the SERVICE INSTANCE tab on the right, the VehicleState_Consumer card expands with a red border.

    Interface editor opened by clicking the row

    Figure 11-6. The result of clicking the row. ① The selected service interface SVC_VehicleState. ② The SOME/IP C VehicleState_Consumer card marked with a red border (NAME, REQUIRED INSTANCE ID 1). The panel below still holds all four errors.

Note. This card has no UDP port field. The address and port an instance is deployed on are set under SERVICE INSTANCES of the connector in the System editor. Because the place the error row points to differs from the place you correct the value, the next step moves to the System editor.

Fixing the SouthZone_Eth_Conn Port​

  1. In the EDITOR view on the left, click System under DESIGN to open the System editor (tab PNC:System).

  2. On the canvas, click the Ethernet connector above the SouthZone node. Confirm that the properties panel on the right is titled ETHERNET CONNECTOR and that NAME is SouthZone_Eth_Conn.

  3. If SERVICE INSTANCES is collapsed, click it to expand it. Then click the VehicleState_Consumer line to expand it. The IP ADDRESS 192.168.200.12, TCP PORT, and UDP PORT 30502 fields appear, followed by the empty TLS (TCP) and TLS (UDP) rows.

    Service instance bindings of SouthZone_Eth_Conn

    Figure 11-7. ① The selected connector SouthZone_Eth_Conn. CONNECTED CHANNEL is Backbone / VLAN_Rear (VLAN: 200), and APPLICATION ENDPOINTS holds a single entry, SouthZone_Eth_Conn, 192.168.200.12:30502. ② SERVICE INSTANCES. Both P ParkDistance_Provider and C VehicleState_Consumer are on UDP:30502. ③ The UDP PORT 30502 of the expanded VehicleState_Consumer.

  4. Type 30503 in the UDP PORT field and press Tab.

    Note. The ▾ list to the right of UDP PORT offers only the Application Endpoint ports of this connector. If 30503 is not in the list, type it directly. When you enter a new port, the Application Endpoint for that port (SouthZone_Eth_Conn, 192.168.200.12:30503) is added automatically.

    The model is re-checked immediately, without saving. The card collapses and the summary changes to UDP:30503. The two port errors on the SouthZone side disappear.

    Changing the port also makes PAIO derive the signals and PDUs of the SOME/IP services (CP-SOA derivation). The derivation writes the SVC_… signals and PDUs to design/SIGNAL.io.model at once and adds the SVC_…_SR and SVC_…_CS interfaces to the open Interface editor, so the PNC:Interface tab gets the ● marker as well. The derived elements raise no validation error, so you do not need to undo the derivation.

  5. Click the VehicleState_Consumer line again to expand the card, and confirm that UDP PORT is 30503. Also confirm that the VALIDATION badge is 2. The two remaining findings are on the HPC_Eth_Rear_Conn side (192.168.200.1:30501).

    Two errors left after the SouthZone fix

    Figure 11-10. SouthZone_Eth_Conn right after the change, with the VehicleState_Consumer card expanded again. ① UDP PORT 30503. ② The whole VALIDATION panel, outlined in orange. The badge next to the title is 2. VehicleState_Provider and ParkDistance_Consumer still share 192.168.200.1:30501. ③ ...:30502 and ...:30503 under APPLICATION ENDPOINTS. Both tabs carry ● (unsaved changes).

  6. Press Ctrl+S. It saves the active tab, PNC:System, and the ● marker stays on PNC:Interface. Choose PROJECT › Save All to save that tab as well. The ● marker disappears from both tabs.

Fixing the HPC_Eth_Rear_Conn Port​

Fix the two remaining findings the same way.

  1. In the VALIDATION panel, click the ParkDistance_Consumer row. On the PNC:Interface tab, the ParkDistance_Consumer card is marked with a red border.

    VALIDATION panel with two errors left

    Figure 11-11. The panel after the first fix is saved. The badge is 2. ① The ParkDistance_Consumer row to click.

  2. Return to the PNC:System tab and click the right-hand one of the two connectors on the lower edge of the HPC node. HPC has two Ethernet connectors (HPC_Eth_Body_Conn and HPC_Eth_Rear_Conn), so confirm that NAME is HPC_Eth_Rear_Conn and CONNECTED CHANNEL is Backbone / VLAN_Rear (VLAN: 200).

  3. Under SERVICE INSTANCES, click the ParkDistance_Consumer line to expand it. IP ADDRESS is 192.168.200.1 and UDP PORT is 30501. Type 30503 in UDP PORT and press Tab.

  4. This time the card stays expanded, and UDP PORT reads 30503. Its summary line, however, still reads UDP:30501; it shows the new port once you select the connector again.

  5. Confirm that the panel shows "No validation issues.".

    Zero findings after the HPC_Eth_Rear_Conn fix

    Figure 11-12. ① The selected connector HPC_Eth_Rear_Conn. APPLICATION ENDPOINTS holds ...:30501 and ...:30503. Under SERVICE INSTANCES, P VehicleState_Provider is on UDP:30501, and the summary line of C ParkDistance_Consumer still reads UDP:30501. ② UDP PORT 30503. ③ "No validation issues.". The PNC:System tab still carries ● because the change is not saved yet.

  6. Press Ctrl+S to save. This time only PNC:System carries the ● marker, so Ctrl+S is enough.

Re-validating the Saved Result​

  1. You do not need to click anything: saving re-checks the project by itself.

  2. Confirm that the panel shows "No validation issues." and that neither the panel title nor the status bar validation icon carries a badge.

    Re-validation result after saving

    Figure 11-13. The screen after saving. ① "No validation issues.". ② The status bar validation icon without a badge. The summary line of ParkDistance_Consumer in the properties panel reads UDP:30501 until you select the connector again.

    Close-up of the panel with zero findings

    Figure 11-14. The VALIDATION panel with zero errors. There is no badge next to the title, and the table holds the single line "No validation issues.".

Checking Live Validation: PNC GATEWAY TYPE​

Validation reacts to unsaved edits as well. Deliberately change one gateway setting in the finished example, then revert it and watch the errors disappear. You do not save in this section.

  1. Open the PNC:System tab (if the tab is closed, click System under DESIGN in the EDITOR view). Click the Ethernet connector above the EastZone node and confirm that NAME is EastZone_Eth_Conn and CONNECTED CHANNEL is Backbone / VLAN_Body (VLAN: 100).

  2. If PARTIAL NETWORK in the properties panel is collapsed, click it to expand it. PNC GATEWAY TYPE is set to PASSIVE.

  3. Click ACTIVE. Two errors appear in the VALIDATION panel without saving.

    Result of switching EastZone_Eth_Conn to ACTIVE

    Figure 11-15. NETWORK ENDPOINT / APPLICATION ENDPOINTS / SERVICE INSTANCES / SOCKET CONNECTIONS in the properties panel are collapsed. ① ACTIVE selected among NONE / ACTIVE / PASSIVE of PNC GATEWAY TYPE. ② The PhysicalChannel Backbone/VLAN_Body row, constr_5093: the VLAN_Body channel has two active connectors (WestZone_Eth_Conn and EastZone_Eth_Conn) where at most one is allowed. ③ The PncMapping PNC_Comfort row, constr_3714: the top-level PNC coordinators WestZone and EastZone of PNC_Comfort are connected to each other over an active connector path. The tab now carries the ● marker.

  4. Click PASSIVE again. Both rows disappear at once and the panel returns to "No validation issues.". The ● marker, however, stays on the tab, even though the setting is back to its saved value.

    Result of reverting to PASSIVE

    Figure 11-16. ① PNC GATEWAY TYPE back on PASSIVE. ② "No validation issues.". The ● marker next to the tab name is still there.

  5. You do not save in this section, so close the tab without saving: hover over the PNC:System tab and click the × (tooltip Close) that appears. When the Unsaved Changes window appears, click Don't Save.

Note. A single cause can violate several constraints at once. Switching only EastZone_Eth_Conn to ACTIVE reports both the channel rule (constr_5093) and the coordinator rule (constr_3714). Fixing the one cause clears both.

The finished example satisfies every constraint below. This table lists what the validation panel reported while the example was first built, together with the correction applied. If you followed the previous chapters as written, these do not appear now. Should you see one of them, review the chapter it belongs to.

ConstraintWhat the validation panel reportedCorrectionRelated chapter
constr_3040PNC identifiers 8/9/10 lie outside the PNC vector bit range (16..63)Changed the identifiers to 17/18/19PNC Definitions and Connector PNC Properties
constr_3686The filter mask is 3 bytes, which differs from PNC VECTOR LENGTH 6Recalculated it to 6 bytesReviewing PDU GROUPS, MATRIX, and NM VECTOR
constr_5093The backbone channel has three active gateway connectorsSplit the backbone into VLAN_Body and VLAN_Rear, with one active connector per VLANTopology Design
constr_3714 / constr_3781Top-level coordinators are connected over an active path / no coordinator existsWestZone and SouthZone are active on both sides (top-level), and EastZone is passive on the backbone sidePNC Definitions and Connector PNC Properties
constr_3514One I-signal (such as LockCmd) is mapped to two PDUsSplit the left and right signals into _FL and _FRSignals, PDUs, Frames, and I-PDU Groups
constr_9157–9159, constr_9162Mandatory properties of the CanNm cluster are missingFilled in the four properties nmBusloadReductionActive, nmImmediateNmTransmissions, nmMessageTimeoutTime, and nmRemoteSleepIndicationTime on the CAN NM CLUSTER tab of the communication cluster dialogNM Configuration
constr_5222Mandatory properties of the UdpNm cluster are missingFilled in nmMessageTimeoutTime and nmRemoteSleepIndicationTime on the UDP NM CLUSTER tab of the communication cluster dialog. The remaining mandatory values (nmMsgCycleTime, nmRepeatMessageTime, nmWaitBusSleepTime, nmNetworkTimeout) are filled with defaults when the NM cluster is created. NmCluster_VLAN_Rear cannot be opened from the screen, so it cannot be filled this wayNM Configuration
constr_9165 / 9166Mandatory flags of the NM cluster coupling are missingCouplings can be neither created nor corrected from the screen in the current version; their values arrive together with the ARXML on importNM Configuration
(PAIO NM rule)The NetworkHandle has no INACTIVE-to-FunctionGroup state mapping ("PNC release stops nothing")Added the Off mappings for ParkAssistFG and TrailerFGAP Machine — NM Handles and FunctionGroups
constr_10641The max-action-list-duration of the SM module is missingSet it to 1.0 sAP Machine — NM Handles and FunctionGroups

Why Aim for Zero Findings?​

Design rationale. The validation panel is an informational tool; errors block neither saving nor export. Every item in the table above, however, turns into a real behavioral fault once another tool (a ComM/Nm configuration generator, for instance) interprets the exported ARXML. That is why you refine a PNC design until it reads "No validation issues.". Zero findings means the AUTOSAR constraints are satisfied; the ARXML schema (XSD) check is performed separately during export.

Check Your Work​

  • In the VFB editor's SYSTEM panel, COMPOSITIONS shows 14 compositions under the root PncVehicle.
  • In the System editor's SYSTEM panel, ECU MAPPING lists 14 nodes (13 ECU, 1 HPC), each mapped to the composition of the same name.
  • With the project open, the VALIDATION panel shows "No validation issues.", and the status bar validation icon carries no badge.
  • When you select each connector, ParkDistance_Consumer on HPC_Eth_Rear_Conn and VehicleState_Consumer on SouthZone_Eth_Conn are both on UDP:30503.
  • PNC GATEWAY TYPE of EastZone_Eth_Conn is PASSIVE.
  • No tab name carries the unsaved-change marker (●).

Next Steps​

In ARXML Export you export the validated design as ARXML documents and inspect the resulting files.