Probabilistic Programming Languages for Scenario Behavior Description

Probabilistic Programming Languages (PPL) combine the representational capability of programming languages with statistical models to intuitively model inter-dependent variable distributions. The overall program is characterized by a distribution of flows rather than one deterministic flow. An example of a PPL-defined 3D shape is illustrated in Figure 1, where a distribution of objects is defined, inference from which may yield a variety of shapes in different orientations.

           

Figure 1: PPL-based definition and simulation of an object in Scenic [1]

The virtual testbeds developed at MMI allows comprehensive simulation of digital twins by deploying them in dynamic scenarios. PPLs are highly useful for dynamic scenario descriptions, wherein the behavior of certain actors, objects and events is specified with variability built right in. For instance, during the definition of an automotive scenario describing lane-change maneuver, the variability of vehicle speed and lane-change dynamics can be specified within the maneuver description. This allows a systematic generation of scenario variants for comprehensive training or validation for autonomous systems.

Within the scope of this thesis, a PPL-based description and inference framework will be developed and integrated with the experimentable digital twin infrastructure within the VEROSIM software. Existing frameworks such as Scenic [2], and OpenSCENARIO 2.0 [3] may be used, with the goal to model, infer and simulate complex and dynamic scenarios.

You should additionally bring the following skills with you:

  • A very good knowledge of C++
  • Knowledge of fundamentals of statistics and probability

 

Supervisor: Maqbool

 

[1] Scenic Documentation: https://scenic-lang.readthedocs.io/en/latest/tutorials/fundamentals.html

[2] Fremont, Daniel J., et al. “Scenic: a language for scenario specification and scene generation.” Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation. 2019.

[3] ASAM OpenSCENARIO V2.0. https://www.asam.net/project-detail/asam-openscenario-v20-1/