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:
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:
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.
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.
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.
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.