9.3 Parameter value distribution file

To use parameters in a convenient way to parametrize scenarios, a parameter value distribution file may be used to describe in which way those parameters vary.

Parameters in ASAM OpenSCENARIO are evaluated at the load time of the scenario. At this point, all parameters are replaced with the current value of the parameter wherever the parameter is referenced. The actual value is given in the ParameterDeclaration part.

With a parameter distribution file, the actual value is not taken out of the ParameterDeclaration but is computed at load times regarding the information in the distribution file.

The file should be separated from the ASAM OpenSCENARIO file and is handled like catalogs. The file format is included into the OpenSCENARIO element and contains the same FileHeader. An ASAM OpenSCENARIO file shall be referenced from the parameter distribution file.

An example without the definition part is shown below:

<OpenSCENARIO xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:noNamespaceSchemaLocation="OpenSCENARIO.xsd">
    <FileHeader revMajor="1"
                revMinor="2"
                date="2022-03-08T12:00:00+01:00"
                description="Example"
                author="Max"/>
    <ParameterValueDistribution>
        <ScenarioFile filepath="Scenarios/file.xosc"/>
        <!-- distribution definition goes here -->
    </ParameterValueDistribution>
</OpenSCENARIO>

A distribution file may contain two different types of distributions. There are either Stochastic or Deterministic distributions, containing single-parameter distributions and multi-parameter distributions. For single-parameter distributions, every parameter value distribution is independent of other parameters. Therefore, every distribution definition is bound to a single parameterName. For multi-parameter distributions the values of the parameters are changed dependent on each other. Single-parameter and multi-parameter distributions may be used at the same time, but they shall not contain the same value for parameterName.

9.3.1 Deterministic distributions

A deterministic distribution definition may be either a single-parameter or a multi-parameter distribution.

9.3.1.1 Single-parameter distribution

  • DistributionSet: Single values may be given as a set in which each value is varied in order of definition.

  • DistributionRange: A range may be used by defining the lower and upper limit in combination with a step width.

  • UserDefinedDistribution: Other custom distributions that may be implemented by the application.

All parameters are varied separately. If two different parameters are varied by deterministic distribution, only one parameter is varied at a time. Therefore, the resulting parameter space is the cartesian product of both variation sets.

9.3.1.2 Multi-parameter distribution

  • ValueSetDistribution: Complete sets of parameter values may be given. For each concrete scenario, one set is used and all parameter values given within this set are changed.

9.3.2 Stochastic distributions

When using stochastic distributions, a random seed and number of test runs may be defined globally for all types.

Currently, the following single-parameter distributions are defined for stochastic distribution definitions:

9.3.2.1 Single-parameter distributions

  • ProbabilityDistributionSet: Set of values with defined probability.

  • NormalDistribution: Normal distribution of the parameter.

  • LogNormalDistribution: Log normal distribution of the parameter.

  • UniformDistribution: Uniform distribution of the parameter.

  • PoissonDistribution: Poisson distribution of the parameter.

  • Histogram: Histogram distribution of the parameter.

  • UserDefinedDistribution: Other custom distributions which may be implemented by the application.

All parameters are varied at a time. If two different parameters are varied by stochastic distribution, all parameters are varied all the time.

Additionally, by defining a Range element, the upper and lower limits of the distribution may be defined. The Range element shall not be used in ProbabilityDistributionSet or UserDefinedDistribution.