Start Page

— Vector DaVinci Developer Help —

DaVinci Developer

Screenshot

Functionality

DaVinci Developer (DaVinci DEV) is part of the Vector AUTOSAR solution. It provides functionality for defining individual AUTOSAR software components as well as the complete application software architecture of an AUTOSAR ECU.

DaVinci Developer 3.7 is the last version that supports AR3. Use the compatibility matrix on our website:

Closed Short Description

  • DaVinci Developer is a tool for creating AUTOSAR compliant software component descriptions.

  • A library concept allows the re-use of design elements (e.g. AUTOSAR software components).

  • In combination with DaVinci Configurator Pro, DaVinci Developer creates the ECU configuration description of an AUTOSAR ECU.

Overview of Program Functions

Brief Overview for new Users
Closed Overview
  • Description of the various Windows
  • Data Storage
  • Read-Only Objects
  • Working Directory
  • Working with ECU Projects
  • File List
  • Reporting and Documentation
  • Object Types
  • Paths and Placeholders

Closed Functional Range

  • Creating an ECU Project
  • Generating Target Code
  • Data Mapping
  • Defining Component Types
  • Defining Port Interfaces
  • Defining Data Types

Closed Procedures

  • Working with Workspaces
  • Creating a new Workspace
  • Opening a Workspace
  • Saving Data of a Workspace
  • Closing a Workspace
  • Searching a Workspace
  • Locking of Objects
  • Packages
  • Packages
  • User-defined Attributes
  • Meaning of user-defined attributes
  • Defining an user-defined attribute
  • Modifying an user-defined attribute
  • Deleting an user-defined attribute
  • Analysis of the Design
  • Analyzing the Component Structure
  • Displaying the Usage Relations within a Workspace
  • Automatic Design
  • Adapt Components to Match the Signals
  • Bottom-up Design of Components Based on Signals
  • Connecting Components Automatically
  • Connecting Signals Automatically with Components
  • Making Two Ports Compatible
  • AR4 Creating Implementation Data Types matching to Application Data Types
  • Working with Graphical Editors
  • Working with Graphical Editors
  • Interactive Consistency Analysis
  • Organizing Complex Structure Graphics
  • Importing Data
  • Import XML File
  • Import DCF
  • Exporting Data
  • AUTOSAR XML Export
  • DCF Export
  • Consistency Check
  • Interactive Consistency Analysis

Closed Menus

  • File
  • Edit
  • View
  • Options
  • Window
  • Help
  • Object Types
  • Description of the various Windows
  • Toolbars
  • Status Bar
  • Keyboard Operation
  • Naming Rules
  • Limitations

Version 3.12 (SP3)
© Vector Informatik GmbH


Description of the various Windows

Start Page » Description of the Windows

Main Window

You may adapt the configuration of the individual windows according to your needs. Using Menu View you may hide some of the windows, with shortcut menu item Docking View you may bind a window to the border of the application window and have it always visible. The screen configuration will be restored the next time you start the program.

Workspace Window

This window contains the

  • Project Explorer
    Hierarchical representation of ECU projects.
  • Library Browser
    The Library Browser displays all objects in the workspace.

Software Design Editor

Displays the software components, which reside on the ECU of the ECU project.

AR3 Service Mapping Editor

Displays the mapping between the service ports of the application components and the service ports of the service components of the ECU project.

Data Mapping Editor

Displays the mapping of data elements of the ECU composition's ports to the network signals of the ECU.

AR3 Task Mapping Editor

Displays the mapping of runnable entities of the software components to the tasks.

AR3 Memory Mapping Editor

Displays the mapping of the per-instance memory of the components of the ECU Composition to the NV memory blocks of the ECU project.

AR3 Generation Parameters Editor

Displays the top-level settings, which are relevant for generating RTE code for the ECU project.

Component Type Editor

Provides several views to edit port prototypes, runnable entities or the sub-structure of a component type.

End-to-End Protection Editor

Displays an overview of all end-to-end protected data elements of the ECU project.

Properties Window

Shows the properties of the selected object.

Output Window

Logs the messages of the tool.


Working Directory

Start Page » Concepts » Working Directory

The working directory is a directory on your disk, which is used for editing an attached file with an external editor. DaVinci provides features to keep the workspace up-to-date, when you have edited a file in the working directory. For each workspace, you may specify a different working directory, or you may use the same default working directory.

Info

Info

  • For optimal performance, the working directory should reside on a local drive.
  • Do not choose a workspace folder as working directory. A good solution is to have a directory named e.g. 'data', which contains all workspaces, and – parallel to 'data' – a directory named e.g. 'work', which contains the working directories.


Library

Start Page » Concepts » Library

The library contains the design objects like data types, port interfaces or component types. You can use these design objects to design the ECU projects. The library is displayed in Library Browser of the Workspace Window.

The design objects may be organized in packages, similar like organizing the files on the PC in folders. The package is the namespace for the design objects. Object names within a package are unique, but there may be several objects with the same name in different packages.


Working with ECU Projects

Start Page » Concepts » Working with ECU Projects

In DaVinci Developer, you always work in the context of an ECU project. An ECU project represents the ECU composition, i.e. the specific application architecture of the ECU. During application design you may either define new components or re-use components from the library.

To setup an ECU project you have the following options

  • AR3 based on an ECU Extract
    To create an ECU project based on an ECU Extract of System Description (AUTOSAR XML file) you can use the Project Assistant (see Menu|File) or directly import the ECU Extract (see Menu|File|Import XML File).
  • AR4 based on a System Extract
    To create an ECU project based on a System Extract you can either create the ECU project via DaVinci Configurator Pro (see also Interaction with DaVinci Configurator Pro), or import the System Extract directly (see Menu|File|Import XML File).
  • standalone
    If your applications need no access to any network communication, you may setup the ECU project without communication database.

| Defining the Software Structure of an ECU Project |


File List

Start Page » Concepts » File List

Some of the DaVinci design objects have a file list. You may attach any number of files into such a file list. These files are stored together with the object in the DaVinci database.

You may open the Attached Files dialog by selecting the object and one of the following commands:

  • Attached Files in the shortcut menu
  • Button Show Attached Files

This dialog shows all attached files of the object. To add a file to the list you may import it from disk.

Double-click opens the file in the standard editor, which is registered for the extension of the file.


Data Storage

Start Page » Concepts » Data Storage

Workspace concept

The workspace is a set of design objects including their attached files. There are two storage formats for a workspace, both having their specific advantages.

Info

Info

  • Do not manually edit any files related to a DaVinci workspace
  • The best way to copy a DaVinci workspace is to zip all related files and folders. You may then copy the zip file and unzip it anywhere on your disk.
  • Do not copy files directly from one workspace to another workspace.

Workspace formats

The following storage formats for a workspace exist:

  • DaVinci workspace file (dev)
    This format is the native storage format of the DaVinci Developer. In this storage format, the workspace consists of one DaVinci workspace file (.dev) and the workspace folder having the same name as the workspace file with a "_dev" postfix. The workspace folder contains the design objects stored as XML files.
  • DaVinci configuration file (dcf)
    This format is a storage format optimized for being handled by an external file-based configuration management system. (Details see Working with DCF User Manual).

AUTOSAR version of a workspace

A workspace is either made for AR3 or for AR4. When creating a new workspace via the File menu, you can decide either to create a .dcf or .dev workspace for AR3 or AR4.

Info

Info

The AUTOSAR version of a workspace cannot be changed any more.

The AUTOSAR version of the workspace influences the available functionality of DaVinci Developer.

  • Features related to RTE configuration, ECUC file handling and code generation are only available for AR3 workspaces (in the AR4 solution, the RTE is configured via DaVinci Configurator Pro)
  • New features of AR4 are only available in AR4 workspaces
  • Export of AR4 formats is only possible in AR4 workspaces
  • Import of AR4 formats is only possible in AR4 workspaces
  • Export of AR3 formats is only possible in AR3 workspaces
  • Import of AR3 formats is only possible in AR3 and AR4 workspaces (data types could differ after import, as design of data types in AR4 is very different to those in AR3. There could be new objects or new ones.)
  • The DaVinci Project Assistant for creating or updating an ECU project is only available in AR3 workspaces (in the AR4 solution, the project creation is handled by DaVinci Configurator Pro. Manual creation of ECU projects in DaVinci Developer is possible anyway.)

When opening a workspace of an older DaVinci Developer version, the workspace will be converted to an AR3 workspace.

Workspace snapshots

Workspace snapshots are intermediate copies of a workspace. While editing a workspace, you may create a snapshot at any point in time. The snapshots are stored within the workspace folder. They appear as hidden folders named like _snapshot_<time stamp>. By restoring a snapshot you may roll-back the content of the workspace.


Read-Only Objects

Start Page » Concepts » Read-Only Objects

Individual objects within a DaVinci workspace may be read-only. There are following general concepts

  • Physically write-protected objects

If you use a DCF workspace, you may use an external configuration management system to freeze the description files of particular objects (details see Working with DCF User Manual). In the Workspace window, such objects are displayed with a write protection icon [image].

  • Locked objects

Using the object locking mechanism you can protect yourself from unintentionally modifying an object. In the Workspace window, such objects are displayed with a lock icon [image].

In both cases, DaVinci Developer displays the objects as read-only in the according object dialogs or editors.


Reporting and Documentation

Start Page » Concepts » Reporting and Documentation

DaVinci Developer provides a standard report for component types. The report of a component type includes the following content

  • Interface graphic
  • Port Prototypes with aggregated information of the port interface, e.g. list of data element prototypes

To generate a standard report you may select one or more component types in the Library Browser and select the shortcut menu item Generate Report… to open the Generate Report dialog. In this dialog you may define the filename of the html file to be generated.

The following files will be generated

  • <report name>.html
    Html report file.
  • <report name>_html\images
    Folder with the images included in the html file.
  • <report name>_html\data
    Folder with xml files of the report data.

By using the XML export of individual objects or a set of objects, you have the full flexibility to use generic XML mechanism for report generation. You may use e.g. your specific XSLT style sheets to generate HTML or RTF files with your specific layout and content.

Additionally, all graphical editors provide a graphic export for the following file formats:

  • Enhanced Metafile (.emf)
  • JPEG (.jpg)
  • Tag Image File (.tif)
  • Targa Image File (.tga)

Some editors, which display a list view (table) of objects, allow exporting the displayed list to programs such as MS Excel. After selecting one or more lines in the list view you can use the command Report to Clipboard in the shortcut menu. This command copies the selected lines into the Windows clipboard (as tab-separated string).


Object Types

Start Page » Object Types

ECU Project

Component Type

Constant

Mode Declaration Groups

/

Port Interface

AR3

Data Type

AR4

Application Data Type

Implementation Data Type

Base Type

Unit

Compu Method

Data Constraint

Type Mapping Set

Blueprint Mapping Set

Port Prototype Blueprints


Interaction with DaVinciConfigurator Pro

Start Page » Concepts » Interaction with DaVinciConfigurator Pro

When using DaVinci Developer in combination with DaVinci Configurator Pro to develop an AUTOSAR ECU, the roles of the tools depend on the AUTOSAR version:

AR3

DaVinci Developer is used for designing the software components and for configuring the RTE. It can also serve as tool for starting the code generation of the RTE or other generators.

DaVinci Configurator Pro is used for configuring and generating the basic software modules.

Both tools operate on the same project (.dpa), where the ECUC file is shared among the tools.

The DaVinci Project Assistant is a common component of both tools and is used to create and update the project.

AR4

DaVinci Developer is used for designing the software components.

DaVinci Configurator Pro is used for configuring and generating the basic software modules and the RTE. It can serve as central tool for the code generation of the complete ECU.

Both tools operate on the same project (.dpa), where the DaVinci workspace (.dcf) is shared among the tools. A mutual locking mechanism ensures that you can safely open the same project file in both tools.

Silent update: When you run the project update process with DaVinci Configurator Pro, the DaVinci Developer is called automatically in the background to update the DaVinci workspace. For this purpose, DaVinci Developer performs an import considering following project settings in the project file (.dpa):

  • Selective Import
  • Lock created objects
  • Use import mode preset

Following import options are fix:

  • Check for differences before import = FALSE
  • Substitute missing objects = TRUE
  • Perform consistency check after import = TRUE
  • Find unused elements after import = FALSE
  • Set import mode preset for created objects = Overwrite
  • Package Import = Import from File

For detailed explanation of these options see Import XML File

Info

Info

Only .dcf workspace can be used, no .dev workspaces. Only one ECU project per workspace is allowed.


AR3: Paths and Placeholders

— Vector DaVinci Developer Help —

Paths and Placeholders

Start Page » Concepts » Paths and Placeholders

When configuring paths or command line arguments, you can use the following general placeholders

  • $(INSTALLDIR)
    Installation directory of the DaVinci tool
  • $(INSTALLDIRBIN)
    Bin-Folder of the DaVinci tool installation
  • $(WORKSPACEFILE)
    Filename of the DaVinci workspace
  • $(WORKSPACEDIR) or $(PROJECTDIR)
    Directory of the workspace file
  • $(GLOBALOUTPUTDIR)
    Global output directory

In the context of an ECU project, you have the following placeholders in addition to the general placeholders

  • $(ECUCFILE)
    ECUC file of the ECU project
  • $(ECUPROJECTNAME)
    Name of the ECU project

If the workspace is part of a DaVinci Developer project, you have the following additional placeholders (settings in the DPA file)

  • $(SIPDIR)
    Directory of the Software Integration Package (SIP)
  • $(GENDATAFOLDER)
    GenData folder of the DPA project
  • $(TEMPLATEFOLDER)
    Template folder of the DPA project
  • $(SERVICESWCFOLDER)
    Service SWC folder of the DPA project
  • $(LOGFOLDER)
    Log folder of the DPA project
  • $(ECUCFOLDER)
    ECUC folder of the DPA project

In the context of an component, you have the following placeholders in addition to the general placeholders

  • $(COMPONENTTYPENAME)
    Name of the context component type


Creating an ECU Project

Start Page » Functional Range » Creating an ECU Project

To create an ECU project you can either manually configure the ECU project, or you can use

  • AR3 the DaVinci Project Assistant to setup the ECU project. See also Paths and Placeholders for defining the settings.
  • AR4 the DaVinci Configurator Pro

Closed Manual creation of an ECU project

To create an ECU project, you select the shortcut menu item New ECU Project... of the ECU Projects folder of the Project Explorer to open a dialog for defining the properties of the ECU project.

In the Properties tab of the dialog you may define a name and certain file references for the ECU project:

  • AR3 ECU Configuration File
    Path to the AUTOSAR ECU configuration file, which describes the overall ECU configuration. You may either select an existing file or create a new file. DaVinci Developer reads, creates and/or modifies this file during the synchronization process.
  • AR3 BSWMD file for Com Module
    Path to the module definition file, which contains the definition of the Com module. DaVinci Developer only reads this file.
  • AR3 BSWMD file for NvM Module
    Path to the module definition file, which contains the definition of the NvM module. DaVinci Developer only reads this file.
  • AR3 BSWMD file for Os Module
    Path to the module definition file, which contains the definition of the Os module. DaVinci Developer only reads this file.

AR3 In the External Signals tab of the dialog you may display the external signals of the ECU project. [Remove] removes the selected network node including all of its signals.

AR3 Closed Creation of an ECU project with the DaVinci Project Assistant

To create an ECU project with the DaVinci Project Assistant, you select the menu item File|Project Assistant|New ECU Project. Please follow the steps described in the Project Assistant. The new ECU project is displayed in the Project Explorer.

All settings for the ECU project are already made by the DaVinci Project Assistant. After selecting the ECU project you can use the shortcut menu Properties to open the ECU Project dialog to display the settings.

In addition to the settings of manually created ECU projects, the following settings are available in case the ECU project was created via the DaVinci Project Assistant:

On the Properties page of the dialog the associated project assistant file is displayed.

On the External Service Components page of the dialog you can configure the automatic import of service components. This page displays a list of all service component files in the service component folder created by the DaVinci Project Assistant. The files are listed in a table with the following columns:

  • Observed
    Select this flag to enable the observation of the service component file.
  • Service Component File
    File name of the service component file.
  • File State
    File state of the service component file: If the file is selected for observation, the file state is displayed as “!=” in case the Last Import time stamp deviates from the File Timestamp. The file state is displayed as “=” in case the time stamps are identical.
  • Last Import
    Time stamp of the service component file during the last import process of the file.
  • File Timestamp
    Current time stamp of the service component file on disk.

Using Import you can open the Import Service Component Files dialog. In this dialog you can directly start the import process for the service component files. You have the following options

  • All files
    Imports all service component files.
  • All observed files
    Imports all files, which are selected for observation.
  • Selected files
    Imports all files selected in the list.

The file observation of DaVinci Developer detects if the service component files have changed on disk. In this case, a dialog is opened which allows you to update (re-import) the service component files.

AR4 Closed Creation of an ECU project with DaVinci Configurator Pro

When setting-up a new project with DaVinci Configurator Pro, you have the option to create a new DCF workspace for DaVinci Developer. This new workspace includes an ECU project. Please refer to the DaVinci Configurator Pro help for details.

| AR3: Synchronizing the ECU Configuration File |


Defining Constants

Start Page » Functional Range » Defining Constants

A constant may be created in the Library Browser. A constant is always defined by name, value and description. To open a dialog for creating a constant you select one of the following shortcut menu items of the Constants folder in the Library Browser:

AR3

New Boolean Constant
The Boolean Constant dialog allows you to define the value of the Boolean constant as TRUE or FALSE.

New Enumeration Constant
The Enumeration Constant dialog allows you to define the value of the enumeration constant as one of the enumerators of the referenced enumeration type.

New Integer Constant
The Integer Constant dialog allows you to define the value of the integer constant.

New Real Constant
The Real Constant dialog allows you to define the value of the real constant.

New Opaque Constant
The Opaque Constant dialog allows you to define the value of the opaque constant in binary form.

New String Constant
The String Constant dialog allows you to define the value of the string constant (details see below).

New Array Constant
The Array Constant dialog allows you to define the value of each element of the array constant. The number of elements is according to the array type referenced by the array constant

New Record Constant
The Record Constant dialog allows you to define the value for each record constant element. The number and sub-structure of the record constant elements depends is according to the structure of the record type referenced by the record constant.

Info

Info

A constant is always defined for exactly one data type. You may select this data type in the constant dialog. Alternatively, you may select the data type in the Library Browser and create a constant for this data type using the according shortcut menu item like New Integer Constant.

AR4

New Textual Constant
The Textual Constant dialog allows you to define the value of the textual constant (details see below).

New Numeric Constant
The Numeric Constant dialog allows you to define the value of the numeric constant.

New Array Constant
The Array Constant dialog allows you to define the size of the array, the element type (Textual, Numeric, Array or Record) and the value for each element of the array constant. If you select Array or Record as element type, you can define nested constants like an array-of-record constant.

New Record Constant
The Record Constant dialog allows you to define the structure of the record constant (in the page Record Constant Elements) as well as the value for each record constant element. If you select Array or Record as element type of a record constant element, you can define nested constants like a record-of-array constant.

New Reference Constant
The Reference Constant dialog allows you to define the value of the reference constant.

The constant dialogs feature the Generate Symbol setting (<none>, const, #define). This setting is evaluated by the MICROSAR RTE generator and specifies if and how the constant is provided in the generated c code. For array or record types #define is not available.

In case of a string constant (AR3) resp textual constant (AR4) you have the following additional options to enter the constant value

  • String
    If you select this option, the value is defined/displayed as string
  • Binary
    If you select this option, the value is defined/displayed as binary value in a pattern like „00:00:00:01:00:00:AF:FE“

By selecting [Hex…] you may open the Hex-Editor to display or edit the value. This dialog displays the value as individual bytes. Each byte is displayed by a tuple of hex numbers. The bytes are listed in rows, where each row displayed 16 bytes.

The left part of the Hex-Editor shows the row index, the center part shows the bytes in hex format, and the right part shows the bytes interpreted in ASCII format („.“ In case of non printable characters).

You can enter the value in the center part of the dialog. Alternatively, you may automatically enter the value based on a fill pattern. To do so, you can select [Fill pattern…] to open the Fill Pattern dialog. In this dialog you have the following options

  • Fill pattern
    Fill pattern to be used, defined as hex value
  • Replace all
    Applies the fill patter to the complete range of bytes
  • Replace selection
    Applies the fill pattern to the range of bytes you have selected in the Hex-Editor
  • Replace from current position to the end
    Applies the fill pattern to the range from the cursor position in the Hex-Editor to the end
  • Replace from the begin to the current position
    Applies the fill pattern to the range from the begin to the cursor position in the Hex-Editor

If the range of bytes to be filled is larger than the length of the fill pattern, the fill pattern is subsequently repeated until the end of the range. If the range of bytes is smaller, the fill pattern is truncated accordingly.


Defining Mode Declaration Groups

Start Page » Functional Range » Defining Mode Declaration Groups

A mode declaration group may be created in the Library Browser. To open a dialog for creating a mode declaration group you select the shortcut menu item New Mode Declaration Group of the Mode Declaration Groups folder in the Library Browser.

In this dialog you may specify the name and description of the mode declaration group. The mode declarations of the mode declaration group are defined in this dialog as well.

AR4 Additionally, you may select the category (alphabetic or explicit) and of the mode declaration group. You may select the category explicit to make detailed specifications for the RTE generator about the values that represent the individual mode declarations as well as the on-transition value of the mode declaration group. When selecting alphabetic, the RTE generator will chose the values automatically based on the name of the mode declarations.

[New]
Creates a new mode declaration.

[Delete]
Deletes the selected mode declaration.

[Edit]
Opens a dialog for editing the selected mode declaration.

By setting the option Is Initial Mode, you may specify one of the mode declarations as initial mode for the mode declaration group.

| Defining Port Prototypes | Defining Runnable Entities | AR4 Defining Type Mapping Sets |


Defining Port Interfaces

Start Page » Functional Range » Defining Port Interfaces

A port interface may be created in the Library Browser. You may define the following kinds of port interfaces:

Closed S/R Port Interface

To open a dialog for creating a sender/receiver port interface you select the shortcut menu item New S/R Port Interface of the Port Interfaces folder in the Library Browser.

In this dialog you may specify the properties of the port interface:

  • Name
  • Is service interface
    If this option is set, the port interface is a service port interface. If this option is not set, the port interface is a regular application port interface.
  • Data element prototypes
    On the Data Element Prototypes page of the dialog the data element prototypes of the port interface are listed.
    [New] creates a new data element prototype.
    [Delete] deletes the selected data element prototype.
    [Copy] creates a copy of the selected data element prototype.

After selecting a data element prototype you may define its name, select its data type and specify if queued communication is used or not. The queue length can be specified at each port prototype using this port interface.

Additionally you may define the Calibration Access (NotAccessible, ReadOnly, ReadWrite) for the data element prototype.

AR4 You may define the limits of the data element prototype by selecting a data constraint.

AR3 In the Limits field you may optionally define limits for the data element prototype. These limits restrict the valid value range of the data element prototype compared to the value range defined by the minimum/maximum of the data type (see Defining Data Types). You have the following options:

  • None
    The data element prototype has no special limits. The full value range of the data type is valid.
  • Physical
    The data element prototype has limits, which are defined as physical values with respect to the scaling of the data type
  • Internal
    The data element prototype has limits, which are defined as internal values (raw values).

Closed C/S Port Interface

To open a dialog for creating a client/server port interface you select the shortcut menu item New C/S Port Interface of the Port Interfaces folder in the Library Browser.

In this dialog you may specify the properties of the port interface:

  • Name
  • Is service interface
    If this option is set, the port interface is a service port interface. If this option is not set, the port interface is a regular application port interface.
  • Application Errors
    This list describes the application errors, which may be result of a server call via the port interface. The application errors are listed by their error code and name.
    [New…] opens a dialog for defining a new application error. The error code, which you may select, must be unique within the port interface and must be in the range between (including) 1 and 63.
    [Edit…] opens a dialog to edit the selected application error.
    [Delete] deletes the selected application error.
  • Operation prototypes
    On the Operation Prototypes page of the dialog the operation prototypes of the port interface are listed.
    [New] opens a dialog for defining a new operation prototype. In this dialog you may define the name of the operation prototype, define the argument prototypes and select the application errors, which may be returned by the operation prototype. When defining an argument prototype, you may define its direction (In, Out or InOut), select its data type, define its calibration access (NotAccessible, ReadOnly, ReadWrite) and define its name. AR4 Additionally you can configure the server argument policy for complex data types.Using the arrow buttons you may change the order of the argument prototypes within the operation prototype.
    [Edit…] opens a dialog for editing the selected operation prototype.
    [Delete] deletes the selected operation prototype.

Closed Calibration Port Interface

To open a dialog for creating a calibration port interface you select the shortcut menu item New Calibration Port Interface of the Port Interfaces folder in the Library Browser.

In this dialog you may specify the properties of the port interface:

  • Name
  • Calibration element prototypes
    On the Calibration Element Prototypes page of the dialog the calibration element prototypes of the port interface are listed.[New] creates a new calibration element prototype.
    [Delete] deletes the selected calibration element prototype.
    [Copy] creates a copy of the selected calibration element prototype.
    After selecting a calibration element prototype you may define its name, select its data type, init value and data constraints.

Additionally you may define the Calibration Access (NotAccessible, ReadOnly, ReadWrite) for the calibration element prototype.

AR4 You may define the limits of the data element prototype by selecting a data constraint.

AR3 In the Limits field you may optionally define limits for the calibration element prototype. These limits restrict the valid value range of the calibration element prototype compared to the value range defined by the minimum/maximum of the data type (see Defining Data Types). You have the following options:

  • None
    The calibration element prototype has no special limits. The full value range of the data type is valid.
  • Physical
    The calibration element prototype has limits, which are defined as physical values with respect to the scaling of the data type
  • Internal
    The calibration element prototype has limits, which are defined as internal values (raw values).

Closed Mode Port Interface

To open a dialog for creating a mode port interface you select the shortcut menu item New Mode Port Interface of the Port Interfaces folder in the Library Browser.

In this dialog you may specify the properties of the port interface:

  • Name
  • Is service interface
    If this option is set, the port interface is a service port interface. If this option is not set, the port interface is a regular application port interface.
  • Mode declaration group prototypes
    On the Mode Declaration Group Prototypes page of the dialog the mode declaration group prototypes of the port interface are listed.
    [New] creates a new mode declaration group prototype.
    [Delete] deletes the selected mode declaration group prototype.
    [Copy] creates a copy of the selected mode declaration group prototype.
    After selecting a mode declaration group prototype you may define its name and select its mode declaration group.
  • Data element prototypes
    On the Data Element Prototypes page of the dialog you may optionally define data element prototypes in addition to the mode declaration group prototypes. This page is identical to the Data Element Prototypes page of a S/R Port Interface.

Closed Nv Data Interface

To open a dialog for creating a NV data interface you select the shortcut menu item New Nv Data Interface of the Port Interfaces folder in the Library Browser.

In this dialog you may specify the properties of the port interface:

  • Name
  • Data element prototypes
    On the Data Element Prototypes page of the dialog the data element prototypes of the port interface are listed.
    [New] creates a new data element prototype.
    [Delete] deletes the selected data element prototype.
    [Copy] creates a copy of the selected data element prototype.

After selecting a data element prototype you may define its name and select its data type. Additionally you may define the Calibration Access (NotAccessible, ReadOnly, ReadWrite) for the data element prototype and define the limits by selecting a data constraint.

| AR3 Defining Data Types | Defining Component Types | Defining Port Prototypes | Defining the Software Structure of an ECU Project |


Defining Component Types

Start Page » Functional Range » Defining Component Types

A component type may be created in the Library Browser. To open a dialog for creating a component type you select the shortcut menu item New Component Type of the Component Typesor Service Component Types folder in the Library Browser.

In this dialog you may specify the name and the realization (Atomic or Composition) of the component type.

In case of an atomic component type, you may define the following properties

  • Type
    Detailed specification of the atomic type. The following types are available:
  • Application
  • Service
  • SensorActuator
  • Calibration
  • I/O-Hardware Abstraction (application layer)
    In this case, the component type is treated like a application component type.
  • Non-Volatile Memory Block
    In this case, the component type can only has application port prototypes (of the type ClientServerInterface, ModeSwitchInterface or NvDataInterface) as well as NV block descriptor. Additionally it can has Runnables but only thr following types of triggers are allowed:

    • Periodical

    • On Data Reception

    • OnOperation Invocation

  • AR3: I/O-Hardware Abstraction (service layer)
    In this case, the component type is treated like a service component type. This means especially that the component type can only display service port prototypes and that it is not displayed in the software structure of an ECU project, but in the service mapping of the ECU project.
  • Complex Driver (application layer)
    In this case, the component type is treated like a application component type.
  • AR3: Complex Driver (service layer)
    In this case, the component type is treated like a service component type. This means especially that the component type can only display service port prototypes and that it is not displayed in the software structure of an ECU project, but in the service mapping of the ECU project.
  • Application (End-2-End Protection Proxy)
  • Implementation Code Type
    Type of code (source code or object code) which is used to implement the component type.
  • Supports multiple instantiation
    If this flag is set, the component type may be instantiated more than once within the same ECU.
  • Symbol
    Symbol to be used by the RTE generator instead of the name.

After creating the component type, you may open the Component Type Editor to define the port prototypes, runnable entities or the sub-structure of the component type.

Info

Info

Alternatively, you may define a new component type directly during top-down design of a composition type (see Defining the sub-structure of a composition type).

By selecting Service as realization, you may define the component type as service component type.

By selecting I/O – Hardware Abstraction or Complex Driver as realization, you have the following sub-types:

  • AR3 Service layer
    In this case, the component type is treated like a service component type. This means especially that the component type can only display service port prototypes and that it is not displayed in the software structure of an ECU project, but in the service mapping of the ECU project.
  • Application layer
    In this case, the component type is treated like a application component type.
Info

"Service component types may not be added as sub-component of another component, and they are not displayed in the software structure of an ECU project. They are only referenced within the service mapping of an ECU project.

AR4: In the Type Mapping Sets you can select the type mapping sets of the component. These type mapping sets are required if the component type uses application data types instead of implementation data types.

In case of atomic component types, the Package page in the object dialog contains additional options (besides the selection of the package) for the handling of the sub-elements Internal behavior and Implementation.

Info

Info

Sub-elements are those AUTOSAR design objects, which are aggregated in single DaVinci DEV design object. Such sub-elements exist in case of data types and atomic component types. When using automatic handling of sub-elements, the sub-elements are created in a default package structure under the parent object. When using manual handling of sub-elements, you may explicitly define the package and object name of the sub-elements. These settings become effective when exporting the DaVinci DEV design object to an AUTOSAR XML file.

| ASR3: Defining Data Types | Defining Port Interfaces | Defining Port Prototypes | Defining the Sub-Structure of a Composition Type | Defining the Software Structure of an ECU Project |


Defining Port Prototypes

Start Page » Functional Range » Defining Port Prototypes

A port prototype of a component type may be defined in the Port Prototype List view, Interface Graphic or Structure Graphic view of the Component Type Editor.

Info

Info

Only application ports are displayed in the Graphic view mode. Service ports are not displayed. Please use the List view mode to define or display the service ports.

Closed Adding a port prototype (Graphic view)

For defining one or more port prototypes for a sender/receiver port interface, you may simply use drag & drop:

Drag the desired port interfaces from the Library Browser and drop them onto the component. A new R-port prototype for each selected port interface is created. If you want to create P-port prototypes keep <CTRL> pressed while dropping the port interfaces.

Info

Info

Creating port prototypes by drag & drop also possible in the software design structure editors (for delegation and sub-component ports).

Alternatively you can use

  • New Receiver Port Prototypes in the shortcut menu or [image] in the toolbar

to open the Port Interface Selection dialog. This dialog displays all sender/receiver port interfaces of the library. After confirming the dialog, a new receiver port prototype will be created for each selected port interface. The new port prototypes are placed at a default position. You may change this placement afterwards (see Working with Graphical Editors).

Similar commands are available for defining

  • sender port prototypes
    P-port prototypes for sender/receiver port interfaces
  • client port prototypes
    R-port prototypes for a client/server port interface
  • server port prototypes
    P-port prototypes for a client/server port interface
  • calibration P-port prototypes
    P-port prototypes for a calibration port interface (only available for components of realization type "Calibration" or "Composition").
  • calibration R-port prototypes
    R-port prototypes for a calibration port interface (not available for components of realization type "Calibration").
  • mode P-port prototypes
    P-port prototypes for a mode port interface
  • mode R-port prototypes
    R-port prototypes for a mode port interface
  • NV sender port prototypes
    P-port prototypes for a NV data interface
  • NV receiver prototypes
    P-port prototypes for a NV data interface

AR4 Using New P-Port Prototype from Blueprint resp. New R-Port Prototype from Blueprint you may open a dialog to select one or more port prototype blueprints. After confirmation a port prototype will be created for each selected port prototype blueprint. The name, port interface and communication specification is copied from the blueprint. An according blueprint mapping entry is added to the default blueprint mapping set.

You may also use copy & paste (see Menu|Edit) to create a copy of an already existing port prototype , or you may drag & drop a port interface or a port prototype blueprint (AR4) to create a port prototype.

Closed Adding a port prototype (List view)

In the Port Prototype List view or Interface Graphic view of the Component Type Editor you can define and display port prototypes:

In the Application Ports sub-page, the application port prototypes are listed.

AR3 [New]
Opens the Select Port Interfaces dialog. On confirmation a new port prototype for every selected port interface is created.

AR4 [New | From Port Interface]
Opens the Select Port Interfaces dialog. On confirmation a new port prototype for every selected port interface is created.

AR4 [New | From Blueprint]
Opens the Select Blueprints dialog. On confirmation a new port prototype for every selected port prototype blueprint is created and an according entry in the default blueprint mapping set is created.

[Delete]
Deletes the selected port prototype.

[Copy]
Creates a copies of the selected port prototype.

After selecting a port prototype, you may select an application port interface and define all properties of the port prototype.

The Service Ports and Calibration Ports sub-pages provide a similar functionality to define service and calibration port prototypes.

The shortcut menu of the port prototype list offers the following commands:

Copy
Creates a copy of the selected port prototypes.

Delete
Deleted the selected port prototypes.

Properties…
Displays the multi-selection properties dialog letting you edit the following properties of all selected port prototypes in one operation (on confirmation, all checked properties are adopted by all selected port prototypes):

  • Enables API usage by Address
    Enables API usage by address.
  • IsInput
    Set the direction of the port prototype.
  • PortInterface
    Select a port interface.
  • Enable indirect API
    Enables indirect API.

Closed Editing a port prototype

After selecting a port prototype you may use

  • Properties in the shortcut menu or
  • Menu Edit|Properties or
  • Properties toolbar button

to open the Port Prototype dialog. In this dialog you may edit the following properties of the port prototypes:

  • Name
  • Direction
    Select the direction of the port prototype (sender, receiver or sender and receiver, resp. server, client or server and client).

  • AR4 Blueprint
    Select the port prototype blueprint, the port prototype should be mapped to.

  • Port API Options
    Port API Options can be defined for port prototypes of atomic component types:
  • Enable indirect API
    If this option is set, the RTE will provide an indirect API for the port prototype.
  • Enable API usage by address
    If this option is set, the RTE will provide the API for the port prototype as function such that it may be called by address, e.g. from within a function pointer table.

This option is only available for component types, which do not support multiple instantiation (see Defining Component Types).

In case of service component types (or other types of service layer components, e.g. complex drivers), you may additionally display and edit the port defined argument values (PDAV) of the port prototype.

Using [Edit] you may open the Port Defined Argument Values dialog. In this dialog you may add or remove PDAVs, or define the order of the PDAVS.

Using [Get from] resp. [Copy to] you may open the Port Prototype Selection dialog. This dialog displays all other port prototypes, which have the same port interface. After selecting one of these port prototypes, the PDAV list is copied from (resp. copied to) the selected port prototype.

  • Communication specification
    The communication specification can be defined for sender/receiver, server or mode port prototypes of atomic component types.
    At composition ports only init value and alive timeout (see below) for sender/receiver port prototypes can be defined.
    On the Communication Specification page of the dialog you may define the communication specification for each data element prototype of the port interface of the port prototype. The specification depends on the port direction and on the queuing strategy of the data element prototype (as defined in the port interface).
  • Sender port prototype
  • Uses Tx Acknowledge plus Timeout
    If this option is set, the transmission of the data element is acknowledged. The acknowledgement is expected to happen within the timeout time, otherwise an error will be reported to the component.
  • Init value (unqueued communication)
    Specifies the initial value for the data element.
Info

Info

AR3 The init value is defined by a constant, which must have the same data type as the data element prototype. You may either select one of the existing constants in the workspace or define a new constant.

AR4 The init value is a constant locally defined in the scope of the communication specification. The type and structure of the constant must match to the data type of the data element prototype. The definition of the constant is done via the same dialogs as used for defining global constants (see Defining Constants).

PR-Ports: Using a port as provider and receiver only one init value has to be defined, that from the P-port.
  • Can Invalidate (unqueued communication)
    If this option is set, the component may indicate to potential receivers that the data element currently is invalid.
Info

Info

The invalid value is defined at the data type of the data element.
  • Uses End-to-End Protection (unqueued communication)
    If this option is set, the data element is available for end-to-end protected communication (see also End-to-End Protection).
  • Receiver port prototype
  • Queue Length (unqueued communication)
    Specifies the maximum number of queued values.
  • Init value (unqueued communication)
    Specifies the initial value for the data element.
Info

Info

AR3 The init value is defined by a constant, which must have the same data type as the data element prototype. You may either select one of the existing constants in the workspace or define a new constant.

AR4 The init value is a constant locally defined in the scope of the communication specification. The type and structure of the constant must match to the data type of the data element prototype. The definition of the constant is done via the same dialogs as used for defining global constants (see Defining Constants).
  • Alive timeout (unqueued communication)
    Timeout time to specify the maximum age of a received data element. If this time is elapsed, the data element is considered as outdated.
  • Handle invalid (unqueued communication)
    Specifies the strategy how to react in case the received data element is invalid. The following options are available:
    Keep
    The last value, which had been received with a valid value, is forwarded to the receiving component.
    Replace
    The init value is forwarded to the receiving component.
    None
    The reaction strategy is not yet defined.
  • RX filter
    Specifies the Rx filter criterion for the received data element. The following options are available:
    Always
    Runnables triggered on receiving this data element are triggered regardless of the data elements value.
    MaskedNewDiffersMaskedOld
    Runnables triggered on receiving this data element are triggered only if the newly received value is different from the last received value of the data element.
Info

Info

The definition of a mask for filtering the relevant bits is not supported.
  • Uses End-to-End Protection (unqueued communication)
    If this option is set, the data element is available for end-to-end protected communication (see also End-to-End Protection).
  • Handle Never Received (unqueued communication)
    If this option is set, the component is able to detect whether the data element has not yet been received after system start.
  • AR4 Enable Update (unqueued communication)
    If this option is set, the component is able to detect whether the data element has been updated.
  • Mode Switch Communication specification (only available for mode P-port prototypes)
    On the Mode Switch Communication Specification page of the dialog you may define the communication specification for each mode declaration group prototype of the port interface of the port prototype.
  • Queue Length
    Specifies the maximum number of queued mode switches.
  • Uses Mode Switch Acknowledge plus Timeout
    If this option is set, the mode switch of the mode declaration group is acknowledged. The acknowledgement is expected to happen within the timeout time, otherwise an error will be reported to the component.
  • Server port prototype
  • Queue Length
    Specifies the maximum number of queued operations.
  • Communication Specification for Calibration Element Prototypes (available for R- and P-calibration port prototypes)
  • Init Value
    On the communication specification page for calibration element prototypes you may define a specific init value for each calibration element prototype at each calibration port prototype.
  • AR4 NV sender port prototype
  • ROM Block Init Value
    Specifies the constant, which represents the init value of the ROM block associated with the data element prototype.
  • ROM Block Init Value
    Specifies the constant, which represents the init value of the RAM block associated with the data element prototype.
  • AR4 NV receiver port prototype
  • Init Value
    Specifies the constant, which represents the init value of the data element prototype.

| AR3 Defining Data Types | Defining Component Types | Defining the Software Structure of an ECU Project | Working with Graphical Editors |


Defining Runnable Entities

Start Page » Functional Range » Defining Runnable Entities

A runnable entity of an atomic component type may be defined in the Runnable page of the Component Type Editor.

You find the following buttons to edit the list of runnable entities:

[New]
Opens a sub-menu to define new runnable entities. The sub-menu contains the following entries:

  • Runnable
    Adds a new runnable entity with a default name.
  • Init Runnable
    Adds a new runnable entity with an init trigger.
  • Server Runnables
    Is a shortcut for automatically creating runnable entities, which are triggered on operation invocation of a server port prototype. This button opens a dialog displaying all unhandled server port prototypes of the component type (i.e. server port prototypes having at least one operation prototype, which is not yet triggering a runnable entity). After confirming the dialog, a second dialog in which you may specify a pre- and a postfix for the names of the automatically created runnables is displayed. After confirming this second dialog the missing server runnables are created for all selected server ports.

[Delete]
Deletes the selected runnable entities.

[Copy]
Creates a copy of the selected runnable entities.

After selecting a runnable entity in the list, you may define the name and the description of the runnable entity.

In the Symbol field you may define the name of the function, which represents the runnable entity in the implementation code.

By checking the option Can be invoked concurrently you may specify that the runnable entity is implemented in such a way as multiple concurrent calls of the runnable entity are allowed.

The Minimum Start Interval sets the minimum time interval that must elapse between two successive triggerings of the runnable entity.

The shortcut menu of the runnable entity list offers the following commands:

New Port Access
Define new port accesses (see below) for all selected runnables.

New Trigger
Define new triggers (see below) for all selected runnables.

Properties…
Displays the multi-selection properties dialog letting you edit the following properties of all selected runnable entities in one operation (on confirmation, all checked properties are adopted by all selected runnable entities):

  • Can be invoked concurrently

Edit Mode Disabling of Triggers…
Edit the mode disabling dependencies (see below, [Edit Mode Disabling]) of all triggers of all selected runnables.

Exclusive Area Access…
Displays a sequence of two dialogs. The first dialog lets you select one or more of the component type's exclusive areas. The second dialog lets you select an access mode (No Access, Runs In, Can Enter). For each selected runnable entity and all selected exclusive areas an exclusive area access with the specified access mode is created.

Inter-Runnable Variable Access…
Displays a sequence of two dialogs. The first dialog lets you select one or more of the component type's inter-runnable variables. The second dialog lets you select an access mode (No Access, Read, Write, Read / Write). For each selected runnable entity and all selected inter-runnable variables an inter-runnable variable access with the specified access mode is created.

Copy
Creates a copy of the selected runnable entities.

Delete
Deletes the selected runnable entities.

Additionally, you may define the triggers for the runnable entity and specify how the implementation of the runnable entity accesses the ports:

Closed Trigger

In the Trigger sub-page, all triggers of the runnable entity are listed. Along with each trigger those modes are displayed, in which the trigger is disabled (mode disabling dependency) as well as the activation reason.

[New]
Opens a sub-menu to define a new trigger. The sub-menu contains an entry for each available kind of trigger to open an according Trigger Definition dialog (see below). Except for the periodic and init triggers all kinds of triggers are related to a particular port prototype (e.g. an On Data Reception trigger is related to a Receiver port prototype). For convenience, the sub-menu entry is only enabled, if the component type has at least one according port prototype.

Info

Info

New triggers can also be created via the New Trigger shortcut menu for one or more runnable entities in the runnable entity list.

[Delete]
Deletes the selected triggers.

[Activation Reason]
Opens a dialog for selecting one of the activation reasons of the runnable entity, which can be defined in the Properties page of the runnable entity.

[Mode Disabling]
Opens the Mode Disabling dialog for the selected triggers. This dialog displays all mode declarations of all mode declaration group prototypes of all mode R-port prototypes of the component type. By checking one or more of these entries you specify those modes, in which the triggers are disabled.

The following kinds of triggers can be defined:

  • Init
    The runnable entity is triggered exactly once on start up of the component. Runnables with init triggers are not allowed to have other triggers.
  • Periodically
    The runnable entity is periodically triggered. In the Trigger Definition dialog you may specify the period for the periodic trigger by value and unit.
  • On Data Reception
    The runnable entity is triggered upon an incoming data element. The Trigger Definition dialog displays all data elements prototypes of all receiver port prototypes of the component type. By selecting one more entries and confirming the dialog you can define the trigger.
  • On Data Reception Error
    The runnable entity is triggered upon a reception error of an incoming data element. The Trigger Definition dialog displays all data elements prototypes of all receiver port prototypes of the component type. By selecting one more entries and confirming the dialog you can define the trigger.
  • On Data Send Completion
    The runnable entity is triggered upon completion of sending an output data element (Tx Acknowledge). The Trigger Definition dialog displays all data elements prototypes of all sender port prototypes of the component type. By selecting one more entries and confirming the dialog you can define the trigger.
Info

Info

This kind of trigger is only available for the data element prototype, if Uses Tx Acknowledge is set in the communication specification of the port prototype (see Defining Port Prototypes). This trigger may not be combined with a Wait for Acknowledge port access for the same data element prototype. You may set Poll for Acknowledge, however, to query the reason for the data send completion trigger.
  • On Operation Invocation
    The runnable entity is triggered upon an incoming server call. The Trigger Definition dialog displays all operation prototypes of all server port prototypes of the component type. By selecting one or more entries and confirming the dialog you can define the trigger.
    An operation invocation trigger may not be combined with any other kind of trigger. It may only be combined with triggers of other operations, provided that they have a compatible list of argument prototypes.
  • On Operation Call Return
    The runnable entity is triggered upon return of an asynchronous operation call of a client port prototype. The Trigger Definition dialog displays all operation prototypes of all client port prototypes of the component type. By selecting one or more entries and confirming the dialog you can define the trigger.
Info

Info

If at least one runnable calls a particular operation of a client port in asynchronous mode with return mode waiting, no runnable of the SWC may have an On Operation Call Return trigger for this operation.
  • On Mode Entry
    The runnable entity is triggered upon entry of a particular mode of a mode R-port prototype. The Trigger Definition dialog displays all mode declarations of all mode declaration group prototypes of all mode R-port prototypes of the component type. By selecting one or more entries and confirming the dialog you can define the trigger.
  • On Mode Exit
    The runnable entity is triggered upon exit of a particular mode of a mode R-port prototype. The Trigger Definition dialog displays all mode declarations of all mode declaration group prototypes of all mode R-port prototypes of the component type. By selecting one or more entries and confirming the dialog you can define the trigger.
  • On Mode Switch Acknowledge
    The runnable entity is triggered upon acknowledgement of a mode switch of a mode P-port prototype. The Trigger Definition dialog displays all mode declaration group prototypes of all mode P-port prototypes of the component type. By selecting one or more entries and confirming the dialog you can define the trigger.
Info

Info

This kind of trigger is only available, if Uses Mode Switch Acknowledge is set in the mode switch communication specification of the according mode P-port prototype (see Defining Port Prototypes).

Closed Port Access

In the Port Access sub-page, all port accesses of the runnable entity are listed.

[New]
Opens a sub-menu to define a new port access. The sub-menu contains an entry for each available kind of port access to open an according Port Access Definition dialog (see below). For convenience, the sub-menu entry is only enabled, if the component type has at least one according port prototype.

Info

Info

New port accesses can also be created via the New Port Access shortcut menu for one or more runnable entities in the runnable entity list.

[Delete]
Deletes the selected port accesses.

[Edit]
Opens the Port Access Definition dialog in edit mode to edit the selected triggers. This dialog can be opened if one port access is selected, or if several port accesses of the same kind are selected.

The following kinds of port accesses can be defined.

  • Receive Data
    The runnable entity may receive data from a receiver port prototype. This kind of port access is only available for queued data element prototypes (see also Defining Port Interfaces).
    The Port Access Definition dialog displays a list of all queued data element prototypes of all receiver port prototypes. By selecting one or more entries and confirming the dialog you can define the port access. The list not displayed, if the dialog is opened in edit mode.
    For defining the port access you have the following options:
  • Polling
    Received values are stored in the configured queue. A call to the RTE API Rte_Receive gets the next value out of the queue if one exists.
  • Waiting
    Received values are stored in the configured queue. A category 2 runnable is created with a waitpoint. The API call Rte_Receive waits at this waitpoint until data is available or a timeout occurs. The timeout time can be specified in the dialog as well. After data reception the runnable is resumed.
Info

Info

If you specified a data reception trigger for the runnable entity, the option Waiting is not available.
  • Read Data
    The runnable entity may read data from a receiver port prototype. This kind of port access is only available for unqueued data element prototypes (see also Defining Port Interfaces).
    The Port Access Definition dialog displays a list of all unqueued data element prototypes of all receiver port prototypes. By selecting one or more entries and confirming the dialog you can define the port access. The list not displayed, if the dialog is opened in edit mode.
    For defining the port access you have the following options:
  • Read (explicit by argument)
    The data element value is read directly by the RTE API call Rte_Read. This value may change during runnable execution.
  • DRead (explicit by value)
    For primitive data element the value is read directly by the RTE API call Rte_DRead.
  • Implicit (IRead)
    The data element value is buffered by the RTE before runnable execution. Each Rte_IRead API call during the execution returns this buffered value.
  • Send Data
    The runnable entity may send data to a sender port prototype. This kind of port access is only available for queued data element prototypes (see also Defining Port Interfaces).
    The Port Access Definition dialog displays a list of all queued data element prototypes of all sender port prototypes. Additionally, the dialog displays if the Tx acknowledgement is enabled for data element prototype. By selecting one or more entries and confirming the dialog you can define the port access. The list not displayed, if the dialog is opened in edit mode.
    For defining the port access you have the following options
  • Send
    The runnable entity directly sends the value by the RTE API call Rte_Send.
  • Ack Only
    The runnable entity does not send the value, but accesses the transmission acknowledgement information by the RTE API call Rte_Feedback.

Additionally, you may set the Tx acknowledgement mode to specify, if and how the runnable entity accesses the transmission acknowledgement information:

  • Polling
    The runnable entity uses a non-blocking call of the RTE API Rte_Feedback to access the acknowledgement information.
Info

Info

This option is only available, if at least one of the runnable entities of the component type has a Direct Write Access to the data element prototype.
  • Waiting
    The runnable entity uses a blocking call of the RTE API Rte_Feedback to access the acknowledgement information.
Info

Info

This option is only available, if at least one of the runnable entities of the component type has a Direct Write Access to the data element prototype.
Info

Info

The Tx acknowledgement mode is only relevant for data element prototypes, which support the Tx acknowledgment (see Defining Port Prototypes).
  • Write Data
    The runnable entity may write data to a sender port prototype. This kind of port access is only available for unqueued data element prototypes (see also Defining Port Interfaces).
    The Port Access Definition dialog displays a list of all unqueued data element prototypes of all sender port prototypes. Additionally, the dialog displays if the Tx acknowledgement is enabled for data element prototype. By selecting one or more entries and confirming the dialog you can define the port access. The list not displayed, if the dialog is opened in edit mode.
    For defining the port access you have the following options:
  • Write (explicit)
    The data element value is written directly by the RTE API call Rte_Write.
  • IWrite (implicit)
    During runnable execution the data element value is written in the buffer by the RTE API call Rte_IWrite. After runnable termination the buffered value is copied to the output.

Additionally, you may set the Tx acknowledgement mode to specify, if and how the runnable entity accesses the transmission acknowledgement information:

  • Polling
    The runnable entity uses a non-blocking call of the RTE API Rte_Feedback to access the acknowledgement information.
Info

Info

This option is only available, if at least one of the runnable entities of the component type has a Direct Write Access to the data element prototype.
  • Waiting
    The runnable entity uses a blocking call of the RTE API Rte_Feedback to access the acknowledgement information.
Info

Info

This option is only available, if at least one of the runnable entities has a Direct Write Access to the data element prototype.
Info

Info

The Tx acknowledgement mode is only relevant for data element prototypes, which support the Tx acknowledgment.
  • Invoke Operations
    The runnable entity may invoke operations of a client port prototype by the RTE API call Rte_Call.
    The Port Access Definition dialog displays a list of all operation prototypes of all client port prototypes. By selecting one or more entries and confirming the dialog you can define the port access. The list not displayed, if the dialog is opened in edit mode.
    For defining the port access you have the following options:
  • Synchronous
    The operation is synchronously called. In this case you may specify a timeout value. In case of a timeout, the operation call returns with an according error result.
  • Asynchronous
    The operation is asynchronously called.
    Additionally, you may specify the return mode of the asynchronous call:
  • None
    The runnable entity does not evaluate the result of the operation call.
  • Polling
    The runnable entity uses a non-blocking call of the RTE API Rte_Feedback to access the acknowledgement information.
  • Waiting
    The runnable entity uses a blocking call of the RTE API Rte_Result to get the result of the asynchronous call. In this case you may additionally specify a timeout for the blocking call. The result is expected to be available within the timeout time, otherwise an error will be reported to the component.
Info

Info

All runnables, which access a particular operation of a client port, must call it in the same mode – either synchronous or asynchronous, but not mixed.
  • None
    The runnable entity does not call the operation, but evaluates the result of an operation call, which has been done by any other runnable entity of the component type.
    The runnable entity uses a blocking call of the RTE API Rte_Result to get the result of the asynchronous call. In this case you may additionally specify a timeout for the blocking call. The result is expected to be available within the timeout time, otherwise an error will be reported to the component.
  • Send Mode Switches
    The runnable entity may send mode switches via a mode P-port prototype.
    The Port Access Definition dialog displays a list of all mode declaration group prototypes of all mode P-port prototypes. Additionally, the dialog displays if the Tx acknowledgement is enabled for mode declaration group prototype. By selecting one or more entries and confirming the dialog you can define the port access. The list not displayed, if the dialog is opened in edit mode.
    For defining the port access you have the following options:
  • Switch
    The runnable entity sends the mode switch information by the RTE API call Rte_Switch.
  • Ack Only
    The runnable entity does not send the mode switch information, but accesses the mode switch acknowledgement information by the RTE API call Rte_Feedback.

Additionally, you may specify, if and how the runnable entity accesses the mode switch acknowledgement information:

  • Polling
    The runnable entity uses a non-blocking call of the RTE API Rte_Feedback to access the mode switch acknowledgement information.
Info

Info

This option is only available, if at least one of the runnable entities of the component type has a Switch access to the mode declaration group prototype.
  • Waiting
    The runnable entity uses a blocking call of the RTE API Rte_Feedback to access the acknowledgement information.
Info

Info

This option is only available, if at least one of the runnable entities has a Switch access to the mode declaration group prototype.
Info

Info

The mode switch acknowledgement is only relevant for mode declaration group prototypes, which support the Tx acknowledgment (see Defining Port Prototypes).
  • AR4 Read Mode
    The runnable entity may read the current mode of a mode R-port prototype.

Closed Picture of Runnable page

| Defining Component Types | Defining Mode Declaration Groups | Defining Port Prototypes |


Defining Exclusive Areas

Start Page » Functional Range » Defining Exclusive Areas

An exclusive area of an atomic component type may be defined on the Exclusive Areas page of the Component Type Editor.

You find the following buttons to edit the list of exclusive areas:

[New]
Adds a new exclusive area with a default name.

[Delete]
Deletes the selected exclusive area.

[Copy]
Creates a copy of the selected exclusive area.

After selecting an exclusive area in the list, you may define the name and the description of the exclusive area. Additionally, you may define how the runnable entities of the component type access the exclusive areas.

For each runnable entity, you may select one of the following access modes:

  • No Access
    The runnable entity does not access the exclusive area.
  • Runs In
    The runnable entity runs in the exclusive area during the complete. execution.
  • Can Enter
    The runnable entity can enter the exclusive area during its execution.

The shortcut menu of the exclusive area list offers the following commands:

Exclusive Area Access…
Displays a sequence of two dialogs. The first dialog lets you select one or more of the component type’s runnable entities. The second dialog lets you select an access mode (No Access, Runs In, Can Enter). For each selected runnable entity and all selected exclusive areas an exclusive area access with the specified access mode is created.

Copy
Creates a copy of the selected exclusive areas.

Delete
Deletes the selected exclusive areas.

Closed Picture of Exclusive Areas page


Defining Inter-Runnable Variables

Start Page » Functional Range » Defining Inter-Runnable Variables

An inter-runnable variable of an atomic component type may be defined on the Inter-Runnable Variables page of the Component Type Editor.

You find the following buttons to edit the list of inter-runnable variables:

[New]
Adds a new inter-runnable variable with a default name.

[Delete]
Deletes the selected inter-runnable variable.

[Copy]
Creates a copy of the selected inter-runnable variable.

After selecting an inter-runnable variable in the list, you may define the Name, Data Type, Init Value, Communication (direct or buffered), Calibration Access (NotAccessible, ReadOnly, ReadWrite) and the description of the inter-runnable variable.

Additionally, you may define how the runnable entities of the component type access the inter-runnable variable.

For each inter-runnable variable, you may select via the shortcut menu one of the following access modes:

  • No Access
    The runnable entity does not access the inter-runnable variable.
  • Read
    The runnable entity only reads the inter-runnable variable.
  • Write
    The runnable entity only writes the inter-runnable variable.
  • Read|Write
    The runnable entity reads and writes the inter-runnable variable.

The shortcut menu of the inter-runnable variable list offers the following commands:

Inter-Runnable Variable Access…
Displays a sequence of two dialogs. The first dialog lets you select one or more of the component type’s runnable entities. The second dialog lets you select an access mode (No Access, Read, Write, Read / Write). For each selected runnable entity and all selected inter-runnable variables an inter-runnable variable access with the specified access mode is created.

Copy
Creates a copy of the selected inter-runnable variables.

Delete
Deletes the selected inter-runnable variables.

Properties…
Displays the multi-selection properties dialog letting you edit the following properties of all selected inter-runnable variables in one operation (on confirmation, all checked properties are adopted by all selected inter-runnable variables):

  • Communication
    Select direct or buffered.
  • Data Type
    Select a data type.
  • Init Value
    Select an init value.
Info

Info

The init value of the inter-runnable variable is defined by a constant, which must have the same data type as the inter-runnable variable. You may either select one of the existing constants in the workspace or define a new constant.

Closed Picture of Inter-Runnable Variables page


Defining Calibration Parameters

Start Page » Functional Range » Defining Calibration Parameters

A calibration parameter of an atomic component type may be defined on the Calibration Parameters page of the Component Type Editor.

You find the following buttons to edit the list of calibration parameters:

[New]
Adds a new calibration parameter with a default name.

[Delete]
Deletes the selected calibration parameter.

[Copy]
Creates a copy of the selected calibration parameter.

After selecting a calibration parameter in the list, you may define the Name, Data Type, Init Value, Scope (shared or per instance), Calibration Access (NotAccessible, ReadOnly, ReadWrite) and the description of the calibration parameter.

Info

Info

The init value of the calibration parameter is defined by a constant, which must have the same data type as the calibration parameter. You may either select one of the existing constants in the workspace or define a new constant.

The shortcut menu of the calibration parameter list offers the following commands:

Copy
Creates a copy of the selected calibration parameters.

Delete
Deletes the selected calibration parameters.

Properties…
Displays the multi-selection properties dialog letting you edit the following properties of all selected calibration parameters in one operation (on confirmation, all checked properties are adopted by all selected calibration parameters):

  • DataType
    Select a data type.
  • InitValueConst
    Select an init value.
  • Scope
    Select a scope (shared, per instance).

Closed Picture of Calibration Parameters page


Defining Service Needs

Start Page » Functional Range » Defining Service Needs

An application component type's service needs are defined in the Service Needs view of the Component Type Editor.

In the Service Need view you find a list of the service need classes and you can see which service needs are defined by the little plus. As prefix of the service need, its module name like e.g. ComM, CsM, ... is used. This makes it easy to define the service needs per module.

At the bottom of the Service Need view you find the following buttons to edit the list of service needs:

[New]
Opens a menu to let you choose the type of the new service need. Alternatively you can use the New command in the shortcut menu of the category nodes in the service needs list.

[Delete]
Deletes the selected service needs.

[Copy]
Creates copies of the selected service needs.

For every available type of service need the following properties are the same:

Name

The name of the service dependency. It is used to identify this service need instance.

Service Need Name

The Service Need Name is used to prefix the actual name of the used Port Interface. [TPS_SWCT_01544]

Note

Note

Indeed this prefixing is not implemented yet, but this value can be set already. The option Automatic creation takes the same value as it is for the service dependency name. When Specify manually is chosen, an arbitrary value can be set in the edit box.

Represented Port-Group

Reference to a defined Port Group

Role Based PortAssignment

The current port assignment has been extended by the attribute (Assigned Role). The default name of this assigned role is derived from the port interface and can be changed. Open the context menu and select Assing Role... (multi-selection is also supported). Then either selected the new name from the pull-down menu or type in any name you want.

What follows is a description of the service needs that can be defined in the DaVinci Developer 3.7 (AUTOSAR 4.1.2). Additional properties of a service need are also listed. Where the description is limited to a dash (-), only the four already mentioned properties are defined.

Additionally the roles are listed that will be proposed in the pull-down menu for this kind of service need. The description text is taken from the AUTOSAR specification.

Closed BswM Needs

Additional properties:

  • -

Roles (Role-Based Port Assignment):

  • Control
  • Status
  • AppModeInterface
  • AppModeRequestInterface
Closed ComM User Needs

Additional properties:

  • Max Communication Mode: None | Silent | Full
    Maximum communication mode requested by this ComM user.

Roles (Role-Based PortAssignment):

  • ComM_CurrentMode
  • ComM_UserRequest
  • ComM_ECUModeLimitation
Closed CsM Needs

Additional properties:

  • Max Key Length
    The maximum length of a cryptographic key, that is used by the SWC or module for this configuration.

Roles (Role-Based PortAssignment):

  • CsmHash
  • CsmCallback
  • CsmMacGenerate
  • CsmMacVerify
  • CsmRandomSeed
  • CsmSymBlockEncrypt
  • CsmSymBlockDecrypt
  • CsmSymEncrypt
  • CsmSymDecrypt
  • CsmAsymEncrypt
  • CsmAsymDecrypt
  • CsmSignatureGenerate
  • CsmSignatureVerify
  • CsmChecksum
  • CsmKeyDerive
  • CsmKeyDeriveSymKey
  • CsmKeyExchangeCalcPubVal
  • CsmKeyExchangeCalcSecret
  • CsmKeyExchangeCalcSymKey
  • CsmSymKeyExtract
  • CsmSymKeyWrapSym
  • CsmSymKeyWrapAsym
  • CsmAsymPublicKeyExtract
  • CsmAsymPrivateKeyExtract
  • CsmAsymPrivateKeyWrapSym
Closed Dcm Needs

Additional properties:

  • Security Access Level
    This attribute denotes the level of security which is touched by the diagnostic object.
    The higher the level the more relevance for the security exists.
    This level shall be mapped to the security level in the ECU.

Roles (Role-Based PortAssignment):

  • DCMServices
  • CallbackDCMRequestServices
  • ServiceRequestNotification
Closed Dcm OBD Info Needs

Additional properties:

  • Security Access Level
    This attribute denotes the level of security which is touched by the diagnostic object.
    The higher the level the more relevance for the security exists.
    This level shall be mapped to the security level in the ECU.
  • Data Length
    This attribute is applicable only if the ServiceNeeds is aggregated within BswModuleDependency.
    This attribute represents the length of data (in bytes) provided for this InfoType.
  • Info Type
    The InfoType according to ISO 15031-5

Roles (Role-Based PortAssignment):

  • InfotypeServices
Closed Dcm OBD PID Needs

Additional properties:

  • Security Access Level
    This attribute denotes the level of security which is touched by the diagnostic object.
    The higher the level the more relevance for the security exists.
    This level shall be mapped to the security level in the ECU.
  • Data Length
    This attribute is applicable only if the ServiceNeeds is aggregated within BswModuleDependency.
    This attribute represents the length of data (in bytes) provided for this InfoType.
  • Parameter ID
    Standardized parameter identi?er (PID) according to the OBD standard speci?ed in attribute "standard".
  • Standard
    Annotates the standard according to which the PID is given, e.g. "ISO15031-5" or "SAE J1979 Rev May 2007".

Roles (Role-Based PortAssignment):

  • DataServices
  • signalBasedDiagnostics
Closed Dem Diagnostic Enable Condition Needs

Additional properties:

  • Initial Status: EventAcceptanceStatusEnum "Enabled" | "Disabled"
    Defines the initial status for enable or disable of acceptance of event reports of a diagnostic event.

Roles (Role-Based PortAssignment):

  • EnableCondition
Closed Dem Diagnostic Event Info Needs

Additional properties:

  • DTC Kind: "Emission Related DTC" | "Non Emission Related DTC"
    This attribute indicates the kind of the diagnostic event according to the SWS Diagnostic Event
    Manger for which the DiagnosticInfo is requested. This attribute applies for the UDS diagnostics use case.
  • DTC Number
    This represents a reasonable Diagnostic Trouble Code for which the DiagnosticInfo is requested.
  • OBD DTC Number
    This represents a reasonable Diagnostic Trouble Code. This allows to prede?ne the Diagnostic
    Trouble Code if the a function developer has received a particular requirement from the OEM or from a standardization body. This attribute applies for the OBD diagnostics use case.
  • UDS DTC Number
    This represents a reasonable Diagnostic Trouble Code. This allows to prede?ne the Diagnostic
    Trouble Code if the a function developer has received a particular requirement from the OEM or from a standardization body. This attribute applies for the UDS diagnostics use case.

Roles (Role-Based PortAssignment):

  • CallbackEventDataChanged
  • DiagnosticInfo
Closed Dem Diagnostic Event Needs

Additional properties:

  • DTC Kind: "Emission Related DTC" | "Non Emission Related DTC"
    This attribute indicates the kind of the diagnostic event according to the SWS Diagnostic Event
    Manger for which the DiagnosticInfo is requested. This attribute applies for the UDS diagnostics use case.
  • DTC Number
    This represents a reasonable Diagnostic Trouble Code for which the DiagnosticInfo is requested.
  • OBD DTC Number
    This represents a reasonable Diagnostic Trouble Code. This allows to prede?ne the Diagnostic
    Trouble Code if the a function developer has received a particular requirement from the OEM or from a standardization body. This attribute applies for the OBD diagnostics use case.
  • UDS DTC Number
    This represents a reasonable Diagnostic Trouble Code. This allows to prede?ne the Diagnostic
    Trouble Code if the a function developer has received a particular requirement from the OEM or from a standardization body. This attribute applies for the UDS diagnostics use case.
  • Consider PTO Status
    PTO (Power Take Off) has an impact on the respective emission-related event (OBD). This information shall be provided by SW-C description in order to consider the PTO relevance e.g. for readiness (PID $01) computation. For events with dtcKind set to ’nonEmmissionRelatedDtc’ this attribute is typically false.
  • Inhibiting FID:
    optionale Referenz auf ein Function Inhibition Need
    This represents the primary Function Inhibition Identifier used for inhibition of the diagnostic
    monitor. The FID might either inhibit the monitoring of a symptom or the reporting of detected faults.
  • Inhibiting Secondary FID:
    Liste mit Referenzen auf ein Function Inhibition Need
    This represents the secondary Function Inhibition Identifier used for inhibition of the diagnostic monitor. The FID might either inhibit the monitoring of a symptom or the reporting of detected faults. The "primary" and all "secondary" FID inhibitions are combined by "OR".

Roles (Role-Based PortAssignment):

  • DiagnosticMonitor
  • DiagnosticInfo
  • CallbackInitMonitorForEvent
  • CallbackEventStatusChange
  • CallbackClearEventAllowed
  • CallbackGetFaultDetectCounter
Closed Dem Diagnostic Operation Cycle Needs

Additional properties:

  • Operation Cycle: "Ignition" | "OBD Dcy" | "Warm Up" | "Power" | "Time" | "Other"
    Operation cycles types for the Dem to be supported by cycle-state APIs.
  • Operation Cycle Automatic End
    If this attribute is set to true the Dem shall automatically end the driving cycle at either
    Dem_Shutdown() or Dem_Init().
  • Operation Cycle Auto-Start
    If this attribute is set to true the operation cycles is automatically (re-)started during Dem_PreInit().

Roles (Role-Based PortAssignment):

  • OperationCycle
Closed Dem Diagnostic Storage Condition Needs

Additional properties:

  • Initial Status: "Enabled" | "Disabled"
    Defines the initial status for enable or disable of storage of a diagnostic event.

Roles (Role-Based PortAssignment):

  • StorageCondition
Closed Dem DTC Status Change Notification Needs

Additional properties:

  • DTC Format Type: "OBD" | "UDS" | "J1939"
    This attribute specifies the DTC format.

Roles (Role-Based PortAssignment):

  • CallbackDTCStatusChange
Closed Dem Needs

Additional properties:

  • Security Access Level
    This attribute denotes the level of security which is touched by the diagnostic object.
    The higher the level the more relevance for the security exists.
    This level shall be mapped to the security level in the ECU.

Roles (Role-Based PortAssignment):

  • CallbackInitMonitorForFunction
  • AgingCycle
  • ExternalAgingCycle
  • DTCSuppression
  • PowerTakeOff
  • GeneralCallbackEventDataChanged
  • GeneralCallbackEventStatusChange
  • GeneralDiagnosticInfo
Closed Dem Warning Indicator Requested Bit Needs

Additional properties:

  • -

Roles (Role-Based PortAssignment):

  • EventStatus
Closed Dlt User Need

Additional properties:

  • -

Roles (Role-Based PortAssignment):

  • DLTService
  • LogTraceSessionControl
  • VerboseModeControl
  • InjectionCallback
Closed Dolp Activation Line Needs

Additional properties:

  • -

Roles (Role-Based PortAssignment):

  • DoIPActivationLineStatus
Closed Dolp GID Needs

Additional properties:

  • -

Roles (Role-Based PortAssignment):

  • CallbackGetGID
Closed Dolp GID Synchronization Needs

Additional properties:

  • -

Roles (Role-Based PortAssignment):

  • CallbackTriggerGIDSynchronization
Closed Dolp Power Mode Status Needs

Additional properties:

  • -

Roles (Role-Based PortAssignment):

  • CallbackGetPowerMode
Closed Dolp Routing Activation Authentication Needs

Additional properties:

  • Data Length Request
    Describes the length in byte of the additional information for RA authentication that is needed by the software entity. If the software entity is a SWC the attribute does not need to exist as the information is available via the length of the uint8 Array type. Otherwise (i.e the software entity is a
    Complex Driver) this attribute needs to be filled out if additional information is needed.
  • Data Length Response
    Describes the length in byte of the additional information for RA authentication that is provided by the software entity. If the software entity is a SWC the attribute does not need to exist as the information is available via the length of the uint8 Array type. Otherwise (i.e the software entity is a
    Complex Driver) this attribute needs to be filled in if additional information is provided.
  • Routing Activation Type
    Describes the ISO 13400-2:2012 "routing activation request activation type" which is received via DoIP service 0x0005. 0x00 is DEFAULT, 0x01 is WWH-OBD. If neither of the specified values (0x00 or 0x01) is needed the token shall contain RA_ + hex value representation of the integer value shall be used (i.e: RA_0xE1).

Roles (Role-Based PortAssignment):

  • RoutingActivation
Closed Dolp Routing Activation Confirmation Needs

Additional properties:

  • Data Length Request
    Describes the length in byte of the additional information for RA confirmation that is needed by the software entity. If the software entity is a SWC the attribute does not need to exist as the information is available via the length of the uint8 Array type. Otherwise (i.e the software entity is a Complex Driver) this attribute needs to be filled out if additional information is needed.
  • Data Length Response
    Describes the length in byte of the additional information for RA confirmation that is provided by the software entity. If the software entity is a SWC the attribute does not need to exist as the information is available via the length of the uint8 Array type. Otherwise (i.e the software entity is a Complex Driver) this attribute needs to be filled out if additional information is provided.
  • Routing Activation Type
    Describes the ISO 13400-2:2012 "routing activation request activation type" which is received via DoIP service 0x0005. 0x00 is DEFAULT, 0x01 is WWH-OBD. If neither of the specified values (0x00 or 0x01) is needed the token shall contain RA_ + hex value representation of the integer value shall be used (i.e: RA_0xE1).

Roles (Role-Based PortAssignment):

  • RoutingActivation
Closed EcuM User Needs

Additional properties:

  • -

Roles (Role-Based PortAssignment):

  • EcuM_CurrentMode
  • EcuM_StateRequest
  • EcuM_ShutdownTarget
  • EcuM_BootTarget
  • EcuM_AlarmClock
Closed FiM Function Inhibition Needs

Additional properties:

  • -

Roles (Role-Based PortAssignment):

  • FunctionInhibition
Closed NvM Block Needs

Additional properties:

  • Number of Data Sets
    Number of data sets to be provided by the NVRAM manager for this block. This is the total number of ROM blocks and NV Blocks.
  • Number of ROM Blocks
    Number of ROM blocks to be provided by the NVRAM manager for this block. Please note that these multiple ROM Blocks are given in a contiguous area.
  • Ram Block Status Control: "API" | "Nv Ram Manager"
    This attribute defines how the management of the ramBlock status is controlled.
  • Reliability: “No Protection”| “Error Detection”| “Error Correction”
    Reliability against data loss on the non-volatile medium.
  • Writing Priority: "low" | "medium" | "high"
    Requires the priority of writing this block in case of concurrent requests to write other blocks.
  • Writing Frequency
    Provides the amount of updates to this block from the application point of view. It has to be provided in "number of write access per year".
  • Calculate RAM Block CRC
    Defines if CRC (re)calculation for the permanent RAM block is required.
  • Check Static Block ID
    Defines if the Static Block Id check shall be enabled.
  • ReadOnly
    True: data of this block are write protected for normal operation (but protection can be disabled)
    false: no restriction
  • Resistant to Changes
    Defines whether an Nv block shall be treated resistant to configuration changes (true) or not (false). For details how to handle initialization in the latter case, please refer to the NVRAM specification.
  • Restore at Start
    Defines whether the associated RAM mirror block shall be implicitly restored during startup by the basic SW or not. Only relevant if a RAM mirror block is associated with this port (for Software Components the latter is modelled via SwcServiceDependency).
  • Store at Shutdown
    Defines whether or not the associated RAM mirror block shall be implicitly stored during shutdown by the basic SW. This is only relevant if a RAM mirror block is associated with this port (for software-components the latter is modelled by means of a SwcServiceDependency).
  • Write Verification
    Defines if Write Verification shall be enabled for this Nv Block.
  • Write only once
    Defines write protection after first write: true: This block is prevented from being changed/erased or being replaced with the default ROM data after first initialization by the software-component. false: No such restriction.
  • Store Cyclic
    Deﬁnes whether or not the associated RAM Block shall be implicitly stored periodically by the basic software.
  • Cyclic Writing Period
    This represents the period for cyclic writing of NvData to store the associated RAM Block.
  • Store Emergency
    Deﬁnes whether or not the associated RAM Block shall be implicitly stored in case of ECU failure (e.g. loss of power) by the basic software. If the attribute storeEmergency is set to true the associated RAM Block shall be conﬁgured to have immediate priority.
  • Store Immediate
    Deﬁnes whether or not the associated RAM Block shall be implicitly stored immediately during or after execution of the according SW-C RunnableEntity by the basic software.
  • Use Auto Validation At Shutdown
    If set to true the RAM Block shall be auto validated during shutdown phase.
  • Use CRC CompareMechanism
    If set to true the CRC of the RAM Block shall be compared during a write job with the CRC which was calculated during the last successful read or write job in order to skip unnecessary NVRAM writings.
  • RAM Block
    Reference to a per instance memory block of the component type to be used as buffer for the nvram memory block.
  • Default Value
    Reference to a calibration parameter of the component type to be used as init value for the nvram memory block.

Roles (Role-Based PortAssignment):

  • NvmService
  • NvMNotifyJobFinished
  • NvMNotifyInitBlock
  • NvMAdmin
  • NvMMirror
  • NvDataPort
Closed StbM User Needs

Additional properties:

  • -

Roles (Role-Based PortAssignment):

  • StbM_TimeBaseValue
  • StbM_TimeBase_TriggerCustomer
  • StbM_TimeBase_StateNotification
Closed WdgM Supervised Entity Needs

Additional properties:

  • Expected Alive Cycle
    Expected cycle time of alive trigger of this SupervisedEntity (in seconds).
  • Max Alive Cycle
    Maximum cycle time of alive trigger of this SupervisedEntity (in seconds).
  • Min Alive Cycle
    Minimum cycle time of alive trigger of this SupervisedEntity (in seconds).
  • Tolerated Failed Cycles
    Number of consecutive failed alive cycles for this SupervisedEntity which shall be tolerated until the supervision status of the SupervisedEntity is set to WDGM_ALIVE_EXPIRED (see SWS WdgM for more details).
    Note that this value has to be recalculated with respect to the WdgM’s own cycle time for ECU configuration.
  • Active at Start
    True/false: supervision activation status of SupervisedEntity shall be enabled/disabled at start.
  • Enable Deactivation
    True: software-component shall be allowed to deactivate supervision of this SupervisedEntity
    false: software-component shall be not allowed to deactivate supervision of this SupervisedEntity

Roles (Role-Based PortAssignment):

  • WdgM_AliveSupervision
  • WdgM_IndividualMode
  • WdgM_GlobalMode

Closed Picture of Service Needs page


Defining Per-Instance Memory

Start Page » Functional Range » Defining Per-Instance Memory

The per-instance memory of an atomic component type may be defined on the Per-Instance Memory page of the Component Type Editor.

You find the following buttons to edit the list of per-instance memory:

[New]
Adds a new per-instance memory with a default name.

[Delete]
Deletes the selected per-instance memory segments.

[Copy]
Creates a copy of the selected per-instance memory segments.

After selecting a per-instance memory in the list, you may define the name and description of the per-instance memory. Additionally, you may define the following properties of the per-instance memory:

  • Data Type
    Specifies the data type of the per-instance memory by one of the following options:
  • Selection of a data type from the library
  • Verbatim definition of the data type in C syntax via type and type definition. Please refer to the AUTOSAR RTE SWS specification for details.
  • NvM Block Need
    Specifies a reference to one of the component type's NvM block needs. Indicates that the per-instance memory is assumed to be mapped to a NV (non-volatile) memory block during ECU integration. If this reference is set, you may additionally specify that a calibration parameter is used to specify the default value for the per-instance memory. You may specify this by selecting one of the component type's calibration parameters as Default Calibration Parameter of the referenced NvM block need (see Defining service needs).
  • Calibration Access
    Specifies a calibration access of the per-instance memory.

The shortcut menu of the per-instance memory list offers the following commands:

Copy
Creates a copy of the selected per-instance memory segments.

Delete
Deletes the selected per-instance memory segments.

Properties…
Displays the multi-selection properties dialog letting you edit the following properties of all selected per-instance memory segments in one operation (on confirmation, all checked properties are adopted by all selected per-instance memory segments):

  • Data Type
    Select a data type.
  • Type and Type Definition
    Enter a verbatim definition of the data type in c syntax.

Closed Picture of Per-Instance Memory page


Defining the Sub-Structure of a Composition Type

Start Page » Functional Range » Defining the Sub-Structure of a Composition Type

If you have select Composition as realization of a component type you may define the sub-structure of the composition type by graphically adding component prototypes and connector prototypes. To edit the sub-structure of a composition type you may open the Software Design Editor.

Info

Info

If you initially display the sub-structure of a composition type, its delegation port prototypes are displayed at a default position on the sheet. Please call View|Zoom to fit to make all delegation port prototypes visible.

For designing the sub-structure of a composition type you have the following possibilities (see also Organizing complex structure graphics):

Closed Adding a component

You may add a component as follows:

In the Structure Graphic view mode, you may add components by dragging one or more application component types from the Library Browser and dropping them in the graphic editor or otherwise by using:

After selecting a composition in the component tree, you may call:

  • New Component in the shortcut menu
  • New Component toolbar button

This command opens the Component dialog to create a new component. The creation of a component is done implicitly by adding a component prototype to the composition type of the selected component in the component tree.

The Component dialog allows you to define the properties of the component prototype, including the component type of the component prototype:

  • Name of the component prototype
  • Component type of the component prototype
    Using [New...] you may open the Component Type dialog to create a new component type and use it as base for the component prototype. The new component type is also displayed in the Library Browser. [...] opens a dialog, which allows you to select one of the already existing component types in the library.
  • Description of the component prototype

Closed Adding a port prototype

In the Structure Graphic view mode, you may add a port prototype as follows:

The commands for defining port prototypes (see Defining Port Prototypes) are also available during structure design:

  • You may use drag & drop (see Defining Port Prototypes) or the shortcut menu of the sub-components to define port prototypes for a sub-component.
Info

Info

The modifications are always applied to the component type of the sub-component.
  • You may use drag & drop (see Defining Port Prototypes) or the shortcut menu of the background of the Structure view to define delegation port prototypes for the composition type itself.
  • You may use copy & paste to create a copy of a port prototype at the same component prototype, at a different component prototype or to create a new delegation port prototype.

Closed Automatic adding of delegation port prototypes

Using Complete delegation port(s) in the shortcut menu you may call the automatic creation of delegation ports. This functionality automatically connects a non-connected port prototype with a new delegation port prototype. The delegation port prototypes are placed at a default position within the structure. This command is available in the following conditions:

  • By selecting one or more unconnected port prototypes, you may call this command to add delegation ports for the selected ports.
  • By selecting one or more component prototypes, you may call this command to add a delegation port for each unconnected port prototype of the selected component prototype(s).

Closed Manual definition of connector prototypes

You may define a connector prototype as follows:

In the Structure Graphic view mode, you may use

  • Draw Connector Mode in the shortcut menu or
  • Draw Connector toolbar button [image] or
  • Menu View|Draw Connector mode

to activate the mode for drawing connector prototypes manually. In this mode, you may draw a connector prototype between two port prototypes by selecting a port prototype and then the port prototype to connect with.

To support you to find matching port prototypes, you may activate the interactive highlighting of compatible port prototypes (see Global Settings).

Info

Info

After drawing a connector prototype, you are still in the Draw Connector mode. This means, you may continue with drawing additional connector prototypes. If you are done with drawing connector prototypes, you have to switch back e.g. to the selection mode.

In the P-Port connector list view mode or R-Port connector list view mode or Structure Graphic view mode, you may select a port prototype and New Connector in the shortcut menu to open the Port Selection dialog. This dialog displays all other port prototypes, which are candidates for being connected. By enabling Show strict compatible ports only or Show extended compatible ports only you may filter the list to display only those port prototypes, which are assumed to be compatible according to the strict or extended compatibility rule (see Menu|Options|Workspace Settings -Port Compatibility). By enabling Show unconnected ports only you may filter the list to display only the unconnected ports. After confirming this dialog, a new connector prototype will be created.

Closed Manual definition of connector prototypes with Port Interface Mapping

Select Existing

If an adequate Data Prototype Mapping exists, you can assign them via [...].

Create New

Create new Port Interface Mapping via [image]. The Data Prototype Mapping window opens and shows the elements of the connected ports. The mapping direction is separated in 1st Interface View page and 2nd Interface View page. Select the elements you want to map and confirm the mapping with [Map]. Make this step for each element.

Texttable Mapping
If you use Bitfield as Data Type, a Texttable Mapping is necessary. Right-click the mapped element and open Texttable Mapping window via New Texttable Mapping... at the shortcut menu.

First define Mapping Direction, 1st to 2nd or 2nd to first (depends on selected Data Prototype Mapping page) or bidirectional (same settings for each direction).

  • Identical Mapping
    • Set to True if no conversion of the values between the mapped Data Prototypes is necessary
    • Set to False if conversion of the values between the mapped Data Prototypes is necessary
  • Bitmask
    A Bitmask is necessary to define the bit masks of one or both Data Prototype(s) to map, if one or both reference a compu method of category bitfield textable.
    In this case enter e.g. 11110000 as Binary for the First to mark Bit(s) 4-7 as relevant and e.g. 00000111 as Binary for the Second to mark Bit(s) 0-2 as relevant.
  • Value Mapping
    If your mapping is not identical (Identically Mapping = false), you have to perform a Value Mapping.
    Not identical mapping means that a conversion of the values between the mapped Data Prototypes is necessary.
    Therefore [Add] a new Texttable value pair for each value that needs to be converted. Define the First Value (0110000) and Second Value(e.g. 110)
Example

Example

This Textable Mapping is defined for one direction (1st to 2nd) and the mapping is not identical!

The relevant Bit(s) for the First are 4-7 and 0-2 for the Second, so the bit width is not identical - a value mapping is necessary.

In this case the value 01100000 from the 1st Data Prototype will be converted to the value 00000110 for the 2nd Data Prototype.

Confirm your Texttable Mapping with [OK] and go back to Data Prototype Mapping window.

Confirm your Data Prototype Mapping with [OK]. The created Data Prototype Mapping will be stored within the Interface Mapping Set, defined as default mapping set in your project.

Properties

Open the Data Prototype Mapping window via [image] to update the assigned Data Prototype Mapping.

Closed Automatic definition of connector prototypes

You may automatically define connector prototypes as follows:

In the Structure Graphic view mode, you may use:

  • Connectors|Complete Connectors in the shortcut menu or
  • Automatically create connector prototypes toolbar button

In the P-Port connector list view mode or R-Port connector list view mode, you may use Complete Connectors in the shortcut menu.

This command opens the Auto-Connect Port Prototypes dialog. In this dialog you automatically create connector prototypes with the following steps:

  • Step 1: Find candidates for creating new connector prototypes

After opening the dialog, the connector list displays the candidates, which were found according to the search options. In case you change the search options and push [Apply], the connector list is updated.

  • Step 2: Remove the candidates you don’t want to create

After selecting a candidate in the connector list you may use [Remove] in the shortcut menu to remove it from the list.

  • Step 3: Confirm the dialog to create the connector prototypes

After confirming the dialog with [OK] the connector prototypes are created.

Cross Reference

Find more detailed information about auto connection in TechnicalReference_AutoConnect.pdf, (located at the Docs folder in the DaVinci Developer installation path.

Search options

The candidates are searched based on the names of the port prototypes. By using the according toolbar buttons in the toolbar of the dialog, you may define the search direction:

  • P-Port view mode

The P-port prototype defines the name pattern, and a matching R-port prototype is searched.

  • R-Port view mode

The R-port prototype defines the name pattern, and a matching P-port prototype is searched.

To achieve the best results, you first need to give details about the naming pattern you used for the P-port prototypes (in P-Port view mode) resp. R-port prototypes (in R-port view mode).

DaVinci DEV can handle the following search pattern:

[<Prefix>][<Name of connected Component Prototype>_]<Port Prototype name>[<Postfix>]

You may specify the naming pattern with the pattern options

  • Prefix/Postfix

If a prefix and/or postfix is defined, this prefix/postfix is virtually subtracted from the port prototype name

  • Name of Connected Component Prototype included.

If Name of Connected Component Prototype included is set, the first part of the name up to the first underscore character (_) is assumed to be the name of the counterpart component prototype.

The rest of the virtually shortened port prototype name (search string) is used for finding matching counterpart ports to connect.

You may refine this search with the Connect Options:

  • Allow split

Allow the creation of connector prototypes, which will cause a connector split situation (i.e. several connector prototypes at the same P-port prototype).

  • Allow merge

Allow the creation of connector prototypes, which will cause a connector merge situation (i.e. several connector prototypes at the same R-port prototype).

  • Allow incompatible

A candidate is found even though the port prototypes are incompatible

  • Match case

The character case of the counterpart port prototype name must match

  • Match whole word

The search string is identical with the counterpart port prototype name. If this not set, the search string may be a sub-string of the counterpart port prototype name.

Info

Info

The search algorithm also considers the Split and Merge settings in the Workspace Settings dialog.
Example

Closed Example 1

Situation:

Recommended pattern options:

Pattern: <PORT_PROTOTYPE>
Prefix: —
Postfix: —
Name of Connected Component Prototype Included: Not activated

-> In SWC 2 is searched for A, B, C

Result: All possible connections will be found.

Closed Example 2

Situation:

Recommended pattern options:

Pattern: PP_<PORT_PROTOTYPE>
Prefix: PP_
Postfix: —
Name of Connected Component Prototype Included: Not activated
Match whole word: Deactivated

-> In SWC 2 is searched for A, B or C (PP_ is excluded from the search).

Result: All possible connections will be found.

Closed Example 3

Situation:

Recommended pattern options:

Pattern: <COMPONENT PROTOTYPE><PORT_PROTOTYPE>
Prefix: —
Postfix: —
Name of Connected Component Prototype Included: Activated

-> In SWC 2 is searched for P1, in SWC 2 is searched for P1 and P2.

Result: All possible connections will be found.

Closed Automatic deletion of inconsistent connector prototypes

You may automatically delete inconsistent connector prototypes as follows:

In the Structure Graphic view mode, you use Connectors|Purge Connectors in the shortcut menu

In the P-Port connector list view mode or R-Port connector list view mode, you may use Purge Connectors in the shortcut menu.

This command deletes all inconsistent connector prototypes within the displayed sub-structure

Closed Changing the start or end port of connector prototypes

You may change the start or end port of a connector prototype as follows:

In the Structure Graphic view mode, you may select the start point or end point of a connector prototype drag & drop the start point or end point of the connector line to a different port.

In the P-Port connector list view mode or R-Port connector list view mode, you may use the Port Selection dialog to change the start or end port. You may open this dialog using the shortcut menu item Change Sender Port Prototype (resp. similar commands for Receiver-, Client-, Server- or Delegation Port Prototypes). This dialog displays all other available port prototypes, which are candidates for being connected. By selecting Show compatible ports only the list is filtered to display only the compatible ports.

Closed Adapting the properties of connected port prototypes

Based on a given connector prototype you may adapt the start or end port of a connector prototype as follows:

In the Structure Graphic view mode you may select the start port or end port of a connector prototype.

In the P-Port connector list view mode or R-Port connector list view mode you may select a connector prototype.

Using the shortcut menu item Adapt Connected Port Prototypes you may open the Port Prototype Adaptation dialog. In this dialog you may select the specification to be adapted:

  • Port Interface

The connected port prototypes are adapted to reference the same port interface as the selected port prototype. The communication specification will be adapted as well.

  • Communication Specification

The communication specification of the connected port prototypes are adapted to match the communication specification of the selected port prototype. The port interface of the connected port prototypes are not changed.

Closed Defining Port Terminators

A port terminator is an annotation which indicates that a port prototype is intentionally unconnected:

Port terminators are also considered during consistency check: the info message about unconnected port prototypes is not displayed if the port prototype has a port terminator.

In the Structure Graphic view mode, you may select one or more port prototypes and use the following commands in the shortcut menu

Annotation|Add Port Terminator
Adds a port terminator to the selected port prototypes.

Annotation|Remove Port Terminator
Removes the port terminators from the selected port prototypes.

Info

Info

Port Terminators are automatically removed when you connect the port with a connector prototype.

| AR3 Defining Data Types | Defining Port Interfaces | Defining Component Types | Defining Port Prototypes | Working with Graphical Editors |


Defining the Software Structure of an ECU Project

Start Page » Functional Range » Defining the Software Structure of an ECU Project

The application software structure of an ECU project is defined in the Software Design Editor.

The components of the ECU projects are always organized under a top level element, called ECU Composition. The ECU composition is automatically defined for each ECU project. Since it is a virtual element and serves just for organizational purpose, the ECU composition is not displayed in the Library Browser. By default, the ECU composition is named ECU_Composition. By editing the properties of the ECU composition you may change the name.

You may now define the sub-structure of the ECU composition by adding component prototypes, port prototypes or connector prototypes.

| Defining the Sub-Structure of a Composition Type | Creating an ECU Project | Working with Graphical Editors |


Defining NV Block Components

Start Page » Functional Range » Software Design » Defining NV Block Components

Principally AUTOSAR defines threealternatives how a software component can access non volatile memory:

  • The first option is the direct access of the NvM via service port prototypes
  • The second option is that the software component defines a PerInstantMemory (in its internal behavior) and a NV Block Need referring to the PerInstanceMemory via a RoleBasedPortAssignment.
  • The third option is that there is a special software component, a NvBlockComponent, that provides NV data that the application software component can access via PortPrototypes. In this case it is possible that the NV data can be accessed by more than just one application software component.

A NvBlockComponent can consist of PortPrototypes, Runnables and NvBlockDescriptors.

Only PortPrototypes of the types NvDataInterface, ClientServerInterface and ModeSwitchInterface are allowed.

The NV ports are used to read or write NV data.

With the Client/Server ports the NvBlockComponent is able to offer the block-related services, administrative services or notifications.

The NvBlockComponent may have runnables that define triggers according to the intended writing strategies, block-related or administrative services or notifications. For this type of component only a few types of triggers are allowed:

  • Periodical Trigger
  • On Data Reception Trigger
  • On Operation Invocation Trigger
  • On Mode Entry Trigger
  • On Mode Exit Trigger
  • On Transition Trigger

A NvBlockDescriptor defines the properties of exactly one NvRamBlock.

Properties

  • Name
    Name oft the NvBlockDescriptor.
  • Ram Block
    Deﬁnes the RAM Block of the NVRAM Block provided by NvBlockSwComponentType.
  • Rom Block
    Deﬁnes the ROM Block of the NVRAM Block provided by NvBlockSwComponentType.
  • Support Dirty Flag
    Specifies whether the RTE shall control the calling of NvM functions for writing and/or status control of potentially modified RAM Blocks to NV memory.

The section „Writing Runnables“ contains information relevant for the writing strategy.

  • Periodic Trigger
    This reference selects the TimingEvent to be used by the RTE for implementing a cyclic writing strategy for this block.
  • Data Reception Triggers
    This is a read-only list that contains runnables that have OnDataReceived-Triggers on those ports that are mapped to this block (via the Nv Block Data Mapping).

NV Block Need

  • Number of Data Sets
    Number of data sets to be provided by the NVRAM manager for this block. This is the total number of ROM blocks and NV Blocks.
  • Number of ROM Blocks
    Number of ROM blocks to be provided by the NVRAM manager for this block. Please note that these multiple ROM Blocks are given in a contiguous area.
  • Ram Block Status Control: "API" | "Nv Ram Manager"
    This attribute defines how the management of the RAM block status is controlled.
  • Reliability: “No Protection”| “Error Detection”| “Error Correction”
    Reliability against data loss on the non-volatile medium.
  • Writing Priority: "low" | "medium" | "high"
    Requires the priority of writing this block in case of concurrent requests to write other blocks.
  • Writing Frequency
    Provides the amount of updates to this block from the application point of view. It has to be provided in "number of write access per year".
  • Calculate RAM Block CRC
    Defines if CRC (re)calculation for the permanent RAM block is required.
  • Check Static Block ID
    Defines if the Static Block Id check shall be enabled.
  • ReadOnly
    True: data of this block are write protected for normal operation (but protection can be disabled)
    False: no restriction
  • Resistant to Changes
    Defines whether an NV block shall be treated resistant to configuration changes (true) or not (false). For details how to handle initialization in the latter case, please refer to the NVRAM specification.
  • Restore at Start
    Defines whether the associated RAM mirror block shall be implicitly restored during startup by the basic SW or not. Only relevant if a RAM mirror block is associated with this port (for Software Components the latter is modelled via SwcServiceDependency).
  • Store at Shutdown
    Defines whether or not the associated RAM mirror block shall be implicitly stored during shutdown by the basic SW. This is only relevant if a RAM mirror block is associated with this port (for software-components the latter is modelled by means of a SwcServiceDependency).
  • Write Verification
    Defines if Write Verification shall be enabled for this Nv Block.
  • Write only once
    Defines write protection after first write: true: This block is prevented from being changed/erased or being replaced with the default ROM data after first initialization by the software-component. false: No such restriction.
  • Store Cyclic
    Deﬁnes whether or not the associated RAM Block shall be implicitly stored periodically by the basic software.
  • Cyclic Writing Period
    This represents the period for cyclic writing of NvData to store the associated RAM Block.
  • Store Emergency
    Deﬁnes whether or not the associated RAM Block shall be implicitly stored in case of ECU failure (e.g. loss of power) by the basic software. If the attribute storeEmergency is set to true the associated RAM Block shall be conﬁgured to have immediate priority.
  • Store Immediate
    Deﬁnes whether or not the associated RAM Block shall be implicitly stored immediately during or after execution of the according SW-C RunnableEntity by the basic software.
  • Use Auto Validation At Shutdown
    If set to true the RAM Block shall be auto-validated during shutdown phase.
  • Use CRC CompareMechanism
    If set to true the CRC of the RAM Block shall be compared during a write job with the CRC which was calculated during the last successful read or write job in order to skip unnecessary NVRAM writings.
  • RAM Block
    Reference to a per instance memory block of the component type to be used as buffer for the NV memory block.
  • Default Value
    Reference to a calibration parameter of the component type to be used as init value for the NV memory block.
  • Role Based Port Assignment
    The RoleBasedPortAssignement deﬁnes which client server port of the NvBlockSwComponentType serves for which kind of service or notiﬁcation. In case of notiﬁcations one common callback function is provided by the RTE for each individual kind of notiﬁcation deﬁned by the "role".

    Roles (Role-Based PortAssignment):
    • NvmService
    • NvMNotifyJobFinished
    • NvMNotifyInitBlock
    • NvMAdmin

NV Block Data Mapping

The NvBlockDataMapping specifies the mapping of DataElements of a P-/R-PortPrototype to DataElements inside the RAM block.

Multiple mappings to the same RAM block element are possible.

When data is written to a RAM Block, the corresponding data comes from a R-Port that is connected to an application component.

If data is read from the RAM block this data is sent through a P-Port to the connected components.


Defining Blueprint Mapping Sets

Start Page » Functional Range » Defining Blueprint Mapping Sets

A blueprint mapping set may be created in the Library Browser. To open a dialog for creating a blueprint mapping set you select the shortcut menu item New Blueprint Mapping Set of the Blueprint Mapping Sets folder of the Blueprints folder in the Library Browser.

In the Blueprint Mapping Set dialog you may define the name the mapping set.

After selecting the blueprint mapping set in the Library Browser you may select the shortcut menu item Set as default mapping set to mark it as default mapping set. Using the shortcut menu item Open you may open the Blueprint Mapping Editor to display or change the blueprint mappings.

Note

Note

The default mapping set is used when defining port prototypes based on port prototype blueprints.

Defining Port Prototypes | Defining Port Prototype Blueprints | Blueprint Mapping Editor


Defining Port Prototype Blueprints

— Vector DaVinci Developer Help —

— Vector DaVinci Developer Help —

AR4: Defining Port Prototype Blueprints

Start Page » Functional Range » AR4: Defining Port Prototype Blueprints

A port prototype blueprint may be created in the Library Browser. To open a dialog for creating a port prototype blueprint you select the shortcut menu item New Port Prototype Blueprint of the Port Prototype Blueprints folder of the Blueprints folder in the Library Browser.

In the Port Prototype Blueprint dialog you may define the name and the port interface of the port prototype blueprint. Additionally you may define the communication specification (See "Defining Port Prototypes").

Defining Port Prototypes | Defining Blueprint Mapping Sets | Blueprint Mapping Editor


Defining Port Groups

Start Page » Functional Range » Defining Port Groups

A port group may be defined in the Port Group view of the Component Type Editor or in the Port Group view of the ECU-Project’s Software Design Editor.

You find the following buttons to edit the list of port groups:

[New]
Adds a new port group with the default name

[Delete]
Deletes the selected port group.

[Copy]
Creates a copy of the selected port group

Closed Properties

After selecting a port group in the list, you may edit the name and the description of the port group. Additionally, you may reference port prototypes of the component type itself. In case of a composition, port groups in the hierarchy might also be referenced.

  • Select Existing – adds reference to currently existing port prototype
  • Create New – creates a new port prototype and adds the reference to it
  • Remove – removes references to selected port prototype(s) or port group(s)
  • Properties - displays properties of the selected port prototype
Note

Note

Only port prototypes of the component type itself might be removed. Port prototypes of referenced port group might be removed only in the context of its component type.

Closed Pnc Mapping

Port groups representing a virtual network cluster might be mapped to a partial network cluster(PNC) in the Software Design Editor on the Pnc-Mapping page of the Port Group view.

The definition of a partial network cluster(PNC) is part of the system design and it is not provided by means of the DaVinci Developer. If the Pnc-Mapping page is empty, the PNC definition is missing in the workspace and it should be imported. If the PNCs are provided, you can check a port group in the software hierarchy to be mapped to the PNC.


Defining Application Data Types

Start Page » Functional Range » Defining Application Data Types

An application data type may be created in the Library Browser. To open a dialog for creating an application data type you select one of the following shortcut menu items of the Application Data Types folder of the Data Types folder in the Library Browser:

New Boolean
The Application Boolean dialog allows you to select a compu method and data constraints of the Boolean type. Optionally, you may define the invalid value, which is relevant when using the invalidation mechanism (see also Defining Port Prototypes).

New Value
The Application Value dialog allows you to select a unit, compu method and data constraints of the value type. Optionally, you may define the invalid value, which is relevant when using the invalidation mechanism (see also Defining Port Prototypes).

New String
The String dialog allows you to select a compu method and to define the text properties of the string type. The text properties include the selection of the string’s base type, the definition of a fixed or variable size, and a filling character.

New Array
The Application Array dialog allows you to select the data type of the array (one of the other application data types) and a fixed or variable size.

New Record
The Application Record dialog allows you to define the record elements. By selecting e.g. an array type as data type of a record element you may define complex hierarchical data types.

New Axis
An Axis describes one of the input values of a characteristic table. The Axis dialog allows you to define the number of axis points representing different values and its according types. For global Axis DaVinci Developer supports the category COM_AXIS. Also define input variable type, min. axis points and max. axis points, the compu method, data contrains and unit.

Note

Note

any Axis you create via New Axis is a so-called Grouped Axis and will be displayed in the library. There also exist Individual Axis that only exist within a Characteristic Table and which will not be displayed in the library.

New Characteristic Table
The Characteristic Table dialog allows you to define a number of input values (axis) and an output value (as Application Values Type). The output value is determined by the input values. The number of input axes determines the category of the Characteristic Table. DaVinci Developer supports Curve (one axis), Map (two axes) and Cuboid (3 axes). Above this the values for the compu method, data constraint and unit can be configured.

Info

Info

If the number of axes does not fit to the chosen category, you get an information when leaving the window via the [Ok] button.

As common feature in all dialogs you can define the calibration access of the data type as ReadOnly, ReadWrite, NotAccessible or NotSpecified.

Application data types have to be mapped to implementation data types before generating the Rte. See Creating Implementation Data Types matching to Application Data Types how this can be done automatically.

| Defining Implementation Data Types | Defining Base Types | Defining Units |Defining Compu Methods | Defining Data Constraints | Defining Type Mapping Sets |


Defining Implementation Data Types

Start Page » Functional Range » Defining Implementation Data Types

An implementation data type may be created in the Library Browser. To open a dialog for creating an implementation data type you select one of the following shortcut menu items of the Implementation Data Types folder of the Data Types folder in the Library Browser:

New Value
The Implementation Value dialog allows you to select a unit, compu method and data constraint of the value type. Optionally, you may define the invalid value, which is relevant when using the invalidation mechanism (see also Defining Port Prototypes). Furthermore, you can select the base type.

Info

Info

The base type may be left undefined if the name of the implementation type corresponds to one of the platform types. By default, a DaVinci Developer workspace in AR4 mode contains such implementation types named like the platform types, e.g. uint8.

New Type Reference
The Type Reference dialog allows you to select the referenced data type (one of the other implementation data types) and a compu method of the type reference type. Optionally, you may define the invalid value, which is relevant when using the invalidation mechanism (see also Defining Port Prototypes).

Note

Note

A type reference expresses a redirection to another data type as defined by the C code statement typedef MySimpleType MyTypeRef;

New Data Reference ...
The Data Reference dialog allows you to select either a void type (a base type with encoding VOID) or one of the other implementation data types. Via the target policy you can define whether the a the referenced data type is const or not. Via the implementation policy you can define whether the reference itself is const or not.

Note

Note

A data reference expresses a pointer type as defined by the C code statement typedef MySimpleType * MyDataRef; or typedef void * MyDataRef;. By setting the target policy you can express typedef const void * MyDataRef;. By setting the implementation policy you can express typedef void * const MyDataRef;

New Array
The Implementation Array dialog allows you to select the element type of the (Value, Type Reference, Array or Record) and a fixed or variable size. By selecting e.g. a record type as element type you may define complex hierarchical data types such as an array-of-records.

New Record
The Implementation Record dialog allows you to define the record elements. By selecting e.g. an array type as element type of a record element you may define complex hierarchical data types such as a record-of-arrays.

New Union
The Implementation Union dialog allows you to define the union elements. By selecting e.g. an array type as element type of a union element you may define complex hierarchical data types such as a union-of-arrays.
There is no explicit Union Constant that can be set e.g. as an init value. For initialization always the first element of the union is used, hence the init value has to be compatible with the data type of the very first element of the union, the element with the order index 0.
Unions have no direct counterpart on Application-DataType level. Therefore unions might not be used within DataTypeMappings.

Note

Note

Only one of the union elements might hold data at a given time. It is only allowed to read the element that was actually written, unions do not provide any data conversion mechanism.

As common feature in all dialogs you can define a symbol, an additional native type qualifier (e.g. strict or volatile) and the definition of the type emitter. If the type emitter is empty or set to RTE, the RTE is responsible for creating the according type definition. In this case, the RTE generator is supposed to use the symbol instead of the type name (if defined) and add the type qualifier. Furthermore, the calibration access of the data type can be defined (except for the Type Reference dialog and the Data Reference dialog) as ReadOnly, ReadWrite, NotAccessible or NotSpecified.

Application data types have to be mapped to implementation data types before generating the Rte. See Creating Implementation Data Types matching to Application Data Types how this can be done automatically.

| Defining Application Data Types | Defining Base Types | Defining Units | Defining Compu Methods | Defining Data Constraints | Defining Type Mapping Sets |


Defining Base Types

Start Page » Functional Range » Defining Base Types

A base type may be created in the Library Browser. To open a dialog for creating a base type you select the shortcut menu item New Base Type of the Base Data Types folder of the Data Types folder in the Library Browser.

In the Base Type dialog you may define the following parameters

  • Category
    Allows you to define the base type with a fixed-length type of a given absolute size of the type in bits, or a variable-length type with a maximum size.
  • Definition
    Allows you to define the encoding, the native declaration of the type and the platform specific alignment and byte order.

| Defining Application Data Types | Defining Implementation Data Types | Defining Units | Defining Compu Methods | Defining Data Constraints |


Defining Compu Methods

Start Page » Functional Range » Defining Compu Methods

A compu method may be created in the Library Browser. To open a dialog for creating a compu method you select the shortcut menu item New Compu Method of the Compu Methods folder of the Data Types folder in the Library Browser.

In the Compu Method dialog you may define a symbol for the compu method, select a unit and define the category (Identical, Linear, Scale-Linear, TextTable, Scale-LinearAndTextTable or BitfieldTextTable).

By selecting the option Use Internal To Physical, the dialog displays the Int To Phys page. In this page you can define the compu scales used for computing the physical value out of the internal value.

By selecting the option Use Physical To Internal, the dialog displays the Phys To Int page. In this page you can define the compu scales used for reversly computing the internal values out of the physical value. This option is disabled for the category BitfieldTextTable.

You can use a compu scale as follows:

  • Definition of a constant value or enumerator (e.g. SignalNotValid or TRUE)
    You can define the constant value by setting the minimum and maximum of the range to this value. You define the constant name to be used by the RTE generator in the Symbol field. If the symbol is not set, the Constant field is used. If the Constant field is not set, the name of the compu scale is used.
  • Define a linear conversion
    You can define a linear conversion via the factor and offset. By setting the minimum and maximum range you can limit the applicability of the linear conversion.

  • Definition of a bitfield
    You can define constants for combinations of bits that are valid for a given bitmask. The mask for entering those values differs from the other categories. E.g. only one value is set that implies a so called point-range (= minimum value and maximum value are the same).

Depending on the category of the compu method you can define the compu scale as follows:

  • Identical
    Only the unit is relevant, no compu scales can be defined
  • Linear (linear conversion)
    Exacty one compu scale expressing a linear conversion can be defined
  • Scale-Linear (piecewise-linear conversion)
    Any number of compu scales expressing a linear conversion can be defined. The ranges must not overlap.
  • TextTable (enumeration)
    Any number of compu scales expressing a constant value can be defined.
  • Scale-LinearAndTextTable (combined piecewise-linear conversion plus constants)
    Any number of compu scales expressing a linear conversion can be defined. The ranges must not overlap. Additionally, any number of compu scales expressing a constant value can be defined.

  • BitfieldTextTable (Bitfield)
    Only compu scales of type Int to Phys can be defined. The number of reasonable compu scales expressing a constant for a valid bit-combination for a given bitmask is determined by 2^NumberOfBitsWithinBitmask.

Note

Note

The compu methods used by implementation data types should only have compu scales of type TextTable BitfieldTextTable.

| Defining Application Data Types | Defining Implementation Data Types | Defining Base Types | Defining Units | Defining Data Constraints | Defining Compu Method for a Bitfield


Defining Compu Method for a Bitfield

Start Page » Functional Range » Defining Compu Method

Example

Example

When monitoring the pressure of the tires of a vehicle the user wants to be informed about the status if there is any problem. The table below contains the information the user may interested in:

Bit 0 | front left | 0000(0) = no 0001(1) = yes
Bit 1 | front right | 0000(0) = no 0010(2) = yes
Bit 2 | rear left | 0000(0) = no 0100(4) = yes
Bit 3 | rear right | 0000(0) = no 1000(8) = yes
Bit 4-5 | problem | 0000 0000(0) = flat tire 0001 0000(16) = low pressure 0010 0000(32) = unbalanced 0011 0000(48) = unknown
Bit 0-7 (All Bits) | error | 11111111 = invalid value

Create a new Compu method of category BitfieldTextTable and set a name for the compu method.

With the Bitmask-attribute some compu scales can be grouped together. I.e. each compu scale is assigned to a bitmask. This bitmask can be a single bit or a set of several bits. The number of the bits within the bitmask determines the reasonable number of compu scales this bitmask can be assigned to (2^NumOfBits).

  • New
    Creates a new compu scale. The bitmask and the compu scale value have to be specified.
  • Copy
    Creates new compu scale but the attributes concerning the bitmask (Label, Binary Mask, Bit(s) Mask) are prefilled. The other attributes (Symbol, Constant, Decimal Value, Bit(s) Value, Bit Range value) are empty.
  • Delete
    Delete the selected compu scales.

  • Define Order / Move Up / Move Down
    With those buttons the order of the compu scales can be defined. The order of the compu scales is determined by the several assignments from a compu scale to an index. This assignment determines the order the compu scales are written to the ARXML-file. Those assignments can be changed in 2 ways: Either by the Move Up- and Move Down- buttons. However those buttons are only activated when the sorting of the list is done by the Index-column. If the list is sorted by another column the buttons are disabled but the Define Order-button remains enabled. Selecting this button opens a new dialog where all the defined compu scales are displayed again within a list but without the Index-column. Within this list the position of several compu scales can be changed by corresponding Move Up- and Move Down-buttons or by sorting the list by a column. The order of the compu scales within that list determines the new order. By leaving the dialog with OK the new indices of the compu scales are calculated and displayed in the compu scales list.

The figure above shows the settings for the entry marked by a red rectangle.

The value-attribute represents the actual value of the compu scale. It defines the bit or the bits that have to be set to 1 for a specific meaning. There are 3 possibilities to enter this value:

  • Decimal
    The decimal value of the bits that have to be set. The RTE Generator uses the decimal value to create the corresponding variable for the compu scale.
  • Binary
    This is the value expressed in a binary string.
  • Value in Bit Range
    This is the value of the bits set to 1 without a relation to the bitmask defined by the mask attributes. I.e. all ‘0’s until the first bit set to 1 are removed. This means a right shift (>>) of the decimal value by the position of the first bit set to 1.
Example

Example

48 >> 4 = 3

(Right-shift of 4 is because there are 4 bits set to ‘0’ that are removed.)

When editing one field, other fields are updated automatically.

Example

Example

48 is the decimal value of 0b00110000, i.e. bit 4 and bit 5 are set. The Bit Range is 11 and the Bit Range value is 3. The RTE Generator generates:

/* [SWS_Rte_03810] CompuScale with point range "0b00110000", symbol attribute "problem_unknown"*/

#ifndef problem_unknown

#define problem_unknown 48U

#endif /* problem_unknown */

A bitmask may have several assigned labels (1:n relation). But one label can be assigned to exactly one bitmask. Defining the mask can either be done by entering the corresponding binary string or by entering the actual set bits using a special notation therefore. This special notation allows specifying bits that are actual set. Herewith it is possible to specify (comma-separated) single bits, e.g. 0, 3, 5 and/or specify a range of bits (e.g. 0-3); it is also possible to mix those specifications (e.g. 0, 2, 3-5). E.g.: The binary value 0b11110000 is expressed as 4-7 because bit 4, bit 5, bit 6 and bit 7 are set to 1 (where the very first bit is bit 0).

The following table summarizes the attributes:

 | Attribute | Description
List of Compu Scales | Index | Index for the specific compu scale. It defines the order the several compu scales are written to the ARXML file.
 | Label | The label of the corresponding bitmask. It is included in the list, so the user has a good overview about already existing label-bitmask-pairs.
 | Bit(s) | The bits set to 1 determined by the bitmask. This is the mask in bitwise-notation.
 | Value in Bit Range | The value of the bits set to 1 independent of their actual position within the bitmask. [Decimal Value] >> [Position of the first bit set to 1] Binary: 0b00110000 Decimal: 48 Position: 4 48 >> 4 = 3
 | Decimal Value | The value of the bits set to 1 concerning their actual position within the bitmask.
 | Identifier | Unique literal identifier of the value (compu scale).
Compu Scale Properties Page | Symbol | The symbol is used by code generators to get a C identiﬁer for the CompuScale. The name will be used as is for the code generation; therefore it needs to be unique within the generation context. -mandatory- [constr_1146]
 | Constant | This attribute identifies the compu scale as unique among the other compu scales.
 | Label | It is the literal representation of the mask. One label is assigned to exactly one bitmask, where a bitmask can be assigned to several labels.
 | Bitmask | It can be considered as a summary of compu scales. Compu scales that have the same mask are grouped together. It can be defined as a binary string or with the bits-notation.
 | Value | The value for the compu scale. Defines the bits set to 1 for a specific compu scale. It can be defined in the 3 ways described above.

Note

Note

The RTE Generator provides a set of deﬁnitions for the Bit Mask, Bit Start Position and the Number of Bits in order to support the usage of the AUTOSAR Bit Handling Routines for those kind of data types. For some operations on a set of bits (the set may contain only 1 bit) those library requires a single contiguous bit ﬁeld which means that all bits set to 1 in the in the CompuScale.mask attribute value are adjoining, e.g. 0b00010000 or 0b00111100.

This restriction to the definition of a bitmask is important for the optional generation of the position and size defines within the RTE. The DaVinci Developer GUI does not consider this restriction. It is also possible to represent values like 0b01101010. This restriction only becomes a problem if the RTE generates an API that uses those Bit Handling Routines

| Defining Compu Methods


Defining Data Constraints

Start Page » Functional Range » Defining Data Constraints

A data constraint may be created in the Library Browser. To open a dialog for creating a data constraint you select the shortcut menu item New Data Constraint of the Data Constraints folder of the Data Types folder in the Library Browser.

In the Data Constraint dialog you may define a minimum and maximum range. You may define a range related to the internal value and/or to the physical value.

Info

Info

Such data constraint can be used either globally to limit the applicable range of an application data type or implementation data type, or locally within a port interface to limit the applicable range of a data element prototype.

| Defining Application Data Types | Defining Implementation Data Types | Defining Base Types | Defining Units | Defining Compu Methods |


Defining Type Mapping Sets

Start Page » Functional Range » Defining Type Mapping Sets

New Type Mapping Set...

A type mapping set may be created in the Library Browser. To open a dialog for creating a compu method you select the shortcut menu item New Type Mapping Set... of the Type Mapping Sets folder in the Library Browser.

In the Type Mapping Set dialog you have to define the following options:

The Data Type Maps page displays a list of all application data types of the workspace plus the implementation data type, which is assigned to it in the context of this type mapping set. By double-clicking an application data type or using the shortcut menu item Map resp. Edit you may select the implementation data type to be mapped to the selected application data type. Using the shortcut menu item Unmap you may remove the mapping. The implementation data type will not be deleted.

The Mode Request Type Maps page displays all mode declaration groups of the workspace and the according the implementation data type, which is assigned to the mode declaration group in the context of the type mapping set. The commands for editing the mapping are same as for the data type maps.

Info

Info

Such type mapping sets have to be referenced by a component type using application data types to become effective.

A data type mapping set can be created automatically in the context of an ECU project. See Creating Implementation Data Types matching to Application Data Types how this can be done.

Mapping of Characteristic Tables and Axis

With DaVinci Developer the user is able to map the application data types Characteristic Table and Axis to the corresponding implementation data types RecordImpl or ArrayImpl.

A Characteristic Table is allowed to be mapped only to a record of any structure. A mapping from a characteristic table to a big unstructured array is not supported. The meaning of the several record elements will be specified by special annotations at the implementation data type (See Record Layout Annotation).

A global Axis is allowed to be mapped either to an array implementation data type when the size of the array is fixed (dynamic re-size is disabled) or to a record implementation data type when the size of the array is dynamic.

Global Grouped Axes require a separate application to implementation data type mapping and do not appear within the mapping of the corresponding characteristic table.

The mapping of Individual Axes is realized by the corresponding structure within the record data type that is used to map to the characteristic table.

For the function values (output variable) an array of the according size is required in the main record.

Additionally it is possible to define additional elements within the record structure. Those are marked with the corresponding annotation.

Only COM-Axis and STD-Axis are supported.

Record Layout Annotations

DaVinci Developer does not support the ARXML structure for record layouts. Some record layout information is needed for generating the corresponding A2L file and the according information is annotated to leaf-elements of the record that are used for the Appl2ImplDT-mapping.

The tables Type: Annotation Strings below describe the available annotations and how they are supposed to be used:

Annotation: Type

Description
AxisPointsX | Types by an array that contains the values of the axis points from the X-axis.
AxisPointsY | Types by an array that contains the values of the axis points from the Y-axis.
AxisPointsZ | Types by an array that contains the values of the axis points from the Z-axis.
CountAxisPtsX | Types by a value data type. This annotation is only required if the size of the array of the corresponding AxisPointsX element is dynamic. In this case it contains the number of actual axis points of the X-axis.
CountAxisPtsY | Typed by a value data type. This annotation is only required if the size of the array of the corresponding AxisPointsY element is dynamic. In this case it contains the number of actual axis points of the Y-axis.
CountAxisPtsZ | Types by a value data type. This annotation is only required if the size of the array of the corresponding AxisPointsZ element is dynamic. In this case it contains the number of actual axis points of the Z-axis.
FunctionValues | Types by an array that contains the value s of the output variable of the characteristic table.
Reserverd
Identification

If the annotation of a record element is set to FunctionValues then the type of the index mode can be specified.

Annotation: IndexMode

Description
ColumnDir | The index is created column-wise.
RowDir | The index is created row-wise.

New Interface Mapping Set...

Create at least one interface mapping set in the Library Browser. Select the shortcut menu item New Interface Mapping Set... of the Type Mapping Sets folder in the Library Browser.

Define Name and open the Variable-Parameter Mappings page to edit data prototype mappings. The Variable-Parameter Mappings page displays a list of all mappings, defined in your project. If necessary add [New], delete [Delete] or duplicate [Copy] mappings.

Info

Info

A Interface Mapping Set can also be delivered by the OEM within the ECU Extract of System Description.

| Defining Mode Declaration Groups | Defining Application Data Types | Defining Implementation Data Types |


Defining Units

Start Page » Functional Range » Defining Units

A unit may be created in the Library Browser. To open a dialog for creating a unit you select the shortcut menu item New Unit of the Units folder of the Data Types folder in the Library Browser.

In the Unit dialog you may define the display name and the factor and offset hoe to derive the unit from the according SI unit (unit = SI unit * factor + offset).

| Defining Application Data Types | Defining Implementation Data Types | Defining Base Types | Defining Compu Methods | Defining Data Constraints


Data Mapping

Start Page » Functional Range » Data Mapping

The data mapping is displayed and edited in the Data Mapping Editor.
The Data Mapping Editor offers two different views, the Signal view mode [image] and the Port element view mode [image].

Signal view mode

The Signal view mode shows you all Network Signals including the following information: Transformed, Message, Network Direction, Port, Data Element / Operation and Predefined Variants.

After selecting a network signal in the Signal view mode, you have the following commands in the shortcut menu:

Closed Select Data Element...

Opens the Data Element Selection dialog. This command is only available if the signal is not yet mapped to a data element. Tx-/ Rx-signals (signals being both received and sent) can be mapped to two data elements, one provided and one required. The Data Element Selection dialog displays all data element prototypes of all port prototypes of the ECU Composition. You may activate one or both of the following filters to reduce the number of displayed data elements:
Show compatible items only: the list displays only those data elements, which are compatible with the signal.
Show non-mapped items only: the list displays only those data elements, which are not yet mapped to a signal.

Closed Unmap Data Element

Deletes the data mapping. This command is only available if the signal is mapped to a data element.

Closed Create Port Prototypes...

Automatically creates ports mapped to the selected signals at the ECU’s software composition. A dialog is displayed where you may specify a pre- and postfix for the created port prototypes, port interfaces and data element prototypes. The names will be created according to the pattern <prefix><signal name><postfix>. Additionally you may choose between creating one port per signal or a single port for all selected signals. Pressing [OK] will created the requested ports, interfaces, data elements and corresponding data mapping entries for you.

Closed More Info...

Opens a dialog displaying all networks and messages a signal is received / transmitted on (the data mapping table will only display a <multiple> entry in the corresponding cells).

Closed Adapt Data Element to match Signal

Sets the data element's data type to the signal's data type and the data element's init value constant to the signal's init value constant, to ensure compatibility.

Closed Propagate Alive Timeout from Signal to Data Element

Sets the data element's alive timeout setting at the corresponding port's communication specification to the signal's Rx timeout value.

Closed Show in Software Design

Switches to the Software Design Editor and selects the port prototype, which contains the mapped data element. This command is only available if the signal is mapped to a data element.

Closed Data Element Properties

Opens the port interface dialog for displaying the properties of the data element prototype. This command is only available if the signal is mapped to a data element.

Closed Signal Properties...

Opens the signal dialog for displaying the properties of the signal.

Closed Automap Data Elements...

Automatically maps signals to data elements using a name matching rule (see Automatic data mapping below).

Closed Report to Clipboard

Copies the entries of the selected rows to the clipboard using a CSV format with tab as separator key. So the copied text can be pasted into spreadsheet analysis programs for example.

Closed Properties

Opens the Data Mapping dialog and shows the Postbuild Conditions. This command is only available if the signal is mapped to a data element.

Data element view mode

TheData element view mode shows you all Data Elements including the following information: Port, Direction, Network, Message, Network Signal and Predefined Variants.

After selecting a data element in the Data element view mode, you have the following commands in the shortcut menu:

Closed Create Mapping...

Opens the Signal Selection dialog. The Signal Selection dialog displays all signals of the ECU. You may activate one or both of the following filters to reduce the number of displayed signals:
Show compatible items only: the list displays only those signals, which are compatible with the data element.
Show non-mapped items only: the list displays only those signals, which are not yet mapped to a data element.

Closed Create complex Mapping...

Opens the Create complex Mapping... dialog. The Create Complex Mapping... dialog shows all sinal groups of the ECU. You may activate one or both of the following filters to reduce the number of displayed signal groups:
Show compatible items only: the list displays only those signal groups, which are compatible with the data element group.
Show non-mapped items only: the list displays only those signal groups, which are not yet mapped to a data element group.

This command is only available if the selected data element is complex (e.g. data element group). (See Data Mapping of Complex Data Types below.)

Closed Unmap

Deletes the data mapping. This command is only available if the data element is mapped to a signal.

Closed More Info...

Opens a dialog displaying all networks and messages a signal is received / transmitted on (the data mapping table will only display a <multiple> entry in the corresponding cells).

Closed Adapt Data Element to match Signal

Sets the data element's data type to the signal's data type and the data element's init value constant to the signal's init value constant, to ensure compatibility.

Closed Propagate Alive Timeout from Signal to Data Element

Sets the data element's alive timeout setting at the corresponding port's communication specification to the signal's Rx timeout value.

Closed Show in Software Design

Switches to the Software Design Editor and selects the port prototype, which contains the data element.

Closed Data Element Properties...

Opens the port interface dialog for displaying the properties of the data element prototype.

Closed Signal Properties...

Opens the signal dialog for displaying the properties of the signal. This command is only available if the data element is mapped to a signal.

Closed Automap Data Elements...

Automatically maps signals to data elements using a name matching rule (see Automatic data mapping below).

Closed Report to Clipboard

Copies the entries of the selected rows to the clipboard using a CSV format with tab as separator key. So the copied text can be pasted into spreadsheet analysis programs for example.

Closed Properties

Opens the Data Mapping dialog and shows the Postbuild Conditions. This command is only available if the data element is mapped to a signal.

Data mapping of complex data types

If a data element is based on a complex data type instead of a simple data type, the list displays besides the "main" entry for the data element additional entries for each sub-element of the complex data type.

In the Data Element column of the list, those sub-elements are displayed like "<data element name>.<sub-element name>".

For complex data types, the data mapping needs to be done in two steps:

  • The data element itself needs to be mapped to a signal group (complex data mapping).
  • Each sub-element of the data element needs to be mapped to a signal within this signal group.

To define the mapping of such data element you may use the according context menu entries to select a signal group from the ECU.

Special case: If the complex data type is an array of UInt8, the whole data element can be directly mapped to a single signal. No signal group is required in this case.

Info

Info

The RTE supports extended record data type compatibility rule for S/R communication with different record layouts on sender and receiver side:

  • The record elements of the receiver side may be only a subset of the record elements of the sender side
  • The order of record elements may be different between sender side and receiver side

This rule applies also to the data mapping:

  • An ECU can route/receive only a part of a given signal group.

Automatic data mapping

Instead of manually mapping individual data elements to signals, you may use the shortcut menu item Automap Data Elements to call the automatic data mapping functionality. Based on a best-guess rule, this functionality selects a signal for each unmapped data element. The rule searches a signal based on the following priorities

  • Signal has identical name as data element prototype
  • Signal has identical name as port prototype
  • Signal has similar name as data element prototype (i.e. the name of the data element prototype is contained in the signal name or vice versa)
  • Signal with similar name as port prototype (i.e. the name of the port prototype is contained in the signal name or vice versa)

The result of the automatic selection is displayed in the Automap Data Elements dialog. This dialog displays a list of all unmapped data element prototypes as well as the signal, which has been automatically selected. If no matching signal has been found, the according field remains empty. This dialog also displays the compatibility of the data element prototype and the selected signal. The compatibility is displayed as

  • Full
    The data types of the signal and of the data element prototype are compatible, and either the data element prototype or the port prototype has the same name as the signal.
  • Partial name
    The data types of the signal and of the data element prototype are compatible, and either the data element prototype or the port prototype has a similar name as the signal.
  • Type incompatible
    The data types of the signal and of the data element prototype are incompatible.
  • None
    The data types of the signal and of the data element prototype are incompatible, and neither the data element prototype nor the port prototype has the same or similar name as the signal.

Within the Automap Data Elements dialog you may modify the proposed signal selection. After selecting a data element prototype in the dialog and shortcut menu item Unmap Signal you may undo the automatic signal selection. Using Select Signal of ECU you may open the Signal Selection dialog to explicitly select a signal. Using Automap Signal you may call the automatic signal selection again.

After confirming the dialog, the proposed (resp. modified) signal selection is applied.

Automatic adaption of data types

To ensure the consistency of the data mapping you may automatically ensure that the data element prototype and the mapped signal reference the same data type and the same init value constant.

Using Adapt data element to match signal you may ensure that the data element prototype references the same data type and the same init value constant as the signal. If necessary, the data element prototype will be modified.

Variant-specific Data Mapping

For projects supporting variant handling the Data Mapping can be configured variant-specific.

Within the Port element view mode the Select Signal dialog will display accordingly if a signal is only available in a specific variant. The Predefined Variants column shows if the mapping is applicable in certain variants only. Use the Properties command to change the variance assignment (postbuild condition) of a Data Mapping.


End-to-End Protection

Start Page » Functional Range » End-to-End Protection

End-to-end protection can be configured for the externally or internally exchanged data elements of an ECU.

Closed Configuring the end-to-end protection

After selecting a port prototype in the Software Design Editor, you can use the command Add End-to-End Protection in the shortcut menu to open the Data Element Selection dialog. In this dialog, you can select the data elements to be protected. After confirming this dialog, the End-to-End Protection Configuration dialog is opened. In this dialog, you can configure the end-to-end protection for the selected data element:

  • Category

Defines the end-to-end profile as one of the supported profiles Profile01, Profile02, Profile_XOR, Profile_XOR+2 or Generic. The selection of None indicates that an end-to-end protection of the data element is planned, but the actual profile is not selected yet.

  • Counter Offset (only relevant for Profile01)

Defines the bit offset of the counter (MSB order; bit numbering: bit 0 is the least important bit). The offset must be a multiple of 4 and it should be 8 whenever possible.
Example:
Offset 8 means that the counter will take the low nibble of the byte 1, i.e. bits 8 .. 11.

  • CRC Offset (only relevant for Profile01)

Defines the bit offset of the CRC (MSB order; bit numbering: bit 0 is the least important bit). The offset must be a multiple of 4 and it should be 0 whenever possible.

  • Max Delta Counter Init

Defines the initial maximum allowed gap between two counter values of two consecutively received valid data, i.e. it specifies how many subsequent losses of data are accepted.
Example:
If the receiver gets data with counter 1 and Max Delta Counter Init is 1, then at the next reception the receiver can accept counters with values 2 and 3, but not 4.

  • Data Length [bit]

Defines the length of the data in bits.

  • Data ID Mode (only relevant for Profile01)

Defines how the implicit two-byte Data ID is included in the one-byte CRC.
Values are

  • Both (double ID configuration)
    Both bytes are included in the CRC
  • Alt (alternating ID configuration)
    One of the two bytes is included, alternating high and low byte, depending on parity of the counter:
    if counter is even, the low byte is included;
    if counter is odd, high byte is included.
  • Low
    Only the low byte is included, the high byte is never used. This is applicable if the IDs in a particular system are 8 bits.
  • Data ID

Defines a unique numerical identifier used in combination with the current data element value to create the CRC checksum. The Data ID depends on the selected profile:

  • in case of Profile01: the Data ID is a 16 bit positive integer value
  • in case of Profile02: the Data ID consists of an array of 16 8 bit positive integer values
  • in case of Profile_XOR and Profile_XOR+2: the Data ID is a 8 bit positive integer value

Closed Displaying an overview of end-to-end protected data elements

An overview of all end-to-end protected data elements is displayed in the End-to-End Protection Editor.

After selecting a data element, you have the following commands in the shortcut menu

Show in SW Design
Switches to the Software Design Editor and selects the port prototype, which contains the data element.

Data Element Properties
(Opens the port interface dialog for displaying the properties of the data element prototype.

End-to-End Protection Configuration
Opens the End-to-End Protection Configuration dialog of the data element.

Delete End-to-End Protection
Deletes the end-to-end protection configuration of the data element. The data element disappears from the list.

Closed Additional remarks

The export of end-to-end protection configurations is only possible in the format AUTOSAR 3.1.4 DAI.4, 3.2.x or 4.x.

Please note the following restrictions for data elements, which are configured with end-to-end protection:

  • The data type must be a record type. Therefore, the Data Element Selection dialog only offers data elements, which are of a record type.
  • The runnable entity, which accesses the data element, must use direct access (explicit communication). Buffered access (implicit communication) is not allowed.
  • The runnable entity, which accesses the data element, must not have set the flag Can be invoked concurrently.
  • Only one runnable entity should have port access to the data element.

The restrictions are considered by the consistency check.


Main Menu

Start Page » Menus

The main menu consists of the following menus:

File
Commands for loading and saving workspaces and databases.

Edit
Commands for editing the various objects.

View
Commands for viewing projects, objects and windows.

Options
Commands for configuring the program.

Window
Commands for arranging windows on the main window.

Help
Help assistance and further information.


Menu: File

Menu: File

Start Page » Menus » File

The File menu provides commands for loading and saving workspaces and databases.

New Workspace...
Creates a blank workspace.

Open Workspace...
Opens an existing workspace.

Save Workspace
Saves the workspace to disk.

Save Workspace As...
Saves the current workspace to disk.

Close Workspace
Closes the workspace.

AR3 Project Assistant

New ECU Project
Creates a new ECU project using DaVinci’s project assistant.

Update ECU Project
Automatically an ECU project’s configuration created with DaVinci’s project assistant.

Project Settings
Project assistant settings for the ECU project.

Create Support Request Package
Calls the project assistant function to create a Support Request Package.

Workspace Snapshot

Create Snapshot
Creates a snapshot of the workspace.

Restore Snapshot…
Restores a workspace snapshot.

Import XML File...
Imports an AUTOSAR XML file into the current workspace.

Import DCF...
Imports a DCF into the current workspace.

Special Import

Use Diagnostic Configuration
Start XML import with special settings regarding the diagnostic configuration (see Special Import user manual).

Exit
Exits the program.


Menu: Edit

Menu: Edit

Start Page » Menus » Edit

The Edit menu provides commands for editing the various objects.

Cut
Cuts the selection into clipboard.

Copy
Copies the selection into clipboard.

Delete
Deletes the currently selected workspace object.

Paste
Pastes the content of the clipboard.

Find...
Opens the New Search dialog.

Attached Files...
Opens the Attached Files dialog.

Properties...
Opens the property dialog for the selected object.


Menu: View

Menu: View

Start Page » Menus » View

The View menu provides commands for viewing projects, objects and windows.

Attribute Definitions
Opens an Attribute Definitions window with a list of the user-defined attributes. New user-defined attributes can be added and existing attributes can be edited in this window.

Read-Only State
Opens a dialog for viewing and controlling the read-only state of the design objects. Details see Working with DCF User Manual.

Toolbars
Show/Hide specific toolbar windows.

Status Bar
Show/Hide the status bar window. When the window is shown a checkmark appears in front of this command in the menu.

Output
Show/Hide the output window. When the window is shown a checkmark appears in front of this command in the menu.

Properties
Show/Hide the properties window. When the window is shown a checkmark appears in front of this command in the menu.

With opened ECU Project

Explorer
Show/Hide the explorer window.

Selection mode
Activate the selection mode.

Pan mode
Activate the panning mode.

Zoom In
Zooms in.

Zoom Out
Zooms out.

Zoom to Fit
Zoom the graphical view until all contents are visible.

Graphic Settings

Show Grid
Show/Hide the grid of the canvas.

Snap to Grid
Align/Don’t align objects to the grid during move or resize.

Grid Properties
Opens a dialog for setting the properties of the grid of the canvas (only for graphical editors).

Show Page Bounds
Show/Hide the page boundaries of the canvas.

Canvas Size
Open a dialog to set the canvas size.

Orthogonal Connectors
Draw the connections between components with orthogonal lines resp. draw direct lines.


Menu: Options

Menu: Options

Start Page » Menus » Options

The Options menu provides commands for configuring DaVinci Developer.

Global Settings...
Opens the dialog for editing user specific settings.

Workspace Settings...
Opens the dialog for the workspace specific settings.


Menu: Window

Menu: Window

Start Page » Menus » Window

The Windows menu provides commands for arranging windows on the main window.

Cascade
Cascades all opened editors.

Tile
Tiles all opened editors.

Arrange Icons
Arranges minimized editor icons.

Windows…
Opens the Windows dialog displaying a list of all currently opened editors allowing you to activate or close any of the editor windows.


Menu: Help

Menu: Help

Start Page » Menus » Help

The Help menu provides further information on the application.

Contents...
Opens the help file of the program.

Search
Opens the search tab of the online help file.

DaVinci Documentation Browser
Opens the DaVinci Documentation Browser. This utility tool lists up all available documentation to the program. You may use it to browse through the available documentation and open an according document by double-click.

About DaVinci Developer...
Opens a dialog with information about the tool version, registration number and information about the used program libraries.


Main Window

Description of the Windows » Main Window

Screenshot

Functionality

The Workspace window, Library Browser, Properties window and Output window are displayed in the main window of the DaVinci Developer by default.

Editors for ECU projects and component types are also displayed in the center of the screen.

The main menu and toolbar provide quick access to the most important program functions.

Configuration

Functions and Controlling
  • Creating a Workspace
  • Opening a Workspace
  • Closing a Workspace
  • Saving Data of a Workspace
  • Data Storage
  • Toolbars
  • Main Menu
  • Status Bar
  • Keyboard Operation

Tips & Tricks

Using View menu you may hide some of the windows, with shortcut menu item Docking View you may bind a window to the border of the application window and have it always visible. The screen configuration will be restored the next time you start the program.


Output Window

Description of the Windows » Output Window

Screenshot

Functionality

Logs the messages of the tool.

Configuration

Functions and Controlling

The following pages are available

  • Action Log
    Logs the commands and actions of the tool.
  • AR3 Code Generation Log
    Logs the actions of the code generation scripts.
  • Messages
    Logs the messages of the consistency check.
  • Find Results
    Displays the results of a workspace search (see Searching the Workspace).

The following command can be started through the shortcut menu:

  • Save output...
    Save the content of the window to an ASCII-file
  • Clear output
    Clear the content of the window.
  • Copy
    Copy the marked text into the clipboard.
  • Hide
    Closes the window. You can reopen it with View|Output

Tips & Tricks
  • Using the View menu you may show or hide this window. In the shortcut menu of this window, you may select the style of the window. By selecting MDI Window, the window is displayed within the editor area of the main window. By selecting Docking View you may bind a window to the border of the main window and have it always visible.

  • To navigate through tabs use the shortcuts <CTRL> + <PageDown> to switch to the next tab on the right and <CTRL> + <PageUp> to switch to the next tab on the left. If the current active tab is also the first/last tab, it is switched to the last/first tab.


Properties Window

Description of the Windows » Properties Window

Screenshot

Functionality

Displays the properties (read-only) of the selected object.

You can find the same information in the object dialog that is opened with the shortcut item Properties... or via the main menu Edit|Properties....

Tips & Tricks
  • Using the View menu you may show or hide this window. In the shortcut menu of this window, you may select the style of the window. By selecting MDI Window, the window is displayed within the editor area of the main window. By selecting Docking View you may bind a window to the border of the main window and have it always visible.

  • To navigate through tabs use the shortcuts <CTRL> + <PageDown> to switch to the next tab on the right and <CTRL> + <PageUp> to switch to the next tab on the left. If the current active tab is also the first/last tab, it is switched to the last/first tab.


Workspace Window

Description of the Windows » Workspace Window

Screenshot

Functionality

The Workspace window contains the

  • Project Explorer
    The ECU projects of the workspace currently loaded are displayed in the Project Explorer. Various operations can be executed from the ECU-specific shortcut menus.
  • Library Browser
    The Library Browser displays all objects in the workspace. In the Type view, the objects are displayed as flat list, grouped by the object type.

Component types and port interfaces are further categorized as service and application layer objects. In the Package view, the package hierarchy is displayed and the objects are displayed according to their package assignment .

Configuration

Tips & Tricks

ECU Projects

  • Creating an ECU Project
  • Software Design Editor
  • Data Mapping Editor
  • End-to-End Protection Editor
  • AR3 Service Mapping Editor
  • AR3 Task Mapping Editor
  • AR3 Memory Mapping Editor
  • AR3 Generation Parameters Editor

Library Browser

  • Defining Component Types
  • Defining Constants
  • Defining Mode Declaration Groups
  • Defining Port Interfaces
  • Packages
  • AR3 Defining Data Types
  • AR4 Defining Application Data Types
  • AR4 Defining Implementation Data Types
  • AR4 Defining Base Types
  • AR4 Defining Units
  • AR4 Defining Compu Methods
  • AR4 Defining Data Constraints
  • AR4 Defining Type Mapping Sets
  • AR4 Defining Port Prototype Blueprints
  • AR4 Defining Blueprint Mapping Sets

In the shortcut menu of this window, you may select the style of the window. By selecting MDI Window, the window is displayed within the editor area of the main window. By selecting Docking View you may bind a window to the border of the main window and have it always visible.

Further Topics

| Library |


Component Type Editor

Description of the Windows » Component Type Editor

Screenshot

Functionality

The Component Type Editor provides several views to edit port prototypes, runnable entities or the sub-structure of a component type.

Pages

Tips & Tricks

The Component Type Editor displays the implementation architecture of the component type:

  • Runnable Entities
  • Exclusive Area
  • Inter-Runnable Variables
  • Calibration Parameters
  • Service Needs
  • Per-Instance Memories
  • Interface List
  • Interface Graphic
  • To open the Component Type Editor you may select a component type in the Library Browser and use the shortcut menu item Open or the toolbar icon [image]. Alternatively, the Component Type Editor may be opened by double clicking the component type.
  • Depending on the component type different views are available.

Further Topics
| Organizing Complex Structure Graphics | Defining Component Types | Defining Runnable Entities | Defining Exclusive Areas | Defining Inter-Runnable Variables | Defining Calibration Parameters | Defining Per-Instance Memory |


Data Mapping Editor

Description of the Windows » Data Mapping Editor

Screenshot

Functionality

The Data Mapping Editor displays the mapping of data elements of the ECU composition's ports to the network signals of the ECU.

If a data mapping is inconsistent, the according line is highlighted in red color. A data mapping is inconsistent, if the data type of the data element prototype is incompatible with the signal properties.

The following compatibility conditions exist

  • the length (number of bits) of the signal is the same or larger than the length of the data type
  • if the data type is an enum type: the list of enumerators must be identical with the list of value descriptions of the signal

Views

Tips & Tricks

By pushing the according view mode buttons you may select one of the following view modes to display or edit the data mapping:

  • Signal view mode
    In this view mode, all network signals of the ECU are listed together with the mapped data element.
  • Data element view mode
    In this view mode, all data elements of the port prototypes of the ECU composition are listed together with the mapped signal.

In the Workspace window you can select the window style via the shortcut menu of the Data Mapping Editor. By selecting MDI Window, the window is displayed within the editor area of the main window. By selecting Docking View you may bind a window to the border of the main window and have it always visible.

Further Topics

| Creating an ECU Project | Software Design Editor | AR3 Task Mapping Editor | AR3 Service Mapping Editor | AR3 Memory Mapping Editor | AR3 Generation Parameters Editor |


Data Exchange Analysis Editor

Description of the Windows » Data Exchange Analysis Editor

Screenshot

Functionality

The Data Exchange Analysis Editor displays all data exchange relations of the ECU. Data exchange relation means either

  • the exchange of a data element
  • the invocation of an operation
  • the reception or transmission of a bus signal

The relations are analyzed on the level of atomic software components, runnable entities and ports by considering

  • the assembly and delegation connectors combined with the AUTOSAR compatibility rules
  • the port access of the runnable entities
  • the operation-invoked triggers of the runnable entities
  • the data mapping

Views

Tips & Tricks

The editor contains four views:

Collapsed Component Connection view (left part)

This view lists all components of the ECU. For reason of harmonization, a bus channel is also considered as “component”. For each component, the connected components are displayed. An arrow icon represents the communication direction. For S/R or bus communication, the arrow direction means “sent to”. For C/S communication, the arrow direction means “invoked by”.
If a component has connections to several other components, the according list item can be expanded to show the individual relations to each other component.

Collapsed Connected Runnables view (right part, top)

This view depends on the selection in the Component Connection view. It displays the pairs of runnable entities,which are responsible for establishing the component connection. The according list items can be expanded to show the ports, via which the runnable entities establish the component connection.
If the component is a bus channel, the bus channel is also displayed as runnable for reason of harmonization.

Collapsed Connected Ports view (right part, middle)

This view depends on the selection in the Component Connection view. It displays the pairs of ports, which are responsible for establishing the component connection. The according list items can be expanded to show the runnable entities, via which the component connection is established.
If the component is a bus channel, the bus channel is also displayed as port for reason of harmonization.

Collapsed Exchanged Data view (right part, bottom)

This view depends on the selection in the Component Connection view. It displays the pairs of signals/data elements/operations, which are responsible for establishing the component connection. The according list items can be expanded to show the ports, via which component connection is established.
If the component is a bus channel, the bus channel is also displayed as port for reason of harmonization.

You may open the editor via the shortcut menu item Data Exchange Analysis of an ECU project.

If you make changes in the workspace while the editor is open, the editor may display its status as “outdated”. Using the Refresh button you ma re-run the data exchange analysis.

After selecting a line in one of the views you can use the shortcut menu item Open Left Item resp. Open Right Item to open an appropriate editor for displaying or editing the item.

Further Topics
-


AR4: Blueprint Mapping Editor

Description of the Windows » AR4: Blueprint Mapping Editor

Screenshot

Functionality

The Blueprint Mapping Editor displays the mapping of port prototypes to the port prototype blueprints.

After selecting an entry in this editor you have the following options in the shortcut menu to edit the blueprint mapping:

In the Blueprint view mode you may select New R-Port or New P-Port to open a dialog for selecting a component type. After confirmation a new port prototype will be added at the selected component type. Using Unmap you may delete the mapping.

In the Port prototype view mode you may select Map To to open a dialog for selecting a port prototype blueprint.

Views

Tips & Tricks

By pushing the according view mode buttons you may select one of the following view modes to display or edit the blueprint mapping

  • Blueprint view mode
    In this view mode, port prototypes blueprints of the ECU are listed together with the mapped port prototypes and the blueprint mapping set, which defines the according mapping.
  • Port prototype view mode
    In this view mode, all port prototypes of the ECU are listed together with the mapped port prototype blueprints and the blueprint mapping set, which defines the mapping.

You may open the editor via the shortcut menu item Open of a blueprint mapping set (or Blueprint Mapping Sets folder) in the Library Browser.

By using the filter option you may either show all mapping, only the unmapped items or only the mapped items.

Further Topics

Defining Port Prototype Blueprints |Defining Blueprint Mapping Sets | Defining Port Prototypes


End-to-End Protection Editor

Description of the Windows » End-to-End Protection Editor

Screenshot

Functionality

The End-to-End Protection Editor displays an overview of all end-to-end protected data elements of the ECU project.

Views

Tips & Tricks

The editor lists all data elements along with the details of their end-to-end protection configuration.

In the Workspace window you can select the window style via the shortcut menu of the End-to-End Protection Editor. By selecting MDI Window, the window is displayed within the editor area of the main window. By selecting Docking View you may bind a window to the border of the main window and have it always visible.

Further Topics

| End-to-End Protection |


Software Design Editor

Description of the Windows » Software Design Editor

Screenshot

Functionality

The Software Design Editor displays the software components, which reside on the ECU of the ECU project. The left side displays the component tree of the ECU.

The right side displays a detailed view of the component, which is selected in the component tree.

In case of an atomic component, the implementation architecture is displayed. In case of a composition, the sub-structure of the composition is displayed.

Views

Tips & Tricks

By pushing the according view mode buttons you may select one of the following view modes:

  • Structure Graphic view mode
    In this view mode, the sub-structure is displayed graphically.
  • P-Port connector list view mode
    In this view mode, all connector prototypes within the selected composition are displayed. This list is displayed by showing all P-Port prototypes (i.e. sender ports or server ports) along with the connected port prototypes.
  • R-Port connector list view mode
    In this view mode, all connector prototypes within the selected composition are displayed. This list is displayed by showing all R-Port prototypes (i.e. receiver ports or client ports) along with the connected port prototypes.
  • Port prototype list view mode
    In this view mode, all application ports within the selected composition are displayed.
  • In the Workspace window you can select the window style via the shortcut menu of the Software Design Editor. By selecting MDI Window, the window is displayed within the editor area of the main window. By selecting Docking View you may bind a window to the border of the main window and have it always visible.

  • To navigate through tabs use the shortcuts <CTRL> + <PageDown> to switch to the next tab on the right and <CTRL> + <PageUp> to switch to the next tab on the left. If the current active tab is also the first/last tab, it is switched to the last/first tab.

Further Topics

| Working with ECU Projects | Defining the Software Structure of an ECU Project | Defining the Sub-Structure of a Composition Type | Data Mapping Editor | AR3 Generation Parameters Editor | AR3 Task Mapping Editor | AR3 Service Mapping Editor | AR3 Memory Mapping Editor |


Status Bar

Description of the Windows » Status Bar

Displays general status information.


Data Transformation

Start Page » Procedures » Data Transformation

The data transformation is basis for different use cases. This transformation is done by so-called transformers. Transformer enable AUTOSAR systems to use a data transformation mechanism to linearize and transform data. They can be concatenated to transformer chains and are executed by the RTE for inter-ECU communication which is configured to be transformed. There could exist multiple transformers. Right now there will be one for E2E protection (E2ET) and one for SOME/IP.

The feature data transformation must be enabled via setting the checkbox Enable Data Transformation in Options|Workspace Settings|General.

Mapping of Record to Signal

DaVinci Developer supports you in mapping the top-level Data Element of a record to a signal supporting Data Transformation.

Closed Picture of Data Mapping Record to Signal

The top-level element of the record can be mapped to a single signal.

As a result the signal is assigned to every record element. The transformer works as serializer to place the record and its content into the signal.

For every signal it is configured whether Data Transformation is used or not (see the properties window of each signal).

C/S Ports as Delegation Ports

With data transformation C/S ports can be also used as delegation ports. E.g. a service/operation can also be sent externally via a bus system. The service will be transformed into a serialized format that can be put into a single signal to be transported via bus. This is standardized e.g. by SOME/IP and handled by the according transformer. In this case two signals are necessary, one for the call and one for the response.

The Data Mapping distinguishes between Server Call, Server Return, Client Call and Client Return.

Server Call is a receive message (Rx)

Server Return is a transmit message (Tx)

Client Call is a transmit message (Tx)

Client Return is a receive message (Rx)

E2E Protection (E2ET)

E2E protection for external signals with Data Transformation is now also handled via a dedicated transformer. The configuration of the E2E connections is performed as for the wrapper solution on the delegation ports of the ECU using the dedicated End-to-End Protection View. For signals with Data Transformation the profile 4 or profile 5 have to be used.

Currently this is only supported for Sender/Receiver Ports.


New Workspace

Menu:File|New Workspace

Menus » File » New Workspace

Opens the New Workspace dialog, in which you can specify the save location and file name for the DaVinci Developer workspace to be created.

You also can select the workspace format (.dev or .dcf) and the AUTOSAR version of the workspace.

The file name extension is automatically assigned.

The newly created workspace is displayed in the Project Explorer.

Shortcuts

Toolbar

Keyboard

<Ctrl>+<N>


Open Workspace

Menu:File|Open Workspace...

Menus » File » Open Workspace...

Opens the Open dialog from which you can select the file to open.

The loaded workspace is displayed in the Project Explorer.

Shortcuts

Toolbar

Keyboard

<Ctrl>+<O>


Save Workspace | Save Workspace As

Menu:File|Save Workspace / Save Workspace As...

Menus » File » Save Workspace / Save Workspace As...

Save Workspace

Saves modifications to the workspace currently open.

Shortcuts

Toolbar

Keyboard

<Ctrl>+<S>

Save Workspace As...

Opens the Save Workspace As dialog for entering the name and workspace format, under which you want to save the workspace currently open.


Workspace Snapshot

Menu:File|Workspace Snapshot

Menus » File » Workspace Snapshot

Create Snapshot

Creates a snapshot of the workspace. If the number of snapshots exceeds the maximum number of snapshots per workspace (see Options|Global Settings), the oldest snapshot will be automatically deleted.

Info

Info

The workspace itself is not saved. The status of the workspace (modified or saved) does not change.

Shortcuts

Toolbar

Keyboard

<Alt>+<F12>

Restore Snapshot…

Opens the Restore Workspace Snapshot dialog. This dialog displays the available snapshots of the workspace. The snapshots are displayed with their creation time stamp. The latest snapshot is displayed on top. After confirming the dialog the selected snapshot will be restored. Using [Delete] you may delete the selected snapshot from the list.


Close Workspace

Menu:File|Close Workspace

Menus » File » Close Workspace

Closes the current workspace.


Find

Menu:Edit|Find

Menus » Edit » Find

Opens the New Search dialog.

In this dialog you may enter the following options:

  • Find what
    Here you may enter the name (or parts of the name) of the object(s) to find.
  • Match case
    Here you may specify if the search should be case sensitive.
  • Match whole word
    Here you may specify that only objects with a full match of the name are searched.
  • Types
    Here you may restrict the search to certain object types, e.g. signals or component types.
    [Select...] opens a dialog for selecting the relevant object types.

[Find] starts the search. The results are displayed on the Search Results page of the Output window.

Info

Info

Unused objects can be found via the Library Browser. The shortcut menu of each category node provides a command for finding unused objects of the corresponding type (e.g.: Find Unused Data Type… at the data type category node). The command opens a dialog displaying a list of all unused objects of the type and providing functionality to delete them.

Shortcuts

Toolbar

Keyboard

<Ctrl>+<F>


Locking of Objects

Start Page » Procedures » Working with Workspaces » Locking of Objects

You can control the locked state of an object via the Workspace window. After selecting one or more objects in the Library Browser, you have the following commands in the shortcut menu:

Object Locking | Lock Object
Sets the object state to locked.

Object Locking | Unlock Object
Sets the object state to unlocked.

Furthermore, you have the option to automatically set the locked state during import of AUTOSAR XML files.

Info

Info

If an object is physically write-protected, you cannot change the locked state.


Packages

Start Page » Procedures » Packages

Packages can be created in the Package view of the Library Browser. By selecting the shortcut menu item New Root Package you can create a root package, i.e. a top-level package in the library. After selecting a package, you may select the shortcut menu item New Child Package to create a child package.

By selecting a package and the shortcut menu item Add Objects, you may open a dialog for selecting any existing design object in the library. After confirming the dialog, the selected objects will be removed from their former package and added to the selected package.

Alternatively, you may move an object to a different package by selecting the object in the Library Browser and drag & drop it to the new package.


User-defined Attribute: Meaning of User-defined Attributes

Start Page » Procedures » User-defined Attribute: Meaning of User-defined Attributes

User-defined attributes are used to customize the data model of DaVinci according to the user's requirements.

User-defined attributes can be defined for all objects and several of their children.

The following values can be entered for user-defined attributes:

  • Object Type
  • Attribute name
  • Integer with minimum, maximum and default
  • Hexadecimal with minimum, maximum and default
  • Real with minimum, maximum and default
  • Enumeration with a list of enumeration values
  • String

All user-defined attributes have a default value. An object carries this default value until another value is explicitly entered for this object.

User-defined attributes are also shown and can be modified in the Properties dialog of the corresponding object.

Objects that carry the default value for an attribute are identified with an asterisk '*'. If you change an attribute's default value, the value is automatically changed for all objects that have the default.

The same value as the default can be assigned to an object as an explicit attribute value. In this case, the object attribute does not change when a change is made to the default value.

| Defining a User-defined Attribute | Modifying a User-defined Attribute | Deleting a User-defined Attribute |


User-defined Attribute: Defining an User-defined Attribute

Start Page » Procedures » User-defined Attribute: Defining an User-defined Attribute

Proceed as follows to define an user-defined attributes:

Procedure

Step by step

  1. Select the Attribute Definitions window. If the Attribute Definitions window is not open, use View|Attribute Definitions to open it.
  2. Select [New] to open the New Attribute Definition dialog.
  3. Enter the values and click [OK].
    The newly created attribute appears in the Attribute Definitions window.
Info

Info

The value in the Default input field is assigned to each object as a default value of the user-defined attribute. Objects that still have the default value of the user-defined attribute are identified on the right side of the overview window by a '*' after the attribute value.

User-defined attributes are also shown in the Properties dialog of the corresponding object.

| Modifying an User-defined Attribute | Deleting an User-defined Attribute | Meaning of User-defined Attributes |


User-defined Attribute: Modifying an User-defined Attribute

Start Page » Procedures » User-defined Attribute: Modifying an User-defined Attribute

Proceed as follows to modify an attribute definition:

Procedure

Step by step

  1. Select the Attribute Definitions window. If the Attribute Definitions window is not open, use View|Attribute Definitions to open it.
  2. Select the attribute definition to be modified.
  3. Open with [Edit] the New Attribute Definition dialog.
    Alternatively, you can also double-click on the object to be modified.
  4. Make the desired changes and confirm by clicking on [OK].

The parameters of the attribute definition can also be edited directly in the Properties dialog of the corresponding object.

| Defining an User-defined Attribute | Deleting an User-defined Attribute | Meaning of User-defined Attributes |


User-defined Attribute: Deleting an User-defined Attribute

Start Page » Procedures » User-defined Attribute: Deleting an User-defined Attribute

Proceed as follows to delete an attribute definition:

Procedure

Step by step

  1. Select the Attribute Definitions window. If the Attribute Definitions window is not open, use View|Attribute Definitions to open it.
  2. Select the attribute to be deleted.
  3. Delete the attribute definition by selecting [Delete].
Info

Info

If the selected user-defined attribute is already in use in objects (i.e. is populated with concrete values), all attribute values from this attribute definition are lost when the attribute definition is deleted.

| Defining an User-defined Attribute | Modifying an User-defined Attribute | Meaning of User-defined Attributes |


Analyzing the Component Structure

Start Page » Procedures » Analyzing the Component Structure

To analyze the dependencies between the inputs and outputs of a composition type, you may open the Component Type Editor and switch to the views provided for editing the composition type’s structure (see also Defining the Sub-Structure of a Composition Type or Software Design Editor).

Using Connector Tracing in the shortcut menu you may open the Connector Tracing dialog. You may either open the Connector Tracing dialog for a particular port prototype or for a component prototype (to trace all input and output ports of the component prototype). This dialog displays the tracing paths by recursively following the connectors through the sub-structure of the composition type.

This dialog displays the following pages:

  • Forward direction
    This page allows you to trace the connectors in forward direction, i.e. to identify those port prototypes and component prototypes, which are affected by the selected object.
  • Backward direction
    This page allows you to trace the connectors in backward direction, i.e. to identify those port prototypes and component prototypes, which are affecting the selected object.

In both pages, the tracing path is displayed as tree. Starting with the selected port prototype(s) or component prototype(s), you may subsequently expand the tree to display the next affected objects in the tracing path.

Info

Info

In case of an atomic component, a worst-case assumption is made:

  • each sender port prototype is assumed to be affected by each receiver port prototype
  • each server port prototype is assumed to be affected by each client port prototype

| Defining Component Types | Defining Port Prototypes |


Analyzing the Data Exchange within an ECU

Start Page » Procedures » Analyzing the Data Exchange within an ECU

In case of a complex hierarchical software design it may be difficult to get an overview of the resulting port data exchange, operation invocation or signal flow within the ECU. For this purpose you may use the Data Exchange Analysis editor.

Data Exchange Analysis Editor


Displaying the Usage Relations within a Workspace

Start Page » Procedures » Displaying the Usage Relations within a Workspace

After selecting an object in the Library Browser, Project Explorer or in an Editor you may use Object Usage... in the shortcut menu to open the Object Usage dialog. This dialog displays all other objects, which have a relation to the context object. The dialog contains the following pages with two inverse views:

  • Referencing objects
    This page displays those objects, which are referencing the context object ("which objects are referencing me?").
  • Referenced objects
    This page displays those objects, which are referenced by the context object ("which objects do I reference?")

Both pages display a tree of objects, which allows you to subsequently follow the relations to the next level.

Info

Info

Unused objects can be found via the Library Browser. The shortcut menu of each category node provides a command for finding unused objects of the corresponding type (e.g.: Find Unused Data Type… at the data type category node). The command opens a dialog displaying a list of all unused objects of the type and providing functionality to delete them.

| Creating a new Workspace |Searching a Workspace |


Adapt Components to Match the Signals

Start Page » Procedures » Adapt Components to Match the Signals

In case of inconsistent data mapping (e.g. because the properties of the communication signals have changed), DaVinci Developer supports you in adapting the application components of your ECU project such that they match to the communication signals.

Procedure

Step by step

  1. Select the inconsistent data mapping in the Data Mapping Editor.
  2. Let DaVinci adapt the data type of the port prototype via the shortcut menu item Adapt Data Element to match Signal. Alternatively, leave the data type as is and adapt only the alive timeout in the port prototype's communication specification via shortcut menu item Propagate Alive Timeout from Signal to Data Element.
Info

Info

Check the implementation code of your components. The changed data type might require a modification of the code.


Bottom-up Design of Components Based on Signals

Start Page » Procedures » Bottom-up Design of Components Based on Signals

DaVinci Developer supports you in creating application components within your ECU project such that they match to the ECU's communication signals.

Procedure

Step by step

  1. Import the communication signals, e.g. by using the DaVinci Project Assistant to setup an ECU project based on a communication description file.
  2. Open the Data Mapping Editor.
  3. Let DaVinci create the matching delegation port prototypes and port interfaces via the shortcut menu item Create Port Prototypes. The data mapping will be created as well.
  4. Open the Software Design Editor.
  5. Open the Structure Graphic view to see the delegation port prototypes created by DaVinci.
  6. Add a new component via the shortcut menu item New Component (see Adding a Component).
  7. Add new port prototypes at the component matching to the delegation port prototypes, e.g. by creating a copy of the delegation port at the component with copy&paste (see Adding a port prototype).
  8. Connect the delegation ports with the new port prototypes, e.g. by letting DaVinci automatically create the connection prototypes (see Automatic Definition of Connector Prototypes).
  9. Complete the components, e.g. by adding runnable entities in the Component Type Editor (see Defining Runnable Entities).


Connecting Components Automatically

Start Page » Procedures » Connecting Components Automatically

DaVinci Developer supports you in creating connector prototypes between components.

Procedure

Step by step

  1. Open the Software Design Editor of the ECU project, resp. open the Component Type Editor of the composition type in the Library.
  2. Let DaVinci create the connector prototypes (see Automatic Definition of Connector Prototypes).


Connecting Signals Automatically with Components

Start Page » Procedures » Connecting Signals Automatically with Components

DaVinci Developer supports you in creating the data mapping between the communication signals and the port prototypes of the components.

Procedure

Step by step

  1. Open the Data Mapping Editor of the ECU project.
  2. Let DaVinci create the data mapping vie the shortcut menu item Automap Data Elements (see Automatic Data Mapping).


Making Two Ports Compatible

Start Page » Procedures » Making Two Ports Compatible

In case of an inconsistent connector prototype, DaVinci Developer supports you in adapting the connected port prototype.

Procedure

Step by step

  1. Select one of the port prototypes of the inconsistent connector prototype in the Software Design Editor.
  2. Let DaVinci adapt the connected port prototypes (see Adapting the Properties of Connected Port Prototypes).
Info

Info

Check the implementation code of your components. The changed data type might require a modification of the code.


AR4: Creating Implementation Data Types matching to Application Data Types

Start Page » Procedures » Creating Implementation Data Types matching to Application Data Types

DaVinci Developer supports you in creating implementation data types matching to application data types.

Select Data Type Mapping… in the shortcut menu of an ECU project.

This command opens the Data Type Mappings dialog. In this dialog you automatically create implementation data types and/or data type mappings with the following steps:

Procedure

Create implementation data types and/or data type mapping

  1. Show used application data types
    After opening the dialog, all application data types eventually used by the ECU project are displayed along with their context and possibly existing implementation data type mappings.
  2. Find candidates for creating new implementation data types and/or data type mappings
    [Find Mapping] finds matching implementation data types and assigns them to the corresponding application data type.
  3. Manually add or change the data type mapping
    After selecting a candidate in the data type list you may use Map… in the shortcut menu to manually select an implementation data type.
  4. Confirm the dialog to create the implementation data types and/or data type mappings
    After confirming the dialog with [OK] the implementation data types and/or data type mappings are created.

Options

The default settings don’t create new implementation data types, they just search for matching platform types and create a corresponding data type mapping. Consequently, only primitive application data types are mapped and complex application data types are skipped.

Packages

  • Implementation Data Types
    New data types are created in this package.
    Existing data types are searched in this package.
  • Platform Types
    Compatible platform data types are searched in this package.

New Data Type names

The name of a created implementation data type is derived from the application data type name. To ensure the generated name is unique and matches a project specific rule, a Prefix and/or Postfix can be specified.

Mapped Data Types

  • Use Platform Types
    If this option is enabled, only platform data types from the configured package are considered when a data type mapping is derived for an application data type.
  • Use Custom Implementation Types
    If this option is enabled, in a first step the implementation data type for an application data type is searched in the already existing ApplDT2ImplDT-mappings. If it was not found there, it is searched by name among the existing data types of the configured package.
    If no matching implementation data type has been found and Create primitive Data Types is enabled, a new implementation data type is created.
  • Create complex Data Types
    If this option is enabled, complex implementation data types are created and mapped to the corresponding application data type.
  • Prefer integer to float Data Types
    Sometimes an application data type is defined in a way that a floating point data type is derived although an integer data type would be sufficient. If this option is enabled, the float data type is ignored and an integer data type is selected if it can represent the minimum and maximum required values.
  • Allow selection of incompatible Data Types
    If this option is enabled, the implementation data type selection dialog does not filter data types which are not considered compatible to the application data type.
Info

Info

New data type mappings are always created in the default data type mapping set. The default data type mapping set can be specified by the context menu entry Set as default Mapping Set of a data type mapping set - object in the library browser. If no mapping set is specified as default, a new mapping set with the name DataTypeMappings_DEV is created in the configured default package for type mapping sets. This one is also set as default data type mapping set

An existing data type mapping from another data type mapping set is not moved to the default data type mapping set if it is changed using Map… in the shortcut menu.

Changes are only accepted with [OK] or [Apply]. [Cancel] does not change the data type mapping or create implementation data types.

Data type mappings and data type mapping sets can still be edited manually in the library as described here: Defining Type Mapping Sets (AR4)


Working with Graphical Editors

Start Page » Procedures » Working with Graphical Editors

Graphical editors are available in the Software Design Editor or the Component Type Editor. These editors provide an interface graphic and a structure graphic of components. You may use them to define:

  • Port Prototypes
  • Sub-Components
  • Connectors

The general operation of the graphical editors includes the following features:

Zooming

You can zoom in and out of the graphical editor by rotating the mouse wheel while pressing <CTRL> or by using the <+> and <-> keys.

Navigating through the structure graphic

You can navigate through the hierarchy levels of a composition with the following actions

  • Doubleclick a sub-composition to open the next level (step in)
  • Doubleclick on the background of the sheet to open the parent composition (step out)

Alternatively, you may use Navigate, Step In resp. Navigate, Step Out in the shortcut menu.

Following port connectors through the structure graphic

You can follow a connector through a software hierarchy by using the Navigate sub menu of a port’s shortcut menu. Up (only enabled at composition ports) opens the parent composition and navigates to the selected port, Down (only enabled at composition ports) opens the sub-composition and navigates to the selected port. Show in Data Mapping Editor (only enabled at ports with data mapping) opens the Data Mapping Editor and selects the corresponding data mapping entry.

Resizing

Select the object in the Interface view, and drag & drop the resize handles of the object. By holding <CTRL> pressed during drag & drop the ports keep their relative position.

Positioning

Objects in the graphical editors can be moved by drag & drop or by selecting the objects and using the arrow keys.

For positioning ports additional commands are available in the Layout shortcut menu of one or more selected ports or in the Arrange Ports shortcut menu of the parent component type (applies to all ports of the parent component type)

Align Spread
All selected ports are arranged with equal vertical spacing between the minimum and maximum vertical coordinates of all selected ports

Align Packed
All selected ports are arranged with minimum possible vertical distance.

Flip Orientation
If the selected ports are elements of a component types interface graphic all selected ports are placed at the opposing side of the component type. If the selected ports are elements of a composition types structure graphic the ports are turned to face the opposite way.

Sort Ascending
The selected ports are sorted by type and name in ascending order. No alignment is done only the ports’ positions are swapped.

Sort Descending
The selected ports are sorted by type and name in descending order. No alignment is done only the ports’ positions are swapped.

Sort Connected First
The selected ports are arranged such that the connected port prototypes are displayed above the unconnected port prototypes.

Sort Connected Last
The selected ports are arranged such that the connected port prototypes are displayed below the unconnected port prototypes.

In the Structure Graphic view of a composition, you may use the command Auto-Layout Delegation Ports to arrange the delegation port prototypes automatically near the connected port prototype.

Storing and restoring interface layouts

An object like a component type may be used several times in different structure graphics. To allow an optimal placement of the ports it is possible to define a different interface layout at each usage location of the object. In addition, the object itself has a default interface layout, which is used as default when adding the object into a structure graphic.

In addition to the manual or automatic placement of ports, you may use the following commands in the Layout shortcut menu of the object in the structure graphic:

Reset to library default
Resets the current interface layout and object size to the default interface layout.

Save as library default
Saves the current interface layout and object size as new default interface layout.

| Organizing Complex Structure Graphics | Keyboard Operation | Defining the Sub-Structure of a Composition Type |


Interactive Consistency Analysis

Start Page » Procedures » Interactive Consistency Analysis

To support you during design of structure graphics you may activate DaVinci Developer's interactive consistency analysis.

This functionality helps you find configuration errors in your software design or data mapping, etc.

The consistency check command is available for every workspace object in its shortcut menu in the Library Browser or Project Explorer. You may also start the consistency analysis for a selected workspace object via the code generation toolbar.

| Global Settings |


Organizing Complex Structure Graphics

Start Page » Procedures » Organizing Complex Structure Graphics

Since the structure of e.g. a composition type may become very complex, DaVinci allows you to split up a structure graphic into several sheets. The available sheets are displayed at the bottom of a structure view.

Special graphical elements, the cross reference symbols, are automatically added. Such a cross reference symbol displays the location (sheet name and object name), where the interrupted connection is being continued. By double-clicking a cross reference symbol, the according sheet is automatically activated and the counterpart of the cross reference symbol on this sheet is highlighted. This feature allows you to track the connection lines between the various sheets.

Adding or removing sheets

After selecting one of the sheets, the following commands are available in the shortcut menu:

Insert
Opens a dialog for entering the name of the new sheet. By choosing the according option in this dialog, all selected objects of the currently activated sheet will be automatically shifted to the new sheet.

Delete
Deletes the currently activated sheet. All objects of the sheet will be automatically shifted to one of the other sheets.

Rename
Opens a dialog for entering the new name of the currently activated sheet.

Move
Opens a dialog for changing the sheet order.

Placing objects on a sheet

After selecting one or more objects (e.g. a component) within a structure view you may use the shortcut menu item Shift to sheet to open a dialog for selecting the sheet. After confirming the dialog, the objects are removed from the old sheet and placed on the new sheet.

| Working with Graphical Editors |


Import XML File

Menu:File|Import XML File

Menus » File » Import XML Files

Opens the Import from XML dialog.

In this dialog you can configure a list of AUTOSAR XML files to be imported.

Closed Screenshot

With [Add File...] you can select one or more AUTOSAR XML files to be imported.
With [Remove] you can remove selected XML files from the dialog file list.
With [Clear] you can remove all files from the list.

The dialog remembers the list of files and the settings and will display them again when you open the dialog the next time until the tool will be closed and opened again. Then the presets made via Options|Workspace Settings...| Import XML will be used again.

With [Import] you can start the import process.

Info

Info

If the list of selected XML files contains an AUTOSAR system description an intermediate dialog will pop up allowing you to select one of the ECU instances of the system to be imported.

Using the options in the dialog you can influence the import process and define the strategy (import mode) for resolving potential conflicts with existing objects.

Substitute missing objects

By selecting Substitute missing objects you may enable a tolerant import strategy in case of missing objects (i.e. objects, which are referenced by any other object in the import context, but which do not exist). If an object is missing, DaVinci Developer searches for an alternative object with the following priority

  • Object in the import context with same short name, but different package path within the ARXML file.
  • Existing object in the workspace with same short name.

Package Import

By selecting Import from File the package structure of the AUTOSAR XML files will be imported and the imported objects will be located in these packages.
By selecting Use Default Packages the package structure of the AUTOSAR XML file will not be imported. The imported objects will be located in the default packages instead (see Workspace Settings).

When importing objects into default packages you can additionally enable Merge AR elements from different packages. This option will merge two elements from same type and short-name from different packages into a single object.

Example

Example

An input file contains two data types named uint8 which exist in Package /DataTypes and /DataTypes/PlatformTypes.

If Merge AR elements from different packages is disabled two data types are created in the default packages. The first will be named uint8. To avoid duplicate items the importer creates an unique short-name for the second data-type (e.g. uint8_01).

If Merge AR elements from different packages is enabled the given input data will result in only one data type uint8 in the default package.

Selective Import

By selecting Selective Import you can specify whether all input data is imported or only communication elements.

If Communication Only is selected, communication relevant elements are imported only. This means clusters, signals or PDUs and also all referencing elements. Referencing elements are non-communication elements which were referenced directly or indirectly by a communication element. For example, if an I-Signal is referencing a compu method the compu method is imported as well, and also the unit which is referenced by the compu method.

Find unused objects after import

By selecting Find unused objects after import you enable the search for objects, which were used before starting the import process, but are not used any more after running the import process. This function helps you to clean-up the workspace.

Lock created objects

By selecting Lock created objects all objects, which have been created during the import process, are automatically set to locked. Please see Read-Only Objects for details about the object locking concept.

Perform consistency check after import

By selecting Perform Consistency Check after import you may optionally check the consistency of all objects, which have been added or modified by the import.

Keep existing UUIDs

By selecting Keep existing UUIDs an existing UUID of a workspace element is not changed. The UUID is imported as it is defined in the imported file for new elements and existing elements without an UUID.

Replace legacy Data Types

By selecting Replace legacy Data Types the default data types of DaVinci Developer versions prior to 3.10 can be replaced by standard AUTOSAR platform data types during import.

Example

Example

The data type/DataTypes/Platform Types/uint8 and all references to it will be replaced by the data type/AUTOSAR_Platform/ImplementationDataType/uint8.

Closed Check for differences before import

By selecting Check for differences before import (currently only supported for AR3 workspaces) you may optionally run a difference analysis between the objects in the selected files and the objects in the workspace. In case of differences the Differences dialog is opened.

This dialog displays the differences between the workspace objects and the objects to be imported in a tree like fashion based on the AUTOSAR XML structure. You may use the shortcut menu of the displayed XML nodes to specify manually how the differences in the files and the workspace are to be resolved. If you confirm this dialog the import process will be continued. If you cancel this dialog, the import process is stopped and the workspace will not be changed.

Closed Interactive selection of import mode

When Use import mode preset is disabled, you can decide interactively during the import process how to resolve potential conflicts with existing objects. If an object in the imported XML file(s) already exists in the workspace, the Select Import Mode dialog is opened. In this dialog you may select the import mode for this object:

  • Overwrite existing object
    The object in the workspace will be overwritten by the object in the XML file.
    Special functionality for component types:
    If you select this option for a component type, the properties and the port prototypes will be overwritten and the Select Component Type Import Mode dialog is opened. In this dialog you may select the import mode for the realization of the component type:
  • Overwrite realization
    The realization of the existing component type will be overwritten by the realization of the imported component type. This includes overwriting the runnable entities (in case of an atomic component type) or component prototypes (in case of a composition type).
  • Keep realization
    The realization of the existing component type is not changed.

Additionally, you may define how to proceed in case of further conflicts:

  • Do not remember import mode
    This dialog will be opened again for the next conflicting component type.
  • Use import port for all remaining component types
    The selected import mode will be automatically applied to all further conflicting component types. This dialog will not be opened any more.
  • Merge objects
    The object in the workspace will be merged with the object in the XML file
  • Properties of the object in the workspace remain unchanged (e.g. the description in case of a component type)
  • Sub-objects of the object in the XML file are added to the object in the workspace, if not yet existing (e.g. component prototypes in case of a component type)
  • Create new object
    Import the object in the XML file as new object with different name.

Closed Automatic selection of import mode

When Use import mode preset is enabled, the import process automatically decides how to resolve potential conflicts by considering the Import Mode Preset attributes of the existing objects in the workspace. You may set the value of these attributes individually for each Component Type and Port Prototype:

  • Keep

The object in the workspace is not changed

  • Overwrite

The object in the workspace is overwritten

When Set import mode preset for created objects is checked you may furthermore select a default value (Keep, Override) for all new objects created during import.

Info

Info

These options are only available, if the Import Mode Preset attribute definitions exist in the workspace. You can create these attribute definition by importing the file ImportModePreset.arxml included in the Data directory of your DaVinci Developer installation.

Please see UserManual_DataImport.pdf for details.


Import DCF

Menu:File|Import DCF

Menus » File » Import DCF

Opens the Import from DCF dialog. In this dialog you can [Add...] one or more DCF files to be imported.

With [Remove] you can remove selected DCF files from the dialog file list.

By selecting Perform consistency check after import you may optionally check the consistency of all objects, which have been added or modified by the import.

For details about the DCF concept see Working with DCF User Manual.


AUTOSAR XML Export

Start Page » Procedures » AUTOSAR XML Export

After selecting one or more objects in the Library Browser or in the Project Explorer, you may select the shortcut menu item XML Export… to open the XML Export dialog. In this dialog you may define the filename of the XML file to be exported and further options for the export.

The following options are available

  • AUTOSAR version
    Allows you to select one of the supported AUTOSAR releases.
  • Export user-defined attributes
    By setting this option, an additional XML will be exported, which contains the user-defined attributes (see User Defined Attribute Export Technical Reference).
  • Create data types/constants for signals if required
    By setting this option, the exported XML file is ensured to have complete signal definitions including a reference to a data type object and a reference to a constant object. If these references do not exist in the workspace, new data types or constant objects are generated in the exported XML file.
    This option is not relevant for AUTOSAR release 2.1 or smaller
  • Additional options when exporting an ECU project
  • Don’t export communication data
    By setting this option, the communication data of the ECU project is not exported.
  • Don’t export data mapping
    By setting this option, the data mapping of the ECU project is not exported.
  • Don’t export end-to-end protection
    By setting this option, the end-to-end protection data of the ECU project is not exported.
  • Export only top-level structure
    This option is only available if an ECU project is being exported. By setting this option, only the top-level components of the ECU project are considered (i.e. the components which are directly referenced by the ECU composition). Any sub-component on a deeper hierarchy level is ignored. The top-level components are exported as atomic component types, which have no implementation (runnable entities).

The content of the exported XML file depends on the selected context object. Examples are

  • Component type selected within the Library Browser:
    Creates a software component description.
  • ECU project selected within the Library Browser or Project Explorer:
    Creates an ECU extract of system description.
Info

Info

Since the AUTOSAR XML format does not support graphics, the graphics (interface graphic or structure graphic) cannot be exported to AUTOSAR. You may use the DCF Export instead.


DCF Export

Start Page » Procedures » DCF Export

After selecting one or more objects in the Library Browser or in the Project Explorer, you may select the shortcut menu item DCF Export… to open the DCF Export dialog. In this dialog you may define the filename of the DCF file to be exported and AUTOSAR format to be used.

As additional information, the dialog displays all dependent items of the exported object. For each dependent object, the file name within the DCF folder structure is displayed, which will store the object. The file name for the dependent items is implicit and cannot be changed.

For details about the DCF concept and folder structure see Working with DCF User Manual.

Info

Info

Graphic export function: In case of components, the DCF Export also exports the graphics (interface graphics or structure graphics). So this is the recommended approach in case you want to transfer a component from one DaVinci workspace into another workspace.

The usage of .DCF workspaces is not required: the DCF Export and -Import is also available for .dev workspaces (see also Data Storage).


Consistency Check

Start Page » Procedures » Consistency Check

In order to determine whether the design objects and their relations among each other are consistent, an automatic consistency check can be performed. The consistency check is available for each selected workspace object in the code generation toolbar or in its shortcut menu in the Library Browser.

The result of the consistency check is displayed in the Messages page of the Output Window. By double-clicking one of the messages or selecting the messages and shortcut menu item Details you may see the message details. In this expansion of the dialog you get more information about the message like a description or some help how to solve the problem.

You may export the content of the Output Window's Messages page to a text log file using the [image] button in the Messages page's toolbar.


Toolbars

Menu: View|Toolbars

Start Page » Toolbars

The following toolbars are available in DaVinci Developer:

  • Standard Toolbar
    The standard toolbar contains general DaVinci Developer functions.
  • Code Generation Toolbar
    The Code Generation Toolbar contains commands for controlling the code generation process.
  • Graphic Toolbar
    The graphic toolbar contains commands for graphical views.
  • Software Design Toolbar
    The software design toolbar contains commands for the software design.

| Keyboard Operation | Status Bar |


Standard Toolbar

Start Page » Toolbars » Standard

The icons arranged on the toolbar permit quick access to frequently needed commands. The toolbar is located beneath the menu bar in the DaVinci Developer Program Window.

You can open or close the toolbar via View|Toolbars.

When an icon is clicked the corresponding command is executed.

Icon

Menu/Command

File|New Workspace...

File|Open Workspace...

File|Save Workspace

File|Workspace Snapshot

Edit|Cut

Edit|Copy

Edit|Paste
Edit|Delete

Edit|Properties...

Open Editor

View|Attribute definitions

Edit|Find...

| Keyboard Operation | Status Bar |


Code Generation Toolbar

Start Page » Toolbars » Code Generation

The icons arranged on the toolbar permit quick access to frequently needed commands.

When an icon is clicked the corresponding command is executed.

Icon

Menu/Command

AR3 Generate code

AR3 Edit generators
AR3 Edit configurators
Check

| Keyboard Operation | Status Bar |


Graphic Toolbar

Start Page » Toolbars » Graphic

The icons arranged on the toolbar permit quick access to frequently needed commands.

You can open or close the toolbar via View|Toolbars.

When an icon is clicked the corresponding command is executed.

Icon

Menu/Command

View|Selection mode

View|Pan mode

View|Zoom In

View|Zoom Out

| Keyboard Operation | Status Bar |


Graphic Layout Toolbar

Start Page » Toolbars » Graphic Layout

The icons arranged on the toolbar permit quick access to frequently needed commands.

You can open or close the toolbar via View|Toolbars.

When an icon is clicked the corresponding command is executed.

Note

Note

These functions can also be reached by the keyboard. Therefore open the contextmenu with the Contextmenu-key [image]. Press L to reach the Layout submenu and P to reach the Arrange Ports submenu.

Icon

Function

Keyboard

Auto-Layout Delegation Ports | <A>
Align Ports Spread

<P> + <S>
Align Ports Packed

<P> + <P>
Sort Ascending | < P> + <A>
Sort Descending | < P> + <D>
Sort Connected First | <P> + <F>
Sort Connected Last | < P> + <L>
Align Left
Align Right
Align Top
Align Bottom

| Keyboard Operation | Status Bar |


Software Design Toolbar

Start Page » Toolbars » Software Design

The icons arranged on the toolbar permit quick access to frequently needed commands.

You can open or close the toolbar via View|Toolbars.

When an icon is clicked the corresponding command is executed.

Icon

Menu/Command

New component

New sender port prototype

New receiver port prototype

New server port prototype

New client port prototype
New calibration P-port prototype
New R-calibration port prototype
New mode P-port prototype
New mode R-port prototype
New Nv sender port prototype
New Nv receiver port prototype
Draw connector

Opens the Auto-Connect Port Prototypes dialog to create connector prototypes automatically.

| Keyboard Operation | Status Bar |


Keyboard Operation

Start Page » Keyboard Operation

The following keyboard operations are available in DaVinci Developer:

Key Combination

Description

Menu

<Ctrl>+<O>

Opens a workspace

File|Open Workspace

<Ctrl>+<N>

Creates a new workspace

File|New Workspace

<Ctrl>+<X>

Cuts the selected object to the clipboard.

Edit|Cut

<Ctrl>+<C>

Copies the selected object to the clipboard.

Edit|Copy

<Ctrl>+<V>

Pastes the contents of the clipboard.

Edit|Paste

<Ctrl>+<S>

Saves modifications of the workspace.

File|Save

<Ctrl>+<F>

Opens the search dialog

Edit|Find

<Alt>+<Enter>

Opens the properties dialog of the selected object.

<Esc>

Closes the active dialog without accepting the changes.

Corresponds to activation of the [Cancel] or [Close] button.

If you use a special mode (e.g. pan mode) in a graphical editor, you can return with <Esc> to selection mode.

<F10>

Activates the main menu bar.

<Ctrl>+<F4>

Closes the active window.

<Ctrl> + mouse wheel

Zoom in/out (in graphical editors)

<+>

Zoom in (in graphical editors)

<->

Zoom out (in graphical editors)

Arrow keys

Move selected object (in graphical editors)

<CTRL> + Arrow keys

Move selected object/fine step (in graphical editors)

<Alt>+<F4>

Closes the active workspace and exits DaVinci Developer.

File|Exit

<Alt>+Spacebar

Opens the System menu of the DaVinci Developerprogram window.

As an alternative the System menu may also be opened by clicking the system icon.

<CTRL>+<Alt>+<N> Creates a new list item in Components Editor List Views.
(Depending on the active Component Type Editor the item will be directly created or a submenu opens where you have to specify the item you want to create).
<CTRL>+<Pos1> | Moves to the previous editor in the Editors Navigation bar.
<CTRL>+<End> | Moves to the next editor in the Editors Navigation bar.
<CTRL>+<PageDown> | Switch to the next tab on the right in Software Design View, Output Window and Properties Window.
<CTRL>+<PageUp> | Switch to the next tab on the left in Software Design View, Output Window and Properties Window.

| Toolbars |


Naming Rules

Start Page » Naming Rules

The following naming rule applies to all objects

  • The name may only contain alphanumerical characters or underline
  • AR3 The length of the name is limited to 32 characters. This limit may optionally be extended to 128 characters (see Menu|Options|Workspace Settings - General page)


Copyright

Start Page » Copyright


Typographic Conventions

Start Page » Typographic Conventions

On this page we present to you the typographic and symbolic elements of our Help system together with their meanings.

Element

Short description

Caution

Caution

Note

Note

Example

Example

Practical Procedure/Step-by-step Instruction

Practical Procedure/Step-by-step Instruction

FAQ

FAQ

Introduction

Introduction

Basic Knowledge

Basic Knowledge

Expert Knowledge

Expert Knowledge

Changes/Updates

Changes/Updates

Cross Reference

Cross Reference

Definition/Disambiguation

Definition/Disambiguation

Media Link

Media Link

Editing allowed

Editing allowed

Do not edit manually

Do not edit manually

Obsolete Command/Function

Obsolete Command/Function

Expand / Close

This symbols flags (expandable/closeable) drop-down sections.

Concept Link

This symbol flags cross references/conceptual links; a window will pop up.

CANoe

Notation for product names and trademarks.

[OK]

Notation for buttons in dialogs.

<F5>

Notation for keys on the computer keyboard.

<Ctrl>+<z>

Notation for keys on the computer keyboard that should be pressed simultaneously.

Add…

File|Save file…

Notation for commands, menu names, dialog names and screen/dialog elements.

Here Save file… refers to a command within the File menu.

on message 0x100

on message 0x100

Notation for syntax/source code(CAPL, MS-DOS, XML, C#…).


Assigning an ECU Configuration File to an ECU Project

Start Page » Functional Range » Assigning an ECU Configuration File to an ECU Project

To assign an ECU configuration file to an ECU project you may select the ECU project in the Project Explorer or in the Library Browser and open its properties dialog.

In this dialog you may select the ECU configuration file as well as the BSWMD files for the Com, NvM and the Os module.

Alternatively, you may use the DaVinci Project Assistant to set up the ECU project. In this case, the paths to the ECU configuration file and BSWMD files are automatically configured. Using the DaVinci Project Assistant you may also specify whether the ECU configuration is stored in a single file, or split-up into multiple files. In combination with an external file-based configuration management system, multiple ECU configuration files enable the parallel editing of an ECU configuration by several users.

| Creating an ECU Project | Synchronizing the ECU Configuration file | Editing the ECU Configuration File |


AR3: Configuring the Code Generators

Start Page » Functional Range » Configuring the Code Generators

To configure the list of code generation tools you select the ECU project in the Project Explorer and use one of the following commands to open the Generators dialog:

  • Open generator list in the shortcut menu
  • Open generator list button in the code generation toolbar [image].

In this dialog you may configure a list of tools, which will be executed one after each other when calling the Generate Code command. You have the following possibilities to edit the list of generation tools:

[Execute]
Executes the selected generation tool.

[Properties]
Opens the Tool Definition dialog for editing the selected generation tool.

[Add]
Opens the Tool Definition dialog for adding a new generation tool.

[Remove]
Removes the selected generation tool from the list.

[Copy from]
Copies the list of generation tools from another ECU project.

Using the arrow buttons you may define the order of the generation tools.

To generate the RTE of the ECU project, you may add the MICROSAR RTE Generator (DVRteGen.exe) to the list. If the MICROSAR RTE is included within your MICROSAR delivery, you find the MICROSAR RTE Generator within the installation folder of the MICROSAR delivery. For details of the MICROSAR RTE Generator please refer to documentation of the MICROSAR RTE.

By checking the option Allow generation of unsaved data you may enable the code generation on a workspace, which is not yet saved.

Info

Info

If the generator list contains incompatible RTE generators or other generators, you will be asked so save the workspace anyway.

The Tool Definition dialog is used to specify such generation tool. In this dialog you may define a name for it, the tool path and a string to be passed as command line parameters. When defining the command line parameters, you may use placeholders.

By checking the Use standard generator option, the name and tool path of the standard generator (see Options) is used. The command line of the standard generator is initially copied to the command line field. You may edit it to adapt it to your ECU project.

| Generating Target Code |


AR3: Defining Data Types

Start Page » Functional Range » Defining Data Types

A data type may be created in the Library Browser. To open a dialog for creating a data type you select one of the following shortcut menu items of the Data Types folder in the Library Browser:

New Boolean Type
Opens a dialog to define the name and description of the boolean type. Optionally you may define an invalid value. This value is relevant when using the invalidation mechanism (see also Defining Port Prototypes).

New Enumeration Type
Opens a dialog to defining an enumeration type. Besides the name and description you may define the following properties:

Range, Invalid value and Scaling
See New Integer Type
Enumerators
List of enumerators, defined by name, value (or value range) and description. The value of the enumerators must not exceed the range of the enumeration type.

Using Duplicate Values from you may simplify the definition of a new enumeration type by copying the properties from another enumeration type or integer type.

Info

Info

A scaling should only be defined if the enumeration type has at least one range enumerator. If the enumeration type has several range enumerators, the scaling applies to all of them.

New Integer Type
Opens a dialog for defining an integer type. Besides the name and description you may define the following properties:

Range
Raw value range of the integer type, defined by a minimum and a maximum value.
Invalid Value
Optional definition of an invalid value. This value is relevant when using the invalidation mechanism (see also Defining Port Prototypes).
Scaling
Optional definition of a scaling (defined by factor, offset and unit) to convert the raw value into a physical value according to the following formula.
[Physical value] = ( [Raw value] * [Factor] ) + [Offset] )

New Real Type
Opens a dialog to define a real type. Besides the name and description you may define the following properties:

Encoding
Encoding (single or double) or the real type.
Range, Invalid value and Scaling
See New Integer Type

New Opaque Type
Opens a dialog to define the name, description and length of the opaque type. Optionally you may define an invalid value. This value is relevant when using the invalidation mechanism (see also Defining Port Prototypes).

New String Type
Opens a dialog to define the name, description and maximum length (number of characters) of the string type. Optionally you may define an invalid value. This value is relevant when using the invalidation mechanism (see also Defining Port Prototypes).

Info

Info

Depending on the settings the string may contain a terminating NULL byte. In this case, the actual length of the string buffers in the RTE code is maximum length + 1.

New Array Type
Opens a dialog to define the name, description, size and data type of the array type.

New Record Type
Opens a dialog to define a record type. Besides the name and the description of the record type, you may define any number of record elements. Each record element is defined by name, description and data type.

Info

Info

By selecting e.g. an array type as data type of a record element you may define complex hierarchical data types.
The standard data types of AUTOSAR like Uint8 or Uint16 are automatically added when creating a new workspace.

In case of data types, the Package page in the object dialog contains additional options (besides the selection of the package) for the handling of the sub-elements Semantics and Unit.

Info

Info

Sub-elements are those AUTOSAR design objects, which are aggregated in single DaVinci DEV design object. Such sub-elements exist in case of data types and atomic component types. When using automatic handling of sub-elements, the sub-elements are created in a default package structure under the parent object. When using manual handling of sub-elements, you may explicitly define the package and object name of the sub-elements. These settings become effective when exporting the DaVinci DEV design object to an AUTOSAR XML file.

| Defining Port Interfaces | Defining Component Types | Defining Port Prototypes | Defining the Software Structure of an ECU Project |


AR3: Defining NV Block Descriptors

— Vector DaVinci Developer Help —

Defining NV Block Descriptors

Start Page » Functional Range » Defining NV Block Descriptors

The NV block descriptors of an atomic component type may be defined on the NV Block Descriptors page of the Component Type Editor.

Info

Note

This page is only available for component types of type “Non-Volatile Memory Block”.

You find the following buttons to edit the list of NV block descriptors:

[New]
Opens the Select Port Interfaces dialog to select one or more NV data interfaces. On confirmation a new NV block descriptor for each selected NV data interface is created.

[Delete]
Deletes the selected NV block descriptor.

[Copy]
Creates a copy of the selected NV block descriptor.

After selecting a NV block descriptor in the list, you may select its NV data interface and define all properties of the NV block descriptor.

The communication specification of a NV block descriptor is identical with the communication specification of a NV sender/receiver port prototype (see Defining Port Prototypes).

Closed Picture of NV Block Descriptors page


AR3: Editing the ECU Configuration File

Start Page » Functional Range » Editing the ECU Configuration File

After selecting an ECU project you may use the shortcut menu item Open Configurator List to open the Configurators dialog. In this dialog you may configure a list of external tools, which you may start from within DaVinci Developer to edit the ECU configuration file of the ECU project. You have the following possibilities to edit the list of configuration tools

  • Execute
    Starts the selected configuration tool.
  • Properties
    Opens the Tool Selection dialog of the selected configuration tool.
  • Add
    Opens the Tool Selection dialog for adding a new configuration tool.
  • Remove
    Removes the selected configuration tool from the list.

The Tool Selection dialog is used to specify an configuration tool. In this dialog you may define a name for it, the tool path and a string to be passed as command line parameters. When defining the command line parameters, you may use placeholders.

| Assigning an ECU Configuration File to an ECU Project | Synchronizing the ECU Configuration file |


AR3: Generating Target Code

Start Page » Functional Range » Generating Target Code

To generate the target code you may select the ECU project in the Project Explorer and use one of the following commands

  • Generate Code in the shortcut menu
  • [Generate Code] button

These commands will execute the generator list.

To generate target code for individual components you may select one or more components in the Library Browser and use one of the following commands in the shortcut menu

Generate Contract Phase Headers
This command calls the RTE generator of the ECU project to generate the Contract Phase Header files for the selected components.

Generate Component Implementation Templates
This command calls the RTE generator of the ECU project to generate the Implementation Template files for the selected components.

| Configuring the Code Generators |


AR3: Memory Mapping

Start Page » Functional Range » Memory Mapping

The memory mapping is displayed and edited in the Memory Mapping Editor.

In the Per-Instance memory view mode, you have the following commands in the shortcut menu

Select NV Memory Block (available if a per-instance memory item is selected)
Opens the Object Selection dialog to select one of the NV memory block of the ECU project.

Create NV Memory Block (available if a per-instance memory item is selected)
Creates a new NV memory block with a default name. This command is only available if the per-instance memory is not yet mapped to a NV memory block.

Create All NV Memory Blocks
Creates a new NV memory block for all unmapped per-instance memory items.

Unmap NV Memory Block (available if a per-instance memory item is selected)
Deletes the memory mapping. This command is only available if the per-instance memory is mapped to a NV memory block. The NV memory block itself will not be deleted.

Delete NV Memory Block (available if a per-instance memory item is selected)
Deletes the NV memory block. This command is only available if the per-instance memory is mapped to a NV memory block.

NV Memory Block Properties (available if a per-instance memory item is selected)
Opens the NV memory block dialog for displaying the properties of the NV memory block. This command is only available if the per-instance memory is mapped to a NV memory block.

Show in Software Design (available if a per-instance memory item is selected)
Opens the Object Selection dialog to select one of the NV memory block of the ECU project

Automap Per-Instance Memory
Calls the automatic memory mapping functionality for all unmapped per-instance memory items. This functionality searches a NV memory block with a matching name. The following search priorities are applied:

  • The names are identical.
  • The per-instance memory name is part of the NV memory block name.
  • The NV memory block name is part of the per-instance memory name.

If a NV memory block with matching name exists, the per-instance memory will be mapped to this NV memory block.

In the NV memory block view mode, you have the following commands in the shortcut menu

Create NV Memory Block
Opens the NV memory block dialog to create a new NV memory block. In this dialog you may enter the name and description of the NV memory block.

Delete NV Memory Block (available if a NV memory block is selected)
Deletes the NV memory block.

NV Memory Block Properties (available if a NV memory block is selected)
Opens the NV memory block dialog for displaying the properties of the NV memory block.

Show in Software Design (available if a NV memory block is selected, which is mapped to a per-instance memory item)
Opens the Software Design Editor and shows the definition of the per-instance memory.

Paste (available if previously a NV memory block has been copied)
Pastes a previously copied NV memory block into the table.

Copy (available if a NV memory block is selected)
Copies the selected NV memory block to the clipboard (can then be pasted into the table).


AR3: Service Mapping

Start Page » Functional Range » Service Mapping

The service mapping is displayed and edited in the Service Mapping Editor.

Closed Defining a service connector

To create a service connector you may select a service port and use Map Service Port in the shortcut menu to open the Select Service Port dialog. This dialog displays all counterpart service ports:

  • In case the dialog is opened for a service port of an application component, the service ports of all service components of the workspace are displayed.
  • In case the dialog is opened for a service port of a service component, the service ports of all application components of the ECU project are displayed.

You may activate one or both of the following filters to reduce the number of displayed data elements

  • Show compatible items only
    The list displays only those service ports, which are compatible with the selected service port
  • Show non-mapped items only
    The list displays only those service ports, which are not yet mapped to another service port

After confirming the dialog, the service connector is created. The service component, which is connected by the service connector, is automatically added to the ECU project.

To delete a service connector you may select the service connector and use Unmap Service Port in the shortcut menu.

Closed Explicit adding or removing of service components

In the Service Component view mode, you have the following commands in the shortcut menu of a service component (or in the shortcut menu of the empty list, in case no service component exists):

  • Add Service Component
    Opens a dialog for selecting one or more service component types of the workspace. After confirming the dialog, the selected service component types are added to the ECU project.
  • Remove Service Component
    Removes the selected service components from the ECU project. The service connectors to these service components are deleted as well. The service component types are not deleted. They remain in the workspace.

Closed Automatic service mapping

Available in the Service Connector list view mode or the Application Component view mode:

Instead of manually mapping individual service ports, you may use the shortcut menu item Automap Service Ports to call the automatic service mapping functionality. Based on a best-guess rule, this functionality selects a matching service port of a service component for each unmapped service port of the application components. The following rule is applied to find a matching service port of a service component:

  • The service port must be compatible, i.e. reference a compatible service port interface.
  • The service port must either have the same or a similar name. The following priorities are applied:
  1. The service port names are identical
  2. The name of the application's service port is part of the name of the service's service port.
  3. The name of the service's service port is part of the name of the application's service port.

If there are no matching service ports at the application components, you may automatically create such service ports: After selecting one or more service ports in the Service Component view mode, you may use New Service Port at Application Component in the shortcut menu to open the application component selection dialog. This dialog displays all application components of the ECU project. After confirming the dialog, a matching service port for each selected service port is created at the selected application component. Service connectors to the new service ports are created as well.

In case one or more of the new service ports is a server port, a dialog is opened to confirm the automatic creation of server runnables for the new ports (see also Defining Runnable Entities).


AR3: Synchronizing the ECU Configuration File

Start Page » Functional Range » Synchronizing the ECU Configuration File

An ECU project is automatically synchronized with its referenced ECU configuration file:

When opening a workspace the ECU configuration is loaded from the referenced file. If DaVinci Developer detects modifications to the ECU configuration file from outside DaVinci Developer you will be notified. You may then choose to import the changes into the opened workspace. When saving the workspace the ECU project and the ECU configuration file are synchronized in the following steps:

  1. Synchronization of RTE configuration

The RTE configuration of the ECU project is always up to date. In case of differences between the RTE configuration as described in the ECU project and the RTE configuration as described in the ECU configuration file, the RTE configuration in the ECU configuration file will be adapted to the RTE configuration of the ECU project.

  2. Synchronization of OS, Com and NvM configuration

If the OS, Com or NvM configuration differs between ECU project and ECU configuration file the ECU Configuration File Consistency dialog will be displayed. Pressing [Details…] will open another dialog displaying a detailed view of the relevant module configurations and the differences between the configurations in the ECU project and the ECU configuration file.You may either update the relevant configuration sections in the ECU configuration file or leave them unchanged.

To manually synchronize the ECU configuration file with the ECU project, select the ECU project in the Project Explorer and use the Synchronize ECU Configuration File... shortcut menu item.

| Assigning an ECU Configuration File to an ECU Project | Editing the ECU Configuration File |


AR3: Task Mapping of Software Components

Start Page » Functional Range » Task Mapping of Software Components

The task mapping is displayed and edited in the Task Mapping Editor.

Closed Defining a task

To create a new task you may use Add Task in the shortcut menu of the task list to open the Task dialog. In this dialog you may enter the name and description of the task. Additionally, you may enter the following properties

  • OS Application
    OS application the task is assigned to. You may select one of the OS applications of the ECU project (see also Defining an OS Application).
  • Priority
    Priority of the task.
  • Task Type
    You may choose between Basic or Extended if you want to set the task type explicitly. Specifying Auto allows the RTE generator to select a suitable type automatically.
  • Activation
    The activation value of the OS task.
  • Role
    You may choose between Application, BSW Scheduler and Non RTE. BSW Scheduler tasks are intended for runnables of service component types only. Application tasks are intended for runnables of application software component types. Non RTE tasks do not allow a runnable mapping.
  • Schedule Type
    Schedule type of the task (non-preemptive or full preemptive).
  • Timing Requirements
    You may optionally specify timing requirements for the task. By setting a Period and an Offset you may specify that the task will be activated periodically. This is ensured by an according consistency check, which verifies that all mapped runnable entities have a periodic trigger with the same values for period (see Defining Runnable Entities) and activation offset (see Generation Parameters Editor).

  • Generate schedule calls
    If you set this option, the task implementation generated by the RTE generator will include calls of the Schedule() function of the operating system.

To delete a task you may select the task and the shortcut menu item Delete. The runnable entities will be automatically unmapped.

Closed Automatic adaptation of runnable entity timing

If you have specified timing requirements for the task, you may select the task in the task list and use the shortcut menu item Adapt Runnable Entity Timings. This command changes the period and the activation offset of all mapped runnable entities such that they match the timing requirements.

Closed Defining an OS application

To create a new OS application you may use Edit OS Applications... in the shortcut menu of the task list to open the OS Applications dialog.

In this dialog you may create or delete an OS application. For each OS application you may define the name and select the trust status (untrusted or trusted).

Closed Mapping runnable entities to a task

You may map a runnable entity to a task in one of the following ways:

  • Select the runnable entity in the list and Drag & Drop it to the column of the task.
  • After selecting the runnable entity you may use Map Runnable Entity in the shortcut menu to open a dialog for selecting the target task.

Closed Unmapping runnable entities from a task

You may unmap a runnable entity from a task in one of the following ways:

  • Select the runnable entity and Drag & Drop it to a different application task.
  • After selecting the runnable entity you may use Unmap Runnable Entity in the shortcut menu to unmap the runnable entity from the task.

Closed Defining the order of runnable entities within a task

By selecting a task and the shortcut menu item Runnable Entity… you may open a dialog to specify the order of the runnable entities within a task.


AR3: DaVinci Project Assistant

Start Page » Concepts » DaVinci Project Assistant

The DaVinci Project Assistant is an utility tool to support you with central workflows when developing an ECU project with the Vector AUTOSAR tools. The Project Assistant supports the following main functions

  • Creation of a new ECU project
  • Update of an existing ECU project (e.g. in case a new version of the input files needs to be considered)
  • Change the general settings of an ECU project
  • Create a Support Request Package (zip file with project information required by Vector support)

These functions are available in the File menu and in the shortcut menu of the ECU project in the Workspace window.


Copy

Menu:Edit|Copy

Menus » Edit » Copy

Copies the selected object to the clipboard.

Use the paste function to add a copy of the object from the clipboard.

Shortcuts

Toolbar

Keyboard

<Ctrl>+<C>


Cut

Menu:Edit|Cut

Menus » Edit » Cut

Cuts the selected object to the clipboard.

Use the paste function to add a copy of the object from the clipboard.

Shortcuts

Toolbar

Keyboard

<Ctrl>+<X>


Delete

Menu:Edit|Delete

Menus » Edit » Delete

Deletes the currently selected workspace object.

Shortcuts

Toolbar

Keyboard

<Del>


Paste

Menu:Edit|Paste

Menus » Edit » Paste

Pastes the content of the clipboard.

Shortcuts

Toolbar

Keyboard

<Ctrl>+<V>


Properties

Menu:Edit|Properties

Menus » Edit » Properties

Opens an object dialog, in which the properties of the selected object can be modified.

Shortcuts

Toolbar

Keyboard

<Alt>+<Enter>

Depending on the object, there are several setting pages available.


Exit

Menu:File|Exit

Menus » File » Exit

Exits the workspace currently open and closes the DaVinci Developer.

Shortcuts

Toolbar

—

Keyboard

<Alt>+<F4>


Global Settings

Menu:Options|Global Settings

Menus » Options » Global Settings

In this Global Settings dialog you can edit user specific settings. These settings are valid for the current user across all workspaces:

AR4

General

  • Snapshot settings
  • Automatically delete snapshots when closing the workspace
    If this option is set, all existing snapshots of the workspace are deleted when closing the workspace.
  • Maximum number of snapshots per workspace
    Defines the maximum number of snapshots stored in the workspace. Default is 5.
  • Graphic settings
  • Highlight inconsistent connectors
    Affects the display of the Software Design Editor. If this options is set, the inconsistent connectors within the structure of a composition are highlighted.
  • Highlight inconsistent ports
    Affects the display of the Software Design Editor. If this option is set, the inconsistent ports within the structure of a composition are highlighted.
  • Show port connectivity status
    Affects the display of the Structure view of the Software Design Editor. If this options is set, the compatible ports (i.e. candidates for being connected) are interactively highlighted during drawing a connector.
  • Working directory
    Sets the working directory.

AR3

Paths/Generator

  • Global output path
    Path to an output directory. This path may be used via the placeholder mechanism in the generator list or configurator list of an ECU project (see below).
  • Working directory
    Set the working directory.
  • Standard generator
    In these fields you may define the standard generator by name, tool path and command line. When configuring the code generators of an ECU project (see Configuring the Code Generators). When defining the command line parameters, you may use placeholders.

The standard generator can be used as default when configuring the code generators of an ECU project (see Configuring the Code Generators).

  • Automatic synchronization of ECU Configuration File
  • before executing a configurator/generator
    If this option is set, the synchronization of the ECU configuration file (see Synchronizing the ECU Configuration File) is automatically done before calling an external configurator (see Editing the ECU Configuration File) or generator (see Editing the ECU Configuration File), and after termination of the external configuration or generator.
  • on loading/saving a workspace
    If this option is set, the synchronization of the ECU configuration file (see Synchronizing the ECU Configuration File) is automatically done on loading and saving a workspace using the .dev format. When using the .dcf format the synchronization is integral part of the DCF storage and cannot be switched off.

Graphic Display

Settings for graphic editors

  • Highlight inconsistent connectors
    Affects the display of the Software Design Editor. If this options is set, the inconsistent connectors within the structure of a composition are highlighted.
  • Highlight inconsistent ports
    Affects the display of the Software Design Editor. If this option is set, the inconsistent ports within the structure of a composition are highlighted.
  • Show port connectivity status
    Affects the display of the Structure view of the Software Design Editor. If this options is set, the compatible ports (i.e. candidates for being connected) are interactively highlighted during drawing a connector.

Workspace Snapshot

  • Automatically delete snapshots when closing the workspace
    If this option is set, all existing snapshots of the workspace are deleted when closing the workspace.
  • Maximum number of snapshots per workspace
    Defines the maximum number of snapshots stored in the workspace.
    Default is 5.


Workspace Settings

Menu:Options|Workspace Settings

Menus » Options » Workspace Settings

In the Workspace Settings dialog you can edit the workspace settings. These settings are related to the workspace and thus valid for all users.

Closed Port Check page

In the Compatibility section of this page you may influence the consistency check, which is applied to the ports and connectors of the software design. You may choose among the following options to influence the consistency check:

  • Strict (allow only split of connectors)
    If this option is selected, the strict compatibility rules of the AUTOSAR releases 2.0 and 2.1 are applied. Concerning the decomposition of a connector carrying multiple data element prototypes within a hierarchical software design, this compatibility rule allows to virtually split up a receiver delegation port prototype by connecting it with several receiver port prototypes of component prototypes. The inverse direction (a virtual merge of several sender port prototypes into one single sender delegation port prototype) is not supported. In detail, the following rule is applied:

In case of an assembly connector prototype: The receiver port prototype and the sender port prototype are compatible, if

  • for each data element prototype of the receiver port prototype a compatible data element prototype (identified by short name) exists within the connected sender port prototype
  • the Is service interface flag is identical for both port interfaces of the connected port prototypes

In case of a delegation connector prototype: The outer port prototype (i.e. the delegation port prototype) and the inner port prototype (i.e. the port prototype of the component prototype) are compatible, if

  • in case of receiver port prototypes: for each data element prototype of the inner port prototype a compatible data element prototype (identified by short name) exists within the connected outer port prototype
  • in case of sender port prototypes: for each data element prototype of the outer port prototype a compatible data element prototype (identified by short name) exists within the connected inner port prototype
  • the Is service interface flag is identical for both port interfaces of the connected port prototypes

In case of client/server port interfaces, the rule is applied in analogy to the operation prototypes of the respective client/server port interfaces.

  • Extended (allow split and merge of connectors)
    If this option is selected, an extended compatibility rule of AUTOSAR releases later than 2.1 is applied. Concerning the decomposition of a connector carrying multiple data element prototypes within a hierarchical software design, this compatibility rule allows to virtually split up a receiver delegation port prototype by connecting it with several receiver port prototypes of component prototypes. The inverse direction (a virtual merge of several sender port prototypes into one single sender delegation port prototype) is supported as well. In detail, the following rule is applied:
    In case of an assembly connector prototype: The receiver port prototype and the sender port prototype are compatible, if
  • for at least one data element prototype of the sender port prototype a compatible data element prototype (identified by short name) exists within the connected receiver port prototype
  • the Is service interface flag is identical for both port interfaces of the connected port prototypes

In case of a delegation connector prototype: The outer port prototype (i.e. the delegation port prototype) and the inner port prototype (i.e. the port prototype of the component prototype) are compatible, if

  • in case of receiver port prototypes: for at least one data element prototype of the outer port prototype a compatible data element prototype (identified by short name) exists within the connected inner port prototype
  • in case of sender port prototypes: for at least one data element prototype of the inner port prototype a compatible data element prototype (identified by short name) exists within the connected outer port prototype
  • the Is service interface flag is identical for both port interfaces of the connected port prototypes

In case of client/server port interfaces, the rule is applied in analogy to the operation prototypes of the respective client/server port interfaces.

In the Open ports section of this page you may set the following options:

  • Report data elements without receiver
    If this option is set, all data element prototypes within the context of a composition type are reported, which have no receiver (i.e. which are not transported via a connector prototype). This includes
  • data element prototypes of sender port prototypes of component prototypes
  • data element prototypes of receiver port prototypes of the composition type
  • Report data elements without sender
    If this option is set, all data element prototypes within the context of a composition type are reported, which have no sender (i.e. which are not transported via a connector prototype). This includes
  • data element prototypes of receiver port prototypes of component prototypes
  • data element prototypes of sender port prototypes of the composition type
  • Report operations without client
    If this option is set, all operation prototypes within the context of a composition type are reported, which are not invoked by any client (i.e. which are not transported via a connector prototype). This includes
  • operation prototypes of server port prototypes of component prototypes
  • operation prototypes of client port prototypes of the composition type
  • Report operations without server
    If this option is set, all operation prototypes within the context of a composition type are reported, which are not handled by any server (i.e. which are not transported via a connector prototype). This includes
  • operation prototypes of client port prototypes of component prototypes
  • operation prototypes of server port prototypes of the composition type
  • Check and generate calibration ports
    If this option is set, the open calibration ports are considered in code generation and in consistency check.
  • Report unused data elements without init values
    If this option is set, all unused data elements are reported by the consistency check, which have no init value.

In the End-to-End Protection section of this page you may set the following options:

  • Report consistency violations in End-to-End protected ports
    If this option is set, the consistency check reports all consistency violations of those ports, which are configured to be end-to-end protected.

Closed Data Mapping Check page

In the Compatibility section of this page you may influence the consistency check, which is applied to the data mapping. This consistency check compares the data element’s data type against the data type of the mapped signal. You have the following options to influence the consistency check:

  • Compatible
    If this option is set, the consistency check covers the full set of compatibility rules.
  • Partially Compatible Data Types
    If this option is set, you may enable or disable individual rules to be checked. The following options are available
  • Length (signal/data element bit-length): Enable/disable the check of the signal length
  • Unit: Enable/disable the check of the unit
  • Scaling (Factor, Offset, Min, Max): Enable/disable the check of the scaling
  • Symbolic constants / Enumeration elements: Enable/disable the check of the symbolic constants (value descriptions)
  • Init values: Enable/disable the check of the init value
  • Invalid values: Enable/disable the check of the invalid value
  • Signal Group to composite Data Type mapping: Enable/disable the check that all signals within a signal group are mapped to a compatible data element

If the option Use terminating NULL byte for string data types is set, the data mapping consistency check assumes an actual length of (maximum number of characters + 1) bytes for string data types. This flag is only relevant for the consistency check and does not have an impact on the generated code.
To be compliant to AUTOSAR, this option should be set.

Closed General page

In the General page, you have the following option:

  • AR3 Allow SHORT-NAMEs with up to 128 characters
    If this option is set, the tool supports objects with short name length up to 128 characters rather than 32 characters as specified by AUTOSAR 2.x. A patched version of the official AUTOSAR XML schema file is provided by the tool and used during AUTOSAR XML import/export. This option also affects the check of maximum name length, which is performed during the consistency check.
  • AR3 SWC Alive Timeout overrides Com-Signal
    This option defines the strategy for adapting the Alive Timeout setting of the Com-Signals in the ECU configuration file to the Alive Timeout of the connected SWCs (defined in the communication specification of the according R-port prototypes). The following options are available:
  • Never: The Com-Signals are not changed
  • If smaller: The Com-Signal’s Alive Timout is adapted in case the SWC’s Alive Timeout is smaller
  • Always: The Com-Signal’s Alive Timeout is always adapted to the SWC’s Alive Timout
  • AR3 The invalid value must be within the data type range
    This option enables a consistency check to ensure, the invalid value of a data type is within the range of the data type
  • Use graphic editors
    This option enables the general usage of graphical editors within DaVinci Developer. You may e.g. deselect this option in case you don’t plan to work with graphical editors at all. This will have performance benefits since no graphical layouts will be created.
  • Show calibration objects in graphic
    Allows you to optionally hide calibration elements in the graphical editors.

Closed Default Packages Page

In the Default Packages page you may select the default package for new objects. You may define such default package for each type of library object.

The default packages will be used as package for new objects in the following situations

  • When creating new objects in the Types view of the Library Browser
  • When creating objects automatically, e.g during data mapping via the Create Port Prototypes function.
    (See Bottom-up Design of Components based on Signals)
  • When selecting the option Use Default Packages during import of an ARXML file.


AR3: Bottom-up Design of Service Ports and Runnables

Start Page » Procedures » Bottom-up Design of Service Ports and Runnables

DaVinci Developer supports you in adapting the application components of your ECU project such that they match to the service components, which are e.g. created by DaVinci Configurator Pro.

Procedure

Step by step

  1. Import the AUTOSAR XML descriptions of the service components (see File|Import XML File).
  2. Open the Service Mapping Editor.
  3. Add the service components to your ECU project via the shortcut menu item Add Service Component (see Explicit Adding and Removing of Service Components).
  4. Let DaVinci create the matching service port prototypes and service runnables at the application components via the shortcut menu item Automap Service Ports (see Automatic Service Mapping)


AR3: Top-down Design of NV Memory Blocks

Start Page » Procedures » Top-down Design of NV Memory Blocks

DaVinci Developer supports you in creating NV memory blocks matching to the per-instance memory of the components.

Procedure

Step by step

  1. Open the Memory Mapping Editor of the ECU project.
  2. Let DaVinci create the memory mapping to the already existing NV memory blocks via the shortcut menu item Automap Per-Instance Memory.
  3. Let DaVinci create the missing NV memory blocks via the shortcut menu item Create All NV Memory Blocks.


Attribute Definitions Window

Menu:View|Attribute Definitions

Description of the Windows » Attribute Definition Window

Screenshot

Functionality

This window contains the list of user-defined attributes.

New user-defined attributes can be added and existing attributes can be edited here.

Open the Attribute Definitions window from the View menu of the main menu.

Further Topics

| Defining a User-defined Attribute | Modifying a User-defined Attribute | Deleting a User-defined Attribute |


AR3: Generation Parameters Editor

Description of the Windows » Generation Parameters Editor

Screenshot

Functionality

The Generation Parameters Editor displays the top-level settings, which are relevant for generating RTE code for the ECU project.

The left side displays the component tree of the ECU. Depending on the selection in the component tree, the right side displays the specific settings of the selected object.

Views

Tips & Tricks

If you select the ECU Composition in the component tree, the following generation parameters may be defined:

Closed VFB tracing

By selecting Enable VFB tracing you may enable the general VFB tracing mechanism of the RTE. In the VFB trace function list you may define a subset of the available trace functions.
Using [New] you may add a new trace function. Using [Edit] you may edit the selected trace function. [Delete] deletes the selected trace function. [Clear] deletes all trace functions.

Info

Info

The overall set of available VFB Trace functions depends on the RTE configuration. Their names are standardized. The list may only contain some or all of these standardized function names.

Using [Import] you may automatically import all available trace functions from the RTE hook file (Rte_Hook.h), which is generated by the MICROSAR RTE Generator.

Closed Measurement & Calibration

You may activate the RTE’s measurement support and specify a supported a2l format version.

Additionally you may activate Vector’s XCP events for measuring external communication.

Online calibration for the RTE can be configured with the Calibration Support parameter.

Closed Optimization

Select one of the possible optimizations (RAM or time consumption) for the generated RTE.

If you select an atomic component in the component tree, the following generation parameters may be defined:

Closed Measurement & Calibration

By selecting the option Calibration Support Enabled you can enable the online calibration support for the component. This option is availabe in case the general online calibration support of the ECU project is enabled.

When selecting the “Single Pointered” or “Double Pointered” calibration method you can define the RAM buffer size.

Info

Info

This setting is applied to the component type of the component. So it is automatically set for all other components of the same component type.

Closed Periodic Trigger Implementation

For each periodically triggered runnable entity of the selected component you may define the activation offset and the trigger implementation (Auto for an RTE provided trigger implementation; None otherwise).

Closed Exclusive area implementation

For each exclusive area of the selected component you may select one of the following implementation mechanisms:

  • Interrupt Blocking
    The exclusive area is implemented by blocking interrupts.
  • OS Resource
    The exclusive area is implemented by using an OS resource as semaphore.
  • NonPreemptive Task
    The exclusive area is implicitly realized since all relevant tasks are configured as non-preemptive.
Info

Info

If you select this option, the tasks of all runnables, which access the exclusive area, must have Non-Preemptive set as schedule type (see Task Mapping of Components)
  • Cooperative runnable placement
    The exclusive area is implemented by preventing a task change of all relevant tasks during execution of a runnable.

In the Workspace window you can select the window style via the shortcut menu of the Generation Parameters Editor. By selecting MDI Window, the window is displayed within the editor area of the main window. By selecting Docking View you may bind a window to the border of the main window and have it always visible.

Further Topics

| Data Mapping Editor | Service Mapping Editor | Software Design Editor | Task Mapping Editor | Memory Mapping Editor |


AR3: Memory Mapping Editor

Description of the Windows » Memory Mapping Page

Screenshot

Functionality

The Memory Mapping Editor displays the mapping of the NV block need of the components of the ECU Composition to the NV memory blocks of the ECU project.

Views

Tips & Tricks

By pushing the according view mode buttons you may select one of the following view modes to display or edit the memory mapping:

  • NV block need view mode
    In this view mode, all NV block need items are listed together with the mapped NV memory block.
  • NV memory block view mode
    In this view mode, all NV memory blocks of the ECU project are listed together with the mapped per-instance memory.

In the Workspace window you can select the window style via the shortcut menu of the Memory Mapping Editor. By selecting MDI Window, the window is displayed within the editor area of the main window. By selecting Docking View you may bind a window to the border of the main window and have it always visible.

Further Topics
| Generation Parameters Editor | Software Design Editor | Task Mapping Editor | Creating an ECU Project | Data Mapping Editor | Service Mapping Editor |


AR3: Service Mapping Editor

Description of the Windows » Service Mapping Editor

Screenshot

Functionality

The Service Mapping Editor displays the mapping (service connectors) between the service ports of the application components and the service ports of the service components of the ECU project.

If a service mapping is inconsistent, the according line is highlighted in red color.

Views

Tips & Tricks

By pushing the according view mode buttons you may select one of the following view modes to display or edit the service mapping:

  • Service Connector List View mode
    In this view mode, all service connectors within the ECU project are displayed as flat list.
  • Service Component View mode
    In this view mode, all service components within the ECU project are displayed. Under each service component, the service port prototypes of the service component are displayed as well as the mapped port prototypes of the application components.
  • Application Component View mode
    In this view mode, all application components within the ECU project are displayed. Under each application component, the service port prototypes of the application component are displayed as well as the mapped port prototypes of the service components. If an application component has no service port prototypes, it is displayed grayed.

In the Workspace window you can select the window style via the shortcut menu of the Service Mapping Editor. By selecting MDI Window, the window is displayed within the editor area of the main window. By selecting Docking View you may bind a window to the border of the main window and have it always visible.

Further Topics
| Generation Parameters Editor | Software Design Editor | Task Mapping Editor | Creating an ECU Project | Data Mapping Editor | Memory Mapping Editor |


AR3: Task Mapping Editor

Description of the Windows » Task Mapping Editor

Screenshot

Functionality

The Task Mapping Editor displays the mapping of runnable entities of the software components to the tasks.

Closed Description

The top left side of the Task Mapping Editor displays a list of all runnable entities of all components of the ECU.

The mapping state (mapped or not mapped) of a runnable entity is indicated within the runnable entity list. If a runnable entity is mapped to a task, a rectangle is displayed around the task icon:

Info

Info

The ECU project may be consistent even though not all runnable entities are mapped to a task:
Server runnables (i.e. runnables which are trigger on operation invocation) which have set the option Can be invoked concurrently need not to be mapped to a task.

After running the consistency check of the ECU project (see Consistency Check), all runnable entities are marked in red color, which are still unmapped but are required to be mapped to a task.

The bottom left side displays a list of all tasks of the ECU project. The tasks are listed with their name, their priority and the OS application they are assigned to.

Info

Info

The priority of a task defines the 'importance' of the task for the scheduler of the operating system of the ECU.
Low priority means: low 'importance'.
The lowest possible priority is 0; there is no upper limit for the priority.

The right side of the Task Mapping Editor displays the task mapping of the runnable entities. The task mapping is displayed as matrix. Each task is displayed as column within this matrix. The mapped runnable entities are displayed in this column.

Views

Tips & Tricks

By pushing the according view mode buttons you may select one of the following view modes to display or edit the task mapping:

Closed List View Mode

In this view mode, all runnable entities are displayed as flat list

Closed Trigger View Mode

In this view mode, the runnable entities are sorted by their trigger. For each used kind of trigger a folder is displayed. The runnable entities are displayed within these folders depending on their trigger.
Please see Defining Runnable Entities for the details about the available kinds of triggers.

Example

Example

If you have several runnable entities defined with a periodic triggering with a period of 20 milliseconds, all those runnable entities are listed in the folder Periodical and subfolder 20 msec.

If you have a runnable entity, which is triggered on reception of the data element DoorFrontLeft of a receiver port prototype DoorStatus, this runnable entity is displayed in the folder On Data Reception and subfolder DoorStatus.DoorFrontLeft.

If you have a runnable entity, which is triggered on operation invocation of operation GetExtendedDataRecord of server port DEM_OdometerValue, this runnable entity is displayed in the folder On Operation Invocation and subfolder DEM_OdometerValue.GetExtendedDataRecord.

Closed Component View Mode

In this view mode, all application and service components of the ECU project are displayed. The runnable entities are listed under the component they belong to.

In the Workspace window you can select the window style via the shortcut menu of the Task Mapping Editor. By selecting MDI Window, the window is displayed within the editor area of the main window. By selecting Docking View you may bind a window to the border of the main window and have it always visible.

Further Topics

| Data Mapping Editor | Generation Parameters Editor | Software Design Editor | Service Mapping Editor | Memory Mapping Editor |