Model Merge Report
When DaVinci Configurator finishes loading the ARXML files, it generates a SARIF report for all detected Model Merge Conflicts in your DaVinci Project inside Output/Log/ProjectLoad/.
| The tool generates a new report for every DaVinci Project load, even if project load aborts. |
For the best user experience, install the VS Code SARIF Viewer Plugin in VS Code. The editor can open and highlight conflicting lines in ARXML files directly.
Format
DaVinci Configurator uses the SARIF format (a OASIS Standard) to report detected Model Merge Conflicts. In this context, DaVinci Configurator acts like a static analysis tool for ARXML files and reports detected issues.
Use the Report
The report contains all detected Model Merge Conflicts from the current project load. Each conflict entry provides:
-
Conflict type: what kind of merge problem was detected
-
Element reference: the AUTOSAR path, definition reference, or value of the affected element
-
Cause: why the conflict was raised
-
Locations: the involved ARXML files with line and column ranges
If Automatic Conflict Resolution was applied, the message also states which value was chosen and from which file it was taken.
Recommended Steps
For each conflict:
-
Start with the conflict type to understand what kind of problem was found.
-
Read the cause to understand why the tool reported the conflict.
-
Open the listed file locations and compare the reported ARXML fragments.
-
If the message starts with
AUTOMATIC MERGE APPLIED, check which value was chosen and whether that result is acceptable before saving the project.
This order is helpful even if you are not familiar with AUTOSAR details, because the report first explains the problem and then points to the relevant file locations.
Structure
The report is a JSON file conforming to the SARIF schema. The following shows the outline of the structure:
{
"version": "2.1.0", (1)
"runs": [
{
"tool": {}, (2)
"results": [ (3)
{
"level": "warning", (4)
"locations": [
"physicalLocation": {}, (5)
],
"message": {} (6)
}
]
}
]
}
| 1 | The SARIF schema version |
| 2 | Metadata about DaVinci Configurator |
| 3 | List of Model Merge Conflicts |
| 4 | Level of one conflict, for example error or warning |
| 5 | List of source files involved in the conflict |
| 6 | The message of the conflict |
Limitations
The line and column information of a conflicting AUTOSAR element is based on a best-effort computation and points to the nearest Referrable parent element. For performance reasons, this is only computed on demand for conflicting elements.
The following limitations currently exist:
-
Line numbers and locations can only be computed for an AUTOSAR Referrable based on short names of elements. If the conflicting element is not a Referrable itself, a parent Referrable is used for localization.
-
The localization may report the first instance matching a conflict in a file, even if multiple instances match.
|
If you can find multiple instances of the conflicting element in one file, double-check all instances to find the correct one. The same holds for elements with variation points, which might be defined on higher-level parent elements. |
For easier interpretation of conflicts, DaVinci Configurator also provides the definition reference, attribute name, or value for the conflicting element.
| The localization will improve in future versions. Feedback is appreciated. |