Application Story


OpenSCENARIO API: An open source library promotes the new ASAM OpenSCENARIO standard

Member:  RA Consulting GmbH

Featured Standard:  ASAM OpenSCENARIO®, ASAM OpenDRIVE®


ASAM OpenSCENARIO provides a solution space for describing and executing the dynamic content of driving and traffic situations. In both areas, development and Validation, the Simulation domain needs machine readable reproducible descriptions of maneuvers connecting to complex external systems like sensor models, driver models and road network models. ASAM standards such as ASAM OSI or ASAM OpenDRIVE cover these systems and share common concepts with ASAM OpenSCENARIO such as road coordinate system or the description of traffic participants.


Published in early 2020, the ASAM OpenSCENARIO 1.0 Standard offers a detailed Data Model and an exchange format (XML) for the shared use of driving and traffic situations. Various Simulation environments have already implemented ASAM OpenSCENARIO (e.g esmini [5]).


OEMs and tool vendors have started a broad initiative to develop tools and to use ASAM OpenSCENARIO as an abstract shared language to describe maneuvers for development and Homologation. For example, in automated lane keeping systems (ALKS).


To create a common basis for the development, RA Consulting has initiated the open source project OpenSCENARIO API [1]. It defines a completely Standard-compliant software API for reading, writing and checking scenarios. It is available in C++ and in Java and is published under Apache 2.0 license. The library offers both an integrable API and a checker framework. This extension point allows the definition of customer specific validations.


RA Consulting ‘s portfolio includes automotive products such as DiagRA MCD Toolset and ODX Viewer. Their customers benefit from professional components such as A2L library, ODX API and MCD3 toolset, all implementing ASAM standards. RA Consulting‘s expertise in the areas of software architecture, development and data modelling was used when founding and creating the OpenSCENARIO API project.


It was fascinating to see how only a few months after the release of ASAM OpenSCENARIO V1.0 interested developers at BMW, Volvo (esmini [5]) and RA Consulting demonstrated the common understanding of defining scenarios in the Standard with the concatenation of their projects.

Carlo van Driesten - Systems Architect for Virtual Test & Validation, BMW AG

Application Story

It is extremely time consuming and multiplies the effort to implement different versions of the API for each OEM and tool vendor, for this Standard. Each implementation could end up with slightly different results. The development and implementation of reading, writing and Validation features follows the same patterns, only to end up on slightly different solutions.


Another reason why various OEMs and tool providers are pooling their efforts in software development is to build strong supply chains based on the ASAM OpenSCENARIO Standard. The semantic Validation on both sides, the supplier, and the customer, requires a common tool to verify the delivered goods as a reference for the quality along the entire supply chain.  There is no dispute about defects that one checker implementation finds and the other leaves undetected.


Various vendors integrate the library into their editors, their Simulation environments, and their infrastructure. The OpenSCENARIO API is already the backbone of scenario testing in the public ALKS scenario project, provided by BMW AG. Other OEMs like Volvo Cars are currently evaluating the library.


Success Stratetegy

The OpenSCENARIO API was created fully compliant to the ASAM OpenSCENARIO Standard 1.0. It offers the following features:

  • Standalone checker: An executable checker gives precise warnings and errors regarding a row- and column-based file location.
  • Browsing and editing. An API for browsing through a scenario tree and editing list objects. It is ready to be integrated in editors, simulators, comparators and other tools.

This includes aspects that go far beyond simple XML Schema Validation:

  • Resolving $-notated parameters.
  • Resolving catalogue references.
  • Resolving object references.
  • Checking model constraints from the standard (range checker rules).

Architectural features:

  • Abstracting from storage media:
    Read from archive files, from databases or from the cloud by writing your own resource locator classes.
  • Abstracting from storage formats:
    Write your own loader class to read from binary files, from JSON files, etc.
  • Checker rule API:
    Write your own checker rules. E.g. deduced from the authoring guidelines of your company.

The open source project OpenSCENARIO API [1] provides complete source code (C++, Java) and instructions how to build the software components on different operating systems and platforms. Tutorials on how to use the standalone checker and how to integrate the library are provided.



OpenSCENARIO API checker as a continuous integration component

At the end of 2020, the United Nations regulations for Automated Lane Keeping Systems (ALKS Regulation UN R157" ECE/TRANS/WP.29/2020/81) will soon come into force in Germany. It offers the opportunity to OEMs to implement a first automated driving system in series vehicles. BMW AG has taken on the task of implementing the test scenarios from the ALKS regulations using ASAM OpenSCENARIO and ASAM OpenDRIVE. The publication includes XML files executable with Standard compliant simulators. The project has been opened to specific contributors. To ensure scenario quality and to guarantee the validity against the ASAM OpenSCENARIO 1.0 model, the OpenSCENARIO API checker component is deployed into the continuous integration (CI) environment of the hosting repository. The component is provided as a configurable github action [3], [4].

Whenever a new scenario or a changed scenario is pushed to the repository, the checker validates the files against the ASAM OpenSCENARIO model constraints. The component is configurable in different variants and can be equipped with customer-specific checker rules. E.g. to enforce project specific authoring policies or other extended rules. For a detailed article to use the checker rule framework, see the “Tutorial on Checker Rules“ in the OpenSCENARIO API github project [1].


Business Benefits

  • A standalone checker that validates business rules far beyond simple schema validation. Like checking catalogue references, resolving $-notated parameters or checking user defined rules.
  • A sophisticated and standard compliant software library to read, to write and to validate ASAM OpenSCENARIO 1.0 files. Distributed under the Apache 2.0 license and ready to be used.
  • Various extension points to read from archive-files, or from cloud applications, or to store scenarios in databases and binary files.
  • A lively community of ASAM OpenSCENARIO users. Authors, developers, simulation engineers.