Ecuc Definition Access

Post-build loadable

IEcucModuleDefinition is the interface of the module definition wrapper. It provides the following method(s):

The getSupportedConfigurationVariants() method returns a collection of supported configuration variants. Never returns null but an empty collection if no supported config variants are specified.

The returned collection never contains the following literals:

  • EEcucConfigurationVariant.PRECONFIGURED_CONFIGURATION
  • EEcucConfigurationVariant.RECOMMENDED_CONFIGURATION

This method is for post-build loadable only!

Remark about AUTOSAR versions: Prior to AUTOSAR 4.2.1 the module definitions used the following valid values:

  • VARIANT-PRE-COMPILE
  • VARIANT-LINK-TIME
  • VARIANT-POST-BUILD-LOADABLE
  • VARIANT-POST-BUILD-SELECTABLE
VARIANT-POST-BUILD was invalid! With AUTOSAR 4.2.1 and later, the following values are valid (because the loadable and selectable specifications have been separated):
  • VARIANT-PRE-COMPILE
  • VARIANT-LINK-TIME
  • VARIANT-POST-BUILD
VARIANT-POST-BUILD-LOADABLE and VARIANT-POST-BUILD-SELECTABLE are invalid!

This method takes the AUTOSAR version into account and returns the post-build loadable relevant specification only.

IEcucContainerDefinition is the interface of the container definition wrapper. It provides the following method(s):

The getMultiplicityConfigurationClass(EEcucConfigurationVariant) method returns the multiplicity configuration class for the specified module implementation variant. The returned value defines in which configuration phase the number of container instances latest may change if the module implements the specified variant.

Supported values for the variant are

  • EEcucConfigurationVariant.VARIANT_PRE_COMPILE
  • EEcucConfigurationVariant.VARIANT_LINK_TIME
  • EEcucConfigurationVariant.VARIANT_POST_BUILD_LOADABLE
Other values lead to an IllegalArgumentException.

This method doesn't take the multiplicity into account. It only investigates the multiplicity configuration class as specified in the related container definition. So it still may return EEcucConfigurationClass.POST_BUILD even if the multiplicity is 1:1 for example. The post-build loadable use case differs here from post-build selectable (see supportsVariantMultiplicity()) because the changeability in the post-build phase is being inherited from parent objects. So, if you want to find out if a container actually permits changes in the post-build phase, you should use IContainerStatePublished.

This method is for post-build loadable only!

Remark about AUTOSAR versions: Prior to AUTOSAR 4.2.1 the container definitions contained the postBuildChangeable flag to define post-build loadable support. This method internally investigates the postBuildChangeable flag in this case but the multiplicityConfigClass table for AUROSAR 4.2.1 and newer versions.

IEcucCommonAttributes is the base interface of all parameter and reference definition wrappers. It provides the following method(s):

The getMultiplicityConfigurationClass(EEcucConfigurationVariant) method returns the multiplicity configuration class for the specified module implementation variant. The returned value defines in which configuration phase the number of parameter instances latest may change if the module implements the specified variant.

Supported values for the variant are

  • EEcucConfigurationVariant.VARIANT_PRE_COMPILE
  • EEcucConfigurationVariant.VARIANT_LINK_TIME
  • EEcucConfigurationVariant.VARIANT_POST_BUILD_LOADABLE
Other values lead to an IllegalArgumentException.

This method doesn't take the multiplicity into account. It only investigates the multiplicity configuration class as specified in the related parameter definition. So it still may return EEcucConfigurationClass.POST_BUILD even if the multiplicity is 1:1 for example. The post-build loadable use case differs here from post-build selectable (see supportsVariantMultiplicity()) because the changeability in the post-build phase is being inherited from parent objects. So, if you want to find out if a parameter actually permits changes in the post-build phase, you should use IParameterStatePublished.

This method is for post-build loadable only!

Remark about AUTOSAR versions: Prior to AUTOSAR 4.2.1 the parameter definitions contain the implementationConfigClass table to define post-build loadable support. This method internally investigates the implementationConfigClass in this case but the multiplicityConfigClass table for AUROSAR 4.2.1 and newer versions.

The getValueConfigurationClass(EEcucConfigurationVariant) method returns the value configuration class for the specified module implementation variant. The returned value defines in which configuration phase the value of parameter instances latest may change if the module implements the specified variant.

Supported values for the variant are

  • EEcucConfigurationVariant.VARIANT_PRE_COMPILE
  • EEcucConfigurationVariant.VARIANT_LINK_TIME
  • EEcucConfigurationVariant.VARIANT_POST_BUILD_LOADABLE
Other values lead to an IllegalArgumentException.

This method never returns EEcucConfigurationClass.LINK.

This method is for post-build loadable only!

Remark about AUTOSAR versions: Prior to AUTOSAR 4.2.1 the parameter definitions contain the implementationConfigClass table to define post-build loadable support. This method internally investigates the implementationConfigClass in this case but the valueConfigClass table for AUROSAR 4.2.1 and newer versions.

Post-build selectable

The supportsPostBuildVariance() method returns true if this module configuration supports post-build selectable.

Remark about AUTOSAR versions: Prior to AUTOSAR 4.2.1 the module definitions supportedSupportedConfigurationVariants defined both, post-build loadable and selectable support. With AUTOSAR 4.2.1 the supportedSupportedConfigurationVariants specifies post-build loadable only and this method returns the value of the new postBuildVariantSupport flag.

The supportsVariantMultiplicity() method returns true if this container type supports variant multiplicity. If true is returned this means that different variants may contain different number of instances of this container type.

This method takes the multiplicity into account. So, if the container definition specifies the multiplicity with lower == upper, it always returns false. Concerning post-build selectable it never makes sense to permit variance if lower and upper multiplicity are equal.

This method is for post-build selectable only!

Remark about AUTOSAR versions: Prior to AUTOSAR 4.2.1 the container definitions contained the postBuildChangeable flag to define post-build loadable support. This method internally investigates the postBuildChangeable flag in this case but the postBuildVariantMultiplicity flag for AUROSAR 4.2.1 and newer versions.

The supportsVariantShortname() method returns true if one of the following conditions apply.
  • supportsVariantMultiplicity() returns true
  • The ADMIN-DATA flag postBuildSelectableChangeable is true
The use case for this specification are 1:1 containers. When this method returns true, 1:1 containers may have different shortnames in different variants. This is a Vector specific semantic which is not provided by AUTOSAR. The supportsVariantMultiplicity() method returns true if this parameter type supports variant multiplicity. If true is returned this means that different variants may contain different number of instances of this parameter type.

This method takes the multiplicity into account. So, if the parameter definition specifies the multiplicity with lower == upper, it always returns false. Concerning post-build selectable it never makes sense to permit variance if lower and upper multiplicity are equal.

This method is for post-build selectable only!

Remark about AUTOSAR versions: Prior to AUTOSAR 4.2.1 the parameter definitions contain the implementationConfigClass table to define post-build selectable support. This method internally investigates the implementationConfigClass in this case but the postBuildVariantMultiplicity flag for AUROSAR 4.2.1 and newer versions.

The supportsVariantValue() method returns true if this parameter type supports a variant value. If true is returned this means that different variants may contain different values in instances of this parameter type.

This method is for post-build selectable only!

Remark about AUTOSAR versions: Prior to AUTOSAR 4.2.1 the parameter definitions contain the implementationConfigClass table to define post-build selectable support. This method internally investigates the implementationConfigClass in this case but the postBuildVariantValue flag for AUROSAR 4.2.1 and newer versions.