Home

Awesome

<img src="https://docs.scenic-lang.org/en/latest/_static/logo-full.svg" alt="Scenic Logo" height="100">

Documentation Status Tests Status License

A compiler and scenario generator for Scenic, a domain-specific probabilistic programming language for modeling the environments of cyber-physical systems. Please see the documentation for installation instructions, as well as tutorials and other information about the Scenic language, its implementation, and its interfaces to various simulators.

For an overview of the language and some of its applications, see our 2022 journal paper on Scenic 2, which extends our PLDI 2019 paper on Scenic 1. The new syntax and features of Scenic 3 are described in our CAV 2023 paper. Our Publications page lists additional relevant publications.

Scenic was initially designed and implemented by Daniel J. Fremont, Tommaso Dreossi, Shromona Ghosh, Xiangyu Yue, Alberto L. Sangiovanni-Vincentelli, and Sanjit A. Seshia. Additionally, Edward Kim made major contributions to Scenic 2, and Eric Vin, Shun Kashiwa, Matthew Rhea, and Ellen Kalvan to Scenic 3. Please see our Credits page for details and more contributors.

If you have any problems using Scenic, please submit an issue to our GitHub repository or start a conversation on our community forum.

The repository is organized as follows: