The Diagnostic Editor is used to manage the diagnostic configuration of your project. More specially, it supports creating Diagnostic Port Interfaces, Ports typed by Diagnostic Port Interfaces and Diagnostic Mappings between Diagnostic Elements and Diagnostic Ports. The Diagnostic Editor does not define the Diagnostic Elements, but they are defined in a Diagnostic Extract that is part of your project.

For practical instructions, refer to the Using the Diagnostic Editor cheat sheet which guides you through the basic workflow of the Diagnostic Editor.
Open Diagnostic Editor | <CTRL> + <SHIFT> + <D>, <X> |
Open Editor
To open the Diagnostic Editor, expand your DaVinci Adaptive project in the DaVinci Project Explorer and double-click on Open Project Dashboard. The Project Frame opens, showing the Project Home. You can then open the Diagnostic Editor as follows:
- Open the
Editor menu on the top right of the Project Frame and click the
Diagnostic Editor command.
- Alternatively, use the context menu command
Open Diagnostic Editor of the
Open Project Dashboard node in the DaVinci Project Explorer.
- Alternatively, on the Dashboard page of the Project Home, click
Diagnostic Editor in the Comfort Editors area.
- Alternatively, on the Dashboard page of the Project Home, click the arrow of the Current Focus drop-down list and select Application. In the Diagnostic Contribution Sets area, click the [Edit] button (this requires at least one created Diagnostic Contribution Set).
The Diagnostic Editor opens in a new tab of the Project Frame.
Editor Toolbar
Besides the general editor functionalities see Editor Concept, the toolbar on the top right of the Diagnostic Editor provides the following feature:
Show Disabled Elements: Controls whether disabled content is shown in the trees or not. This applies to Diagnostic Elements already linked to a Port Interface in the left tree of the Interface Builder sub-editor, as well as to already mapped Typed Port Interfaces in the left tree of the Port Allocator and Mapper sub-editor.
Functionality
The Diagnostic Editor consists of the following sub-editors:
Configuration
Interface Builder
Port Allocator and Mapper
You can collapse or expand the sub-editor pane on the left using the or
button on the top right of the sub-editor pane. For details on each sub-editor, refer to the sections below.
Saving Diagnostic Information
To ensure a smooth workflow and increase the collaboration between team members, some editor-related information is stored in the diagnostic settings file. This information includes selected Diagnostic Contribution Set(s); defined packages, namespaces, ARXML files; and paired Diagnostic Element identities and Diagnostic Port Interface names.
Configuration
To open the Configuration sub-editor, select Configuration in the left pane. The Configuration sub-editor controls the Diagnostic Contribution Set(s), which contains all the Diagnostic Elements to be visible in the Diagnostic editor.
- Diagnostic Contribution Set
To use the Diagnostic Editor, one or more Diagnostic Contribution Set(s) must be selected by activating the respective check box(es) in the table. To select or deselect all Diagnostic Contribution Sets, click the button[Select All] or
[Deselect All]. Only Diagnostic Elements referenced by the selected Diagnostic Contribution Set(s) will be visible in the editor.
Interface Builder
To open the Interface Builder sub-editor, select Interface Builder in the left pane. The Interface Builder sub-editor is used to create Diagnostic Port Interfaces from the available Diagnostic Elements or Generic Interface candidates.
Editor Output Configuration
To enable the functionalities of the Interface Builder sub-editor, a valid Editor Output Configuration must be defined. This configuration includes one part for interfaces and one part for data types:
- Interface
The following configuration applies when creating a new interface. - Namespace
Specify a namespace that will be added to the new Diagnostic Port Interfaces. It should be defined in C++ format, e.g,. diag::interface::ns. - Package
Select a package where the new Diagnostic Port Interfaces will be created. - File
Select an existing ARXML file or create one to store the new Diagnostic Port Interfaces. - Datatype
The following configuration applies when creating a new data type. - Namespace
Specify a namespace that will be added to the new data types. It should be defined in C++ format, e.g., diag::datatype::ns. - Package
Select a package where the new data types will be created. - File
Select an existing ARXML file or create one to store the new data types.
Two trees in this sub-editor display various diagnostic contents:
Interface Candidates (left tree)
It displays elements that can be used to create a Diagnostic Port Interface. Generic Interface Candidates support the creation of Diagnostic Generic Port Interfaces and are not linked to any specific Diagnostic Elements.
The following categories of Diagnostic Generic Interface Candidates and Diagnostic Elements in the selected Diagnostic Contribution Set(s) are shown:
- DCM: Generic Interface Candidates
- DCM: Diagnostic Data Identifier (DID) Elements
- DCM: Diagnostic Routine (RID) Elements
- DEM: Generic Interface Candidates
- DEM: Extended Data Records (EDR)
Available Interfaces (right tree)
The following categories of available Diagnostic Port Interfaces in the model are shown:
- DCM: Generic Port Interface
- DCM: Service Instances
- DCM: Diagnostic Data Identifiers (DID)
- DCM: Diagnostic Data Elements (DID)
- DCM: Diagnostic Routine (RID)
- DEM: Diagnostic Data Elements (EDR)
- DEM: Generic Port Interface
Special for DCM: Diagnostic Data Identifiers (DID), DCM: Diagnostic Data Elements (DID), DCM: Diagnostic Routine (RID), and DEM: Diagnostic Data Elements (EDR), Diagnostic Port Interface will be assigned to two different groups. If the Diagnostic Port Interface is linked to a Diagnostic Element and the linking information is saved in the diagnostic settings file, it is listed under the Typed Port Interfaces node. Otherwise, it is listed in the Port Interfaces not Linked to Diagnostic Element node. Right-click on the node and use the context menu to add or remove a link between Diagnostic Elements and Diagnostic Port Interface.
The DCM: Diagnostic Data Identifiers (DID) category shows the Diagnostic Data Identifiers and their Data Types as child nodes in the tree. Diagnostic Port Interfaces can be created for either the entire Diagnostic Data Identifier or the individual Data Elements.
The DEM: Diagnostic Data Elements (EDR) category shows Diagnostic Trouble Code Props as parent nodes. Below these are its Diagnostic Extended Data Records which can contain Data Elements. The Diagnostic Port Interfaces are created from the Data Elements only in this case.
Functionalities
The Interface Builder sub-editor provides the following functionalities:
- Create Interface:
Select a Diagnostic Element or Generic Interface Candidate in the tree and click [Create Interface] between two trees to create a new Diagnostic Port Interface based on the selected Diagnostic Element/Generic Interface Candidate from the Interface Candidate tree. Alternatively, open the context menu of a Diagnostic Element or Generic Interface Candidate and click Create Interface between two trees to create a new Diagnostic Port Interface. In order to create a Diagnostic Port Interface, the Editor Output Configuration needs to be complete.
The type of Diagnostic Port Interface created depends on the selected Diagnostic Element/Generic Interface Candidate. The creation of Typed Port Interfaces from DIDs, RIDs, or Data Elements may also include the creation of Data Types used in the Methods of the new Port Interfaces. The Generic Port Interfaces do not contain any element-specific information, while the Typed Port Interfaces will have Methods matching the content of the Diagnostic Element used for the creation. - Available Interfaces (right tree)
The following commands are available in the context menu of the respective elements in the Available Interfaces tree: Duplicate interface:
This context menu command is available for Generic Port Interfaces and is used to duplicate the existing Generic Port Interface.Rebuild interface:
This context menu command is available for Typed Port Interfaces and is used to rebuild the existing Diagnostic Port Interface based on the linked Diagnostic Element and update the new information in the diagnostic settings file.Refactor link:
This context menu command is available for Typed Port Interfaces and is used to open a wizard which guides you to refactor the existing Diagnostic Port Interface to another Diagnostic Element which is not linked to any Diagnostic Port Interface. The content of the Diagnostic Port Interface will be updated to match the linked Diagnostic Element.Remove link:
This context menu command is available for Typed Port Interfaces and is used to remove the connection between the Diagnostic Element and Diagnostic Port Interface in the diagnostic settings file.Link to Diagnostic Element:
This context menu command is available for Port Interfaces not Linked to Diagnostic Element and is used to open a wizard which guides you to link the existing Diagnostic Port Interface to another Diagnostic Element which is not linked to any Diagnostic Port Interface. The content of the Diagnostic Port Interface will be updated to match the linked Diagnostic Element.Open Linked in AUTOSAR Model Explorer:
This context menu command is available for Typed Port Interfaces and is used to open the Diagnostic Element which is linked to this Diagnostic Port Interface in the AUTOSAR Model Explorer.
Port Allocator and Mapper
To open the Port Allocator and Mapper sub-editor, select Port Allocator and Mapper in the left pane. The Port Allocator and Mapper sub-editor is used to create Diagnostic Ports from the Diagnostic Port Interfaces and create Diagnostic Mappings between Diagnostic Elements and Diagnostic Ports.
Editor Output Configuration
To enable the functionalities of the Port Allocator and Mapper sub-editor, a valid Editor Output Configuration must be defined, and this configuration consists of one part:
- Mapping
The following configuration applies when creating new Mappings. - Package
Select a package where the new Mappings will be created. - File
Select an existing ARXML file or create one to store the new Mappings.
Two trees in this sub-editor display various diagnostic contents:
Available Interfaces (left tree)
The following categories of Diagnostic Port Interfaces, Diagnostic Service Instances and Diagnostic Elements in selected Diagnostic Contribution Set(s) are shown:
- DCM: Generic Port Interface
- DCM: Service Instances
- DCM: Diagnostic Data Identifiers (DID)
- DCM: Diagnostic Data Elements (DID)
- DCM: Diagnostic Routine (RID)
- DEM: Diagnostic Data Elements (EDR)
- DEM: Generic Port Interface
- DEM: Diagnostic Event Management Elements
There are different sub-groups under DCM: Diagnostic Data Identifiers (DID), DCM: Diagnostic Data Elements (DID), DCM: Diagnostic Routine (RID), and DEM: Diagnostic Data Elements (EDR). If the Diagnostic Port Interface is linked to a Diagnostic Element and the linking information is saved in the diagnostic settings file, it is listed in Typed Port Interfaces node. Otherwise, it is listed in the Port Interfaces not Linked to Diagnostic Element node. The group DIDS/RIDS without Typed Port Interfaces displays all Diagnostic Elements without linked Typed Port Interfaces according to information from the diagnostic settings file.
Diagnostic Ports and Mappings (right tree)
Note that an Executable must be selected to show all Diagnostic Ports accordingly. Click the [Select Executable] button and select an Executable. To show all the Diagnostic Mappings under corresponding Diagnostic Ports, select a Process Design via the
[Select Process Design] button.
This tree shows the following categories of Diagnostic Ports aggregated in the Adaptive Application Sw Component Type defined in the context of the selected Executable:
- DCM: Generic Ports
- DCM: Diagnostic Data Identifier (DID) Ports
- DCM: Diagnostic Routine (RID) Ports
- DCM: Diagnostic Data Element Ports
- DEM: Diagnostic Event Management Ports
Functionalities
The Port Allocator and Mapper sub-editor provides the following functionalities:
Create Port:
Select an Executable and a Diagnostic Port Interface or Diagnostic Event Management Element (except Diagnostic Events) in the tree and click [Create Port] to create a Diagnostic Typed Port or Diagnostic Generic Port based on the type of Diagnostic Port Interface. Alternatively, open the context menu of a Diagnostic Port Interface or Diagnostic Event Management Element (except Diagnostic Events) and click Create Port to create a new Diagnostic Port. If a Process Design is selected, a Mapping is created automatically when a Port is created from a Typed Port Interface linked to the Diagnostic Editor or from a Diagnostic Event Management Elements (except Diagnostic Event).Map element to port:
To create Mappings, both an Executable and a Process Design must be selected. Select one of the following pairs and click the [Map element to port] button to create the Mapping:- Diagnostic Security Level and Security Level Port
- Diagnostic Request Upload and Upload Port
- Diagnostic Request Download and Download Port
- Diagnostic Ecu Reset and Ecu Reset Port
- Diagnostic Com Control and Generic UDS Port
- DID without Typed Port Interface and Generic UDS or Diagnostic Identifier Generic Port
- RID without Typed Port Interface and Generic UDS or Diagnostic Routine Generic Port
- Diagnostic Event and Event Port
- Diagnostic Event and Monitor Port
- Diagnostic Trouble Code Memory Destination and DTC Information Port
- Diagnostic Enable Condition and Condition Port
- Diagnostic Clear Condition and Condition Port
- Diagnostic Indicator and Indicator Port
- Diagnostic Operation Cycle and Operation Cycle Port
Create Event Port:
Select one Diagnostic Event and click the [Create Event Port] button, an Event Port will be created. If the Diagnostic Event Interface (with interface name "PortIf_DiagEvent") exists, it will be used to create the port, otherwise, this will be created and used automatically. If the Process Design is selected, the Diagnostic Event Port Mapping will be created at the same time.Create Monitor Port:
Select one Diagnostic Event and click the [Create Monitor Port] button, a Monitor Port will be created. If the Diagnostic Monitor Interface (with interface name "PortIf_DiagMonitor") exists, it will be used to create the port, otherwise, this will be created and used automatically. If the Process Design is selected, the Diagnostic Event Port Mapping will be created at the same time.
Diagnostic Port Interface Tree (left tree)
The following commands are available in the context menu of the respective elements in the Diagnostic Port Interface tree:
Create Port:
This context menu command is available for Generic Port Interfaces and all Diagnostic Event Management Elements except Diagnostic Events. Use this command to create the relative Generic Port for the selected Diagnostic Port Interface, or in the case of the Diagnostic Event Management Elements, create the relative Port, Port Interface if it is needed, and Port Mapping if Process Design is selected.Create Typed Port:
This context menu command is available for Typed Port Interfaces and it is used to create the relative Typed Port for the selected Diagnostic Port Interface. If a Process Design is selected, a Mapping is created automatically if the selected Typed Port Interface is linked to the Diagnostic Editor.Create Event Port:
This context menu command is available for Diagnostic Events. Use this command to create the relative Event Port, Diagnostic Event Interface (with interface name "PortIf_DiagEvent") if it is needed, and Diagnostic Event Port Mapping if Process Design is selected.Create Monitor Port:
This context menu command is available for Diagnostic Events. Use this command to remove the relative Monitor Port, Diagnostic Monitor Interface (with interface name "PortIf_DiagMonitor") if it is needed, and Diagnostic Event Port Mapping if Process Design is selected.Rebuild Interface:
This context menu command is available for Typed Port Interfaces and is used to rebuild the existing Diagnostic Port Interface based on the linked Diagnostic Element and update the new information to the diagnostic settings file.Refactor Link:
This context menu command is available for Typed Port Interfaces and is used to open a wizard which guides you to refactor the existing Diagnostic Port Interface to another Diagnostic Element which is not linked to any Diagnostic Port Interface. The content of the Diagnostic Port Interface will be updated to match the linked Diagnostic Element.Remove Link:
This context menu command is available for Typed Port Interfaces and is used to remove the connection between the Diagnostic Element and Diagnostic Port Interface in the diagnostic settings file.
Diagnostic Port Tree (right tree)
The following commands are available in the context menu of the respective elements in the Diagnostic Port tree:
Create Automatic Mapping:
This context menu command is available for Diagnostic Data Identifier (DID) ports, Diagnostic Routine (RID) ports, and Diagnostic Data Element Ports that have been created from a Typed Port Interface linked to the Diagnostic Editor. Use this command to automatically create a Diagnostic Mapping between the selected Typed Port and the linked Diagnostic Element.