2. Features

This section lists the features included in the RTI Connext Integration Toolkit for AUTOSAR Classic.

2.1. Data Description Format Conversion

2.1.1. ARXML to DDS-IDL

The Integration Toolkit can translate the following from ARXML to DDS-IDL format:

  • AUTOSAR packages (ArPackage)

  • Base types (SwBaseType) categorized as FIXED_LENGTH with either:

    • a SHORT-NAME value in the following list:

      • boolean

      • [s|u]int[8|16|32|64]

      • float[32|64]

    • a BASE-TYPE-ENCODING value in the following list:

      • NONE (with BASE-TYPE-SIZE 8, 16, 32 or 64)

      • 2C (with BASE-TYPE-SIZE 8, 16, 32 or 64)

      • BOOLEAN

      • ISO-8859-1

  • Implementation types (ImplementationDataType) categorized as one of the following:

    • VALUE (referencing a SwBaseType)

    • TYPE_REFERENCE

    • STRUCTURE (including recursive nesting of any supported type category)

    • ARRAY (including recursive nesting of any supported type category)

Note

Only fixed-size array semantics are supported.

  • Computation method types (CompuMethod) categorized as TEXTTABLE, containing a CompuScale defining CompuConst and LowerLimit for each element.

  • Application type (ApplicationDataType) mappings, each linking one ApplicationDataType against one ImplementationDataType.

  • Structure-based discriminated unions, as defined by AUTOSAR_SWS_SOMEIPTransformer (R21-11), SWS_SomeIpXf_00249, containing one of the following:

    • an unsigned integer FIXED_LENGTH/NONE “memberSelector” field.

    • a UNION “payload” field.

  • Client/Server Port Interfaces (ClientServerInterface) featuring operations with In and Out parameters of any supported type category.

2.1.2. ARXML to DDS-XML

The Integration Toolkit can also translate the following from ARXML to DDS-XML format (as defined for DDS-IDL above):

  • AUTOSAR packages (ArPackage)

  • Base types (SwBaseType)

  • Implementation types (ImplementationDataType)

  • Computation method types (CompuMethod)

  • Application types (ApplicationDataType)

  • Structure-based discriminated union types

  • Client/Server port interfaces (ClientServerInterface)

2.1.3. DDS-IDL/XML to C

The Integration Toolkit can automatically invoke rtiddsgen (when available), which is part of RTI Connext Micro.

Such interaction will produce type support files in the C programming language for the types generated, as described in the sections above.

2.2. Data Conversion Code Generation

2.2.1. ARXML to C

The Integration Toolkit can generate bi-directional conversion routines between the following:

  • DDS C runtime types, derived from the ARXML to DDS IDL/XML translations described above.

  • RTE C runtime types, derived from the ARXML input of the translations described above.

2.3. Runnable Code Generation

2.3.1. ARXML to C

The Integration Toolkit can generate AUTOSAR Classic runnable implementations for ComplexDeviceDriverSwComponentType hosting RunnableEntity declarations with either:

  • VariableAccess-es referencing PPortPrototype and RPortPrototype

  • SynchronousServerCallPoints-s referencing PPortPrototype and RPortPrototype

  • Related OperationInvokedEvent-s referencing PPortPrototype

Note

To broker data between the RTE and DDS frameworks, generated code for each Port Prototype Interface Element may forward data samples by reference (at zero cost) between RTE and DDS, as long as this optimization is enabled by the user AND the memory layout of the data types match for both frameworks.

If this optimization is not enabled, or the in-memory layout of DDS and RTE C-language types are not compatible, conversions defined in Data conversion code generation are used in generated code.

2.4. DDS Entity Configuration and Mapping Generation

The Integration Toolkit can generate DDS C code for the following:

  • ECU-global initialization and finalization of the DDS Middleware.

  • SW-C-specific initialization and finalization of DDS Entities.

  • Mapping between DDS Entities and RTE Component Port Elements.