CREST

Continuous REactive SysTems Modelling in Python

CREST (Continuous REactive SysTems) is a domain-specific language for modelling hybrid cyber-physical systems, with a particular focus on small-scale applications such as home automation, smart gardening systems, and IoT devices.

Overview

The language is designed to model the flow of resources throughout systems, focusing on continuous resource flows such as water, electricity, light, or heat. CREST merges features from various formalisms including hybrid automata, dataflow programming, and architecture description languages to create a simple yet powerful language for cyber-physical system modelling.

Key Features

Dual Concrete Syntax:

  • CREST diagrams: A graphical language that is easily understandable and serves as a model basis
  • crestdsl: An internal DSL implementation in Python that supports rapid prototyping and is geared towards usability and clarity

Technical Capabilities:

  • Synchronous system evolution and reactive behaviour
  • Real-valued time advances for precise simulation of future system behaviour
  • Automatic calculation of next transition times
  • Sound simulation and formal verification support
  • Well-defined operational semantics connecting various language concerns

Pragmatic Design Philosophy

CREST follows a pragmatic approach to DSL development, carefully combining syntactic and semantic principles from well-known modelling formalisms. The language has been formalized with a comprehensive operational semantics, enabling both executable simulation and formal verification through the Python-based tool implementation.

Applications

  • Home automation systems
  • Smart office environments
  • Automated gardening and irrigation systems
  • Small-scale IoT applications
  • Cyber-physical systems with continuous resource flows

CREST provides researchers and engineers with a clear, comprehensive framework for modeling, simulating, and verifying hybrid cyber-physical systems, making complex system behaviour accessible through intuitive abstractions.

Related Publications

(missing reference)(missing reference)(Klikovits, 2019)(missing reference)(missing reference)(missing reference)(Klikovits et al., 2017)
  1. A Domain-Specific Language Approach To Hybrid CPS Modelling
    Stefan Klikovits
    University of Geneva, Switzerland, Jun 2019
    PhD Thesis
  2. CREST - A Continuous, REactive SysTems DSL
    Stefan Klikovits, Alban Linard, and Didier Buchs
    In 5th International Workshop on the Globalization of Modeling Languages (GEMOC 2017), 19 September 2017, Austin, TX, USA, Sep 2017