crestdsl - Welcome

build-badge PyPI doc-badge cov-badge (I know, I know, I’m really busy though…)

crestdsl is an implementation of the CREST modelling language in Python. It is an internal domain-specific language and shipped as Python module.

crestdsl supports various use cases that involve model definition and plotting, simulation and verification (using TCTL model checking). The main focus lies on simplicity.

Try Me! (Browser-Demo)

You can try crestdsl directly in your browser. Just click the badge and wait for crestdsl to be loaded into a Jupyter instance inside your browser: crestdsl-demo


This live demo is made possible due to the effort of the Binder project. Thanks!

You can use this link to launch an instance with some more system modelling examples: more-demo


To run crestdsl on your machine, use the pre-built Docker image:

docker run -p 8888:8888 crestdsl/release

For installation of crestdsl on your local machine and a description of dependencies, refer to Installation.


[Kli19]Stefan Klikovits. A Domain-Specific Language Approach to Hybrid CPS Modelling. PhD thesis, University of Geneva, 2019.
[KCB18]Stefan Klikovits, Aurélien Coet, and Didier Buchs. ML4CREST: Machine Learning for CPS Models. In 2nd International Workshop on Model-Driven Engineering for the Internet-of-Things (MDE4IoT) at MODELS‘18, volume 2245 of CEUR Workshop Proceedings, 515–520. 01 2018. URL:
[KLB17]Stefan Klikovits, Alban Linard, and Didier Buchs. CREST - A Continuous, REactive SysTems DSL. In 5th International Workshop on the Globalization of Modeling Languages (GEMOC 2017), volume 2019 of CEUR Workshop Proceedings, 286–291. 2017. URL:
[KLB18a]Stefan Klikovits, Alban Linard, and Didier Buchs. CREST - A DSL for Reactive Cyber-Physical Systems. In Ferhat Khendek and Reinhard Gotzhein, editors, 10th System Analysis and Modeling Conference (SAM 2018), volume 11150 of Lecture Notes in Computer Science, 29–45. Springer, 01 2018. doi:10.1007/978-3-030-01042-3_3.
[KLB18b]Stefan Klikovits, Alban Linard, and Didier Buchs. CREST formalization. Technical Report, Software Modeling and Verification Group, University of Geneva, 2018. doi:10.5281/zenodo.1284561.