Validation
What This Chapter Covers
This chapter covers real-time validation in PAIO. It explains how to open and close the validation panel, when validation runs and which project it targets, how to read the violation list, and how to click a row to jump to the problem. The checks follow the AUTOSAR standard constraints, and some checks that carry no standard number were added by PAIO itself. The checks span network configuration and communication definitions, software structure and interfaces, data types, Adaptive Platform configuration and service deployment, and ECU configuration. Severity is fixed per rule: most rules report error, the rest report warning.
- Intended readers: users who edit the model and want to clear errors before export
- Prerequisites: a workspace must be open and it must contain at least one project. Validation runs against the design data of a project. For the project structure, see 04. Workspaces and Projects.
Validation has no separate run button. It runs again automatically whenever you edit the model or select a project. The target always follows the active project scope.
14.1 Opening and Closing the Validation Panel
Click the V button at the left end of the status bar (at the bottom of the window) to open the validation panel below the editor area. Click the same button again, or use the Close Panel button in the panel header, to close it. Drag the top edge of the panel to adjust its height, and use the Minimize and Maximize buttons in the header to change its size as well.
The V button is the only entry point. There is no validation panel item in the menus, the command palette, or the shortcuts. The panel also always starts closed when you restart the application.
Reading the Status Bar Badge
A badge on the V button tells you the state without opening the panel.
| Display | Meaning |
|---|---|
| No badge | No violations |
| A number | The number of violations. Counts above 99 appear as 99+ |
! | Validation could not run. This does not mean "no problems". If you see a RuleFailure row in the list, it is a product defect rather than a model error, so please report it |
14.2 Which Project Is Validated
PAIO can open several projects in one window, and validation targets only the single active project. The target is set by whichever action you performed last.
- Click a project in the project Explorer and that project becomes the target. You do not have to open an editor.
- Move focus to an editor tab and the target changes to the project that owns the tab.
When the target cannot be determined, the list shows
Select a project in the Explorer to run validation. In that case, click a project once in the
Explorer.
14.3 When Validation Runs and What It Reads
Validation has no run button. It runs again automatically whenever you edit the model or select a project, and even while you type, the results refresh shortly after you stop. It also runs again automatically after you import ARXML.
The target is the entire design data of the current project. Network configuration, communication definitions, software structure, interfaces and service deployment, data types, system mappings, Machine configuration, and ECU configuration are all included. Parts you have not built yet are treated as empty and are not reported as errors.
Unsaved edits are included as well. On some screens, however, the results change only after the value you are typing is committed.
14.4 Reading the List
The list is a table of four columns. Drag a column header border to adjust its width.
| Column | Contents |
|---|---|
| Element Type | The kind of element the violation occurred on (for example PortPrototype, ISignal) |
| Name | The element name |
| Description | What the violation is. The text appears in English |
| Constr | The AUTOSAR constraint number (for example constr_3018) |
A row with an empty Constr column is normal. Checks that have no matching AUTOSAR standard constraint number leave this cell empty. The rule name itself never appears in the list.
A colored severity bar sits at the left edge of each row. Red marks an error, orange marks a warning.
Group Rows
When sibling elements under the same parent share a SHORT-NAME, one violation is raised per duplicate, but the list shows them as a single collapsed group row.
- The first cell of a group row holds a
▶triangle, and a gray badge next to the Name cell shows the count. The tooltip isExpand to mark each element individually. - Click the group row to expand it; the triangle rotates 90 degrees. Click it again to collapse it.
- Expanded child rows are indented, and the name is followed by an order number within the model such
as
#1or#2. The Element Type cell of a child row is empty. - The expanded state is kept across revalidation.
Only one rule creates group rows: duplicate sibling SHORT-NAMEs. For every other rule, one violation is always one row. Two top-level documents that use the same name (two SWC files, for example) are also reported as a single row.

Two connectors in the IVC editor use the same name. The list shows the group row Connector_0 with its count badge, and the expanded child rows carry #1 and #2. Clicking a row leaves a red violation marker on the NAME field of that connector.
When the List Is Empty
When the list is empty, one of the following messages appears, depending on the situation.
| Message | Meaning |
|---|---|
No validation issues. | No violations |
Select a project in the Explorer to run validation. | The target project could not be determined |
Validation could not run. See the developer console for details. | Validation failed to run |
The last message does not mean "there are no problems". In that case the status bar badge changes to
!.
14.5 Jumping to a Violation
Click a row and the editor tab that owns the element opens or becomes active, and the element is
selected and highlighted. Hover over a row that supports navigation and the tooltip
Go to the element to fix appears.
- Click the row. → The owning editor opens.
- When the editor finds the element, a red violation marker stays on it (distinct from the blue "just changed" flash). If the target is an input field, the cursor is placed in that field as well, so you can correct the value right away.
- Elements you edit inside a dialog (Machine Configuration, SWC Internal Behavior, AA Internal Behavior, and so on) open all the way down to that dialog.

The target is a field inside a dialog. The AA Internal Behavior dialog opens expanded to the LOG CONFIG position on the EXECUTION tab, and LOG MODE, which holds a value that is not allowed, is marked in red. Because the dialog covers the validation panel, only part of the row that caused it stays visible below.

The Machine Configuration dialog opens the same way, with the FUNCTION GROUP tab selected. INITIAL MODE, which points to an undeclared state, is marked in red, and Referenced item not found appears below the field.
- If the editor is still loading, PAIO retries every 0.15 seconds for up to 3 seconds. If the element is not found within that time, only the tab stays open.
- Once you correct the value, validation runs again, and as the row disappears from the list the red marker is cleared with it.

The reference target has been deleted. Clicking the row makes the VFB editor drill into the composition and select the port, and the PORT INTERFACE field in the properties panel on the right is marked in red. The Referenced item not found note appears below the field.

The behavior is the same outside the diagram editors. When three SOME/IP deployments use the same Service ID, each one gets its own row, and clicking a row marks only the SERVICE ID field in the SOA DEPLOYMENT card of the Interface editor in red. The marker covers the offending value alone, not the whole card.
Violation description text is not shown below the field. Constraint descriptions are long and would clutter the screen, so the field keeps only the red marker while the full sentence stays on the row in the validation panel.
Clicking a new row clears the previous marker first. Only one element at a time is ever marked in red.
Editors You Can Jump To
The editor that opens depends on the area the violating element belongs to.
| Area the violating element belongs to | Editor that opens |
|---|---|
| DataType / Unit | DataType editor |
| Port interfaces, service deployments and instances, ErrorDomain | Interface editor |
| SWC, composition, Machine, Executable/Process | VFB editor |
| Nodes, connectors, clusters, NM/TP/Global Time | IVC editor |
| Signals, PDUs, frames, MULTIPLEXED-I-PDU | Signal editor |
| SWC↔ECU mappings, root software composition | System editor |
Rows That Do Not Navigate on Click
Some rows do not move to an editor when you click them. The rows and the reasons are as follows.
| Row | Reason |
|---|---|
EcucModuleConfigurationValues, EcucContainerValue, EcucParameterValue, EcucAbstractReferenceValue | The ECUC editor addresses its target by tree path rather than by name, so navigation is not supported yet |
RuleFailure | This row is an error from the validation engine itself, not a model element |
| Group header rows | No single element can represent the group, so the row only expands and collapses. Click a child row instead |
These rows carry no navigation tooltip.
Passing validation does not mean the ARXML is schema-valid. The two checks are separate layers. The validation panel only confirms that the design data respects the AUTOSAR constraints; whether the exported ARXML conforms to the XSD is a separate matter, covered in 13. Import and Export.