ASAM OpenSCENARIO®

ASAM OpenSCENARIO® V2.0.0

DATASHEET
Title
ASAM OpenSCENARIO® V2.0.0
Domain
Simulation
Current Version
2.0.0
Release Date
20 Jul 2022
Application Areas
  • Simulation
  • X-in-the-loop
  • Proving grounds
Specification Content
  • Language specification
  • Domain model specification
File Formats
  • osc

ASAM OpenSCENARIO defines the dynamic content of the world, for example, behavior of traffic participants and how these are expected to interact with each other and the environment. OpenSCENARIO occupies a unique position among the ASAM OpenX standards in that ASAM’s membership currently actively develops two major versions of it in parallel. For the sake of readability in this document the terms OpenSCENARIO 1.x and OpenSCENARIO 2.x represent the latest version of each. Due to the different foundations between the versions, ASAM took measures throughout the development of these parallel activities to ensure that convergence and compatibility between OpenSCENARIO 1.x and OpenSCENARIO 2.x is possible. These measures were formulated as requirements to all ASAM OpenSCENARIO development projects:

  1. OpenSCENARIO 2.x shall be a full superset of the features of OpenSCENARIO 1.x.
  2. Migration of an OpenSCENARIO 1.x scenario to an OpenSCENARIO 2.x scenario shall be possible.
  3. Conversion of a subset of OpenSCENARIO 2.x that maps to the feature set of OpenSCENARIO 1.x shall be possible.
  4. All future OpenSCENARIO releases shall be accompanied by an up-to-date ruleset for a migration path from OpenSCENARIO 1.x to OpenSCENARIO 2.x.
  5. The run time behavior of any scenario converted/migrated from the latest OpenSCENARIO 1.x to OpenSCENARIO 2.x shall be the same. This requirement can be influenced by implementation-specific factors, which are not addressed here. In other words, whatever you can express in OpenSCENARIO 1.x you will be able to express in OpenSCENARIO 2.x in order to get the same runtime behavior.

 

Relation between ASAM OpenSCENARIO® 1.x and ASAM OpenSCENARIO® 2.x

ASAM OpenSCENARIO 1.x is based on an XML format, the most recent version is V1.2.0. ASAM OpenSCENARIO 2.x is based on a domain specific programming language and includes an extendable domain model, the extension mechanism is described in Section 9.3, "Extending the domain model". The domain model represents the central concepts of the on-road driving domain, see Section 8.1, "Domain model introduction". The first version for OpenSCENARIO 2.x is being released to accompany this statement, OpenSCENARIO V2.0.0. OpenSCENARIO 2.x is not backwards compatible with OpenSCENARIO 1.x, although it may be possible to convert certain scenarios using a subset that is directly supported by OpenSCENARIO 1.x. OpenSCENARIO 2.x is intended as a superset to OpenSCENARIO 1.x. In other words, what you can do in OpenSCENARIO 1.x you can do in OpenSCENARIO 2.x, and more. An improvement with OpenSCENARIO V2.0.0 is the support for abstract scenarios.

Concrete and logical scenarios can be expressed in both versions, however OpenSCENARIO 2.x offers additional features that enrich the scenario description. As OpenSCENARIO 1.x does not support abstract descriptions, it has no direct equivalent to OpenSCENARIO 2.x.

Neither version of OpenSCENARIO guarantees exact reproducibility across different tools due to the high amount of implementation-specific factors that may influence the simulation results. The focus of OpenSCENARIO is on enabling exchange and re-use of scenario descriptions. This does not change across the versions – given the right conversion mechanism.

All parameters in an OpenSCENARIO V1.2.0 scenario file must have a default value assigned, which means that by itself an OpenSCENARIO V1.2.0 scenario file is always concrete. Such a scenario file may be accompanied by an additional parameter distribution file, and if used together with the scenario file in an implementation that supports it then the combination is considered a logical scenario. In such a case the default values are overridden.

It is important to note, that the more abstract a scenario, the more possible valid solutions there may be and the lower the guarantee of another user replicating an exact scenario or set of scenarios during concretization. This is due to the nature of abstraction levels, the reader is referred to additional literature for further information, see e.g. Neurohr et al., 2021.

In addition to supporting more levels of scenario abstraction, OpenSCENARIO 2.x also provides the following new features:

  • A programming language, an object-oriented DSL
  • Consistent scenario description over concrete, logical and abstract scenario levels
  • Increased support for binding to external code/functions/methods (e.g. distribution functions, statistics)
  • Built in constraints
  • Built in KPI and coverage measurements
  • Increased support for reuse (e.g. of scenarios, libraries or modifiers)
  • Extendible language and domain entities
  • Designed to support additional non-simulation based use cases such as X-in-the-loop or proving grounds
  • Abstract road network description independent and complimentary to specific map formats (Section 8.5, "Abstract road network")

It should be noted that many of these new features are not a mandatory part of a scenario description. For a full overview of the new features and increased scope, refer to Section 1, "Scope". As this is the first release of the DSL with the many new features, we expect there to be a need for additional functionality that is not yet a part of the standard. The language supports self-extension as well as the ability to bind to external software methods defined in other languages or mechanisms. The domain model can also be extended with further entities, actors, or actions that it does not yet define, see Section 9.3, "Extending the domain model". It is expected that future projects will investigate the integration of relevant user-defined extensions into future versions of the standard.

 

Migration

Due to the more descriptive nature of the DSL and the difference in its semantics to OpenSCENARIO 1.x there are often multiple options to migrate from OpenSCENARIO 1.x to OpenSCENARIO 2.x. Often elements in OpenSCENARIO 1.x, such as behaviors or actions do not have a one-to-one mapping, but the behavior can be replicated through combinations of language constructs in OpenSCENARIO 2.x. Options to do this are documented in the standard. Other times, there are elements that have no direct mapping, such as controllers, these are not domain elements and rather data model constructs specific to OpenSCENARIO 1.x that do not have an equivalent in OpenSCENARIO 2.x.

Section 10, "Migrating from ASAM OpenSCENARIO V1.2.0" provides significant detail on how users of OpenSCENARIO 1.x can migrate their scenarios to OpenSCENARIO V2.0.0. This is currently non-normative and does not yet cover all elements of OpenSCENARIO 1.x. Section 10.8, "Elements from V1.2.0 not yet covered" shows where coverage is not yet complete. See the roadmap for what we plan to do to improve this. OpenSCENARIO V2.0.0 does not yet include a normative ruleset enabling direct or automated conversion from OpenSCENARIO 1.x scenarios. ASAM aims to include this in future releases.

 

Roadmap

Throughout the last years, ASAM has consistently communicated a convergence roadmap. ASAM expects (and encourages) both parallel versions of OpenSCENARIO to converge to a unified version.

 

 

Given the current release, this roadmap has been updated.

 

 

ASAM aims for convergence of both parallel versions of OpenSCENARIO to a single version by the end of 2024. To ensure co-development ASAM will setup a joint project. The joint project will aim to develop one converged version of OpenSCENARIO that is based on the DSL defined in OpenSCENARIO V2.0.0. This will likely be a new major version (Y.X).

A converged version will have full coverage of the domain features in OpenSCENARIO 1.x as well as OpenSCENARIO 2.x. It will be a full superset. A converged version will have at least one clear mapping for domain features of previous versions. It is still open to which extent this will be automatable.

On the way to a converged version the project may release additional versions of OpenSCENARIO 1.x and OpenSCENARIO 2.x based on a shared backlog. At the least we expect there to be an OpenSCENARIO V1.3.0, an OpenSCENARIO V2.0.1 and an OpenSCENARIO V2.1.0. There may be more, dependent on the backlog.

A joint project may define new features during the convergence period but these must be reflected in both OpenSCENARIO 1.x and OpenSCENARIO 2.x. Once a converged version of OpenSCENARIO is released then OpenSCENARIO 1.x will move into maintenance mode and no new features will be added to OpenSCENARIO 1.x. From then on new features will only be available in the converged ASAM OpenSCENARIO: Supplementary notes 2022-07-20 3 version of OpenSCENARIO. The converged version will be based on the DSL and the domain model. As of now, the XML format will not be supported by the converged version.

 


DATASHEET
Title
ASAM OpenSCENARIO® V2.0.0
Domain
Simulation
Current Version
2.0.0
Release Date
20 Jul 2022
Application Areas
  • Simulation
  • X-in-the-loop
  • Proving grounds
Specification Content
  • Language specification
  • Domain model specification
File Formats
  • osc
Our newsletter informs you when a new standard version is released.
Subscribe