RTA Knowledge Base

Introduction

This document describes the steps to create a MIC configuration with multiple variants, and to import DBC files into respective variants. 

Create/Import RTA-CAR Project into ISOLAR-A/B

Import an RTA-CAR project into ISOLAR-A/B in the standard format.

Convert RTA-CAR project to MIC project

To convert an existing RTA-CAR project to a MIC project you need to do the following:

  1. Right click on your project and go to Properties → Project Natures. Click Add and select B.WorX Nature. Click OK and Apply and Close.

      2. Place the rta_rules.mrf file from the release package into the root of your project.

      3. Right click on the project in the File System Navigator view and select MIC Utils → Convert to MIC Project.

      4. In the second text box, MIC Rules Path, choose the rta_rule.mrf file and click Finish.

      5. After clicking Finish, an Import Work Unit dialog box will come up. Ensure that AUTOSAR - ISOLAR is selected and click Finish.

      6. After Import, the new project will be of pure MIC nature and NOT an RTA-CAR project. In order to bring back the RTA-CAR nature please right click on the project and select RTA-CAR → Apply and Close. All other settings are intact as before; no other changes required.


SUMMARY:At the end of this section, we have converted the RTA-CAR project to a MIC project and got it imported to ISOLAR-A/B 9. This conversion would have resulted in a folder "_metadata" being added to all the folders available in the project. This contains the information of the files which are registered and active to work (selected variant).


In File System Navigator if a file contains a tag like [AUTOSAR] or [TDATA-ARA] next to the name, then the particular file is registered. Typically folders are registered with the tag [Container]

Create MIC Variants

This section describes how a variant could be created in a MIC project.

  1. A project can have multiple variants configured.
  2. At a time, only one variant can be active.
  3. Each variant could activate or deactivate the files present in the project.


The following steps are to be followed to create on variant:

  1. From the Filesystem Navigator, open the VCU Editor ( MIC Utils → Open New VCU). This menu will be active only for the first time we create a VCU.

      2. Subsequent times you must use Open Related VCU. Create a common variant by clicking on the icon highlighted below.

      3. Go to Variant Configuration Tab and make sure common variant is selected in the drop down box.

      4. Now create specific variants e.g. Variant_A and Variant_B

    5. Create two folders in the project called Variant_A and Variant_B and associate the folders with their respective variants as shown below:

The naming of the folders is important as enhancements to RTA-BSW and ISOLAR-A will use these names and their respective folders for automatically placing variant specific artefacts. (e.g .arxml files and generated source code).

SUMMARY: Until now, we had created three variants Common, Variant_A and Variant_B. Then we registered all the existing files to the Common variant which makes those files active for both/all variants configured in the project.

Active Variant Configuration

By default, the first created variant would be active. The user can change the active variant using the below option available in project properties:

When you switch the variant, the tool will automatically register all the files belonging to a variant to a selected current variant and also unregister all the files belonging to other variants. This can be verified by the decorator next to each file.

Here in the below image, the current variant is Variant_B. The folder Variant_A does not have the tag [container] whereas the folder Variant_B does.

This also means the unregistered ARXML files are not loaded into ARTOP domain model which is used by ISOLAR-A/B and hence no model level handling is required for individual features like DBC, ConfGen and Code Gen.

 DBC Import

This section describes how to get multiple DBC files imported into the same project but for different variants. For demonstration purposes we take two DBC files Variant_A.dbc and Variant_B.dbc.

Import "Variant_A" DBC File

Import the Variant_A.dbc in the usual way using the ISOLAR-A/B DBC Importer. Enter the "<ACTIVE_VARIANT>" in the file name text box as shown below to get the files generated inside the Variant_A folder.

Import "Variant_B" DBC File

  1. Switch Variant: Use the following option to switch the variant to Variant_B

    2. Repeat the steps described above to import the dbc. Make sure you type Variant_B in the DBC window to get the file generated inside the location.


Classifying DBC Imported Files to the Variant

After the import before moving to ConfGen, perform the following steps to classify the files. This step would automatically classify the files present inside the respective folder to the respective variant. This step is required any time new files are added to your project.

SUMMARYNow we have successfully imported two DBC files and got them registered to the respective variants.

ECU Extract Generation

This section describes how the ECU Extract generation can be done in a MIC project.

  1. Select Create ECU Extract like normal
  2. In the Create ECUExtract dialog, select Customise Preferences
  3. Navigate to Flat Map and Package Path Settings and enter <ACTIVE_VARIANT> for each of the file locations:

This only needs to be done once per user/workspace and will automatically place the generated ECU Extract into the select MIC Variant folder you created above.

Creating Splittable Elements

MIC variant handling is file based and thus creating elements which are splittable is required.

The example below shows how to split System Data Mappings. In most circumstances this type of configuration (creating the splittable elements) only needs to be done once. Afterwards the created split files can be modified directly for that particular variant.

      1. Create your initial Data Mappings as normal, with a single system (possibly already available)

      2. Open the System with the Generic Editor

      3. Expand out to find the SenderReveiverToSignalMapping top level view.

      4. Ctrl+Click each of the mappings you want to split into their own file then Right Click and select Move/Split

      5. Select Create New File and for the AR Filename enter in the path to the variant folder and new filename

      6. In order for the Data Mappings to be split across multiple files, the system mapping container shortname needs to be unique across files. Expand out in the AR Explorer the newly create System Mapping file, Right Click on the new System Mapping and select Rename.

      7. Give it a new name and when prompted uncheck the original common system file name that should not be renamed and click OK.

      8. Additional configurations and mappings can be done with their respective files.

RTA-BSW ConfGen

This section describes how ConfGen can be executed on the project.

  1. After switching to the current variant, click on RTA-BSW ConfGen 
  2. Classify project variant, refer to the section Classifying DBC Imported files to the variant
  3. Repeats steps 1+2 after switching variants.

SUMMARY: Now we have generated BSW Configuration using the respective DBC files and places the generated artefacts in the respective Variant based folder.

RTE-BSW / RTE Code Generation

This section describes the steps needed for code generation.

      1. Open the RTA Code Generator GUI and attach /{ACTIVE_VARIANT}  to the root output path to route the generated artifacts to the respective folders. This will automatically fetch the active variant and place all generated files into that specific folder

      2. Classify project variant. Refer to section Classifying DBC Imported files to the Variant.

      3. Additionally, for RTE Generation, make sure that in the Included AR Files tab that you only select the files related to the particular variant you are generating.

SUMMARY: Now we have generated BSW code using the respective Project_EcucValues.arxml files and placed the generated artefacts in the respctive variant based folder.


Final Folder Structure