OpenSCENARIO DSL

General

This tool supports a subset of the OpenSCENARIO DSL standard.

The official documentation is available here.

The standard library of OSC2 was adapted to be usable by the current parsing support of scenario execution.

Mapping to py-trees

OpenScenario2

py-trees

Comment

action

Behaviour

Actions are derived from scenario_execution.actions.base_action.BaseAction which is derived from py_trees.behaviour.Behaviour

event

blackboard entry and Behaviour

Behaviour is used to read and write blackboard variable

modifier

Decorator

var

blackboard entry

Variables are stored within the blackboard

Supported features

In the following the OpenSCENARIO DSL keywords are listed with their current support status.

Element Tag

Support

Notes

action

✅

partially, see details below

actor

✅

partially, see details below

as

❌

bool

✅

call

❌

cover

❌

def

✅

only external

default

❌

do

✅

elapsed

✅

emit

✅

enum

✅

event

✅

every

❌

expression

✅

extend

❌

external

❌

fall

❌

float

✅

global

✅

hard

❌

if

❌

import

✅

inherits

✅

int

✅

is

❌

it

✅

keep

✅

list

✅

of

✅

on

❌

one_of

✅

only

❌

parallel

✅

range

❌

record

❌

remove_default

❌

rise

❌

scenario

✅

serial

✅

SI

✅

string

✅

struct

✅

type

✅

uint

✅

undefined

❌

unit

✅

until

❌

var

✅

wait

✅

with

✅

Composition Types

Composition types are struct, actor, action, scenario.

Element Type

Support

Notes

Event

✅

Field

✅

Constraint

✅

partially

Method

✅

Coverage

❌

Modifier

✅

partially (only predefined)