Review and Troubleshooting for Migrated Projects

This section provides reference information for reviewing and troubleshooting migrated projects, including details about preserved data, file transformations, generated scripts, and configuration changes introduced during migration.

Preserved DPA Input Files

Input files that were configured in the <Display> section of the DPA file are preserved and referenced. If the migration tool is executed with a destination directory, these files are copied to Input/Preprocessing (otherwise they are left untouched). Although DaVinci Configurator Classic Version 6 does not use these files directly, they can be reused later.

Generated Update Workflow Script

The preserved DPA input files are referenced by the update workflow script (update_workflow.bat for Windows, update_workflow.sh for Linux) that is generated during the project migration and stored in the Scripts directory of the migrated project. After the migration, the script can be executed separately, as long as the referenced input files are available at the expected locations.

Depending on the configuration entries in the DPA file, the script contains the following CLI calls:

  • DaVinci Configurator Classic CLI command project derive-ecuc: Derives the ECU Configuration from the configured ECU Extract and integrates it into the migrated project, ensuring that all required components, external resources, configurations, and data are included. For more details, see Derive ECUC.

  • DaVinci-AUTOSAR-JSON CLI command dvarjson ddm convert: Converts one or more generated DDM JSON input files to ARXML. The JSON input files for this call (or several calls in case of variant projects) are generated in Input/OEMInput/Preprocessing and their file name ends with _dvarjson.json. The converted ARXML files are written to the same directory and their file name ends with _converted.arxml. For more details, see Convert DDM.

  • DaVinci Configurator Classic CLI command ddm import diagnostic-modules: Imports one or more ARXML files generated by the preceding dvarjson ddm convert call(s) and takes the variant characteristics of the project into account (if applicable). For more details, see Import diagnostic modules.

  • DaVinci Configurator Classic CLI command import module

  • DaVinci Configurator Classic CLI command project update

Ecu Extract Producer Support

During project migration, the file file_preprocessing_data.json is created in Input/OEMInput/Preprocessing. It can be used as input for the Ecu Extract Producer command analyze-migration for the creation of another script that contains Ecu Extract Producer commands. For further details, see Generate ECU Extract.

Execute Update Workflow Script

Prerequisites

Before executing the update workflow script, ensure the following prerequisites are met:

  • Model merge conflicts must be resolved (if applicable):

    If the log or console output of the project migration contained model merge conflicts, they must either be resolved or merge conflicts must be temporarily allowed. For details, see Model Merge on Project Load.

  • BSW package migration must be completed:

    The GUI must be opened to perform the BSW package migration before executing the script. For details, see BSW Migration.

  • Installation paths must be configured:

    The script directory Scripts contains an additional script config.bat or config.sh which is called by the update workflow script. It contains variables for the installation directories of DaVinci Configurator Classic and the DaVinci-AUTOSAR-JSON Command Line Interface that must be adjusted to match your environment.

    If the DaVinci Configurator Classic CLI executable dvcfg-b.exe is located in D:\dev\Vector DaVinci Configurator Classic, the configuration must be updated as follows:

    Example 1. Example for Windows (config.bat)

    Replace:

    REM set "CFG6_INSTALL_DIR=d:\temp"

    With:

    set "CFG6_INSTALL_DIR=D:\dev\Vector DaVinci Configurator Classic"

If DaVinci-AUTOSAR-JSON is required, DVARJSON_INSTALL_DIR must be adjusted in a similar way.

Environment variables can also be used in config.bat or config.sh. The variables CLI and (if necessary) DVARJSON must contain valid paths so that the executables can be executed.

Run the Update Workflow Script

  1. Navigate to the script directory:

    cd <project-directory>/Scripts
  2. Execute the update workflow script:

    Windows
    update_workflow.bat

    The update workflow script must be executed from the script directory Scripts. Otherwise, the relative paths of the input parameters for the CLI calls will be invalid.

Communication Extract

The DaVinci Configurator Classic Version 6 no longer needs to know if a file contains communication extract data. In DaVinci Configurator Classic Version 5, the communication extract (<OEMCommunicationExtract>) was only loaded if a DvDeveloper workspace was present, otherwise the ECU extract (<ECUEX>) was loaded into the model. In a migrated project, the same ARXML files are loaded; therefore, either the communication extract or the ECU extract is referenced as harmonizedExtract in the ArxmlProjectContent.json:

{
    "harmonizedExtract": {
        "fileList": [
            "../Output/Config/EcuExtract/Communication.arxml"
        ]
    }
}

GenData Paths

In contrast to other directory configuration entries, the folders for <GenData> and <GenDataVtt> remain unchanged, if their configured value in the DPA file deviates from the default values (.\Appl\GenData or .\Appl\GenDataVtt). This allows an easier further processing of the generated files.

Automation Script Locations

Automation script locations were configured in the DPA file in the <Misc> section of the <ToolSettings> in a setting named com.vector.cfg.automation.scripting.SearchLocations. Differing from what was described earlier, they are not located in Misc.json, but in General.json in a simplified JSON array scriptLocations:

{
    "scriptLocations": [
        "$(ProjectFolder)/scripts/build/libs/script.jar",
        "$(ProjectFolder)/scripts/build/libs/script2.jar"
    ]
}

User Code Block Data

User code block data files (with the file extensions .c.ucb and .h.ucb) are copied to the destination directory (if it was provided as a program parameter).

Acknowledgement Data

Existing acknowledgements.dc files are not preserved unchanged in XML format, but are converted to JSON format and referenced from the .dvjson file, see also section [_content_of_setting_file_acknowledgements.json].

Replacement of Variables

Some configuration entries in the DPA file can contain variables like $(DpaProjectFolder). As there is no longer a DPA file in DaVinci Configurator Classic Version 6 and the term SIP has been replaced, the variables $(SipRootPath), $(DpaProjectFolder), $(DpaProjectFile) are replaced by $(BswRootPath), $(ProjectFolder), $(ProjectFile).

IDE and Editor Support

EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs. The file .editorconfig is created in the destination directory with DaVinci Configurator Classic Version 6 settings for ARXML and JSON files. ARXML files with model parts that are editable in DaVinci Configurator Classic Version 6 are formatted according to the rules in this .editorconfig.

Version Control Support

The file .gitignore is created in the destination directory to indicate which project directories should be put under version control.

Schema Files for JSON Settings

JSON schemas for the configuration files located in the Settings directory are created in Output/Schema, see also DaVinci Project Settings. This facilitates the manual editing of these configuration files in a suitable IDE.

New Configuration Entries

Origin Tracing

The project migration tool also adds configuration entries to the JSON files that were introduced in the DaVinci Configurator Classic Version 6, for example for the origin tracing in General.json:

{
    "folders": {
        ...
        "trace": "../Output/Trace"
    }
}

LdCom Derivation Version

The LdCom derivation version was not available in the DPA of the DaVinci Configurator Classic Version 5, but in DaVinci Configurator Classic Version 6 it is configured in Ifp.json. Its value depends on the existence of LdCom in the initial ecuc and the AUTOSAR version of the harmonized extract.

Sample entry in Ifp.json:

{
    "derivation": {
        "ldCom": {
            "derivationVersion": "AR_4_4"
        }
    }
}