CREST - A DSL for Reactive Cyber-Physical Systems

  • Stefan KlikovitsEmail author
  • Alban Linard
  • Didier Buchs
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11150)


This article presents CREST, a novel domain-specific language for the modelling of cyber-physical systems. CREST is designed for the simple and clear modelling, simulation and verification of small-scale systems such as home and office automation, smart gardening systems and similar. The language is designed to model the flow of resources throughout the system. It features synchronous system evolution and reactive behaviour. CREST’s formal semantics allow real-valued time advances and the modelling of timed system evolution. The continuous time concept permits the precise simulation of future system behaviour by automatically calculating next transition times. We present CREST in a practical manner, and elaborate on the Python-based DSL implementation and simulator.


  1. 1.
    Ashenden, P.J.: The Designer’s Guide to VHDL, 3rd edn. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (2008)zbMATHGoogle Scholar
  2. 2.
    Berry, G., Gonthier, G.: The Esterel synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19, 87–152 (1992)CrossRefGoogle Scholar
  3. 3.
    Black, D.C., Donovan, J., Bunton, B., Keist, A.: SystemC: From the Ground Up. Springer, New York Inc, Secaucus, NJ, USA (2010)CrossRefGoogle Scholar
  4. 4.
    Bourke, T., Pouzet, M.: Zélus: a synchronous language with ODEs. In: 16th International Conference on Hybrid Systems: Computation and Control (2013)Google Scholar
  5. 5.
    Brooks, C., Cataldo, A., Lee, E.A., Liu, J., Liu, X., Neuendorffer, S., Zheng, H.: Hyvisual: a hybrid system visual modeler. Technical Report UCB/ERL M05/24, EECS Department, University of California, Berkeley (2005)Google Scholar
  6. 6.
    Carloni, L.P., Passerone, R., Pinto, A., Angiovanni-Vincentelli, A.L.: Languages and tools for hybrid systems design. Found. Trends Electron. Des. Autom. 1, 1–193 (2006)CrossRefGoogle Scholar
  7. 7.
    Colgren, R.: Basic Matlab, Simulink And Stateflow. AIAA (American Institute of Aeronautics & Ast (2006)Google Scholar
  8. 8.
    De Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Proceedings 14th International Conference Tools and Algorithms f.t. Construction and Analysis of Systems (2008)Google Scholar
  9. 9.
    Feiler, P., Gluch, D., Hudak, J.: The architecture analysis & design language (AADL): an introduction. Technical Report CMU/SEI-2006-TN-011, Software Engineering Institute, Carnegie Mellon University (2006)Google Scholar
  10. 10.
    Fischer, J., Holz, E., Löwis, M., Prinz, A.: SDL-2000: a language with a formal semantics. in: Rigorous Object-Oriented Methods 2000 (2000)Google Scholar
  11. 11.
    Franca, R.B., Bodeveix, J.P., Filali, M., Rolland, J.F., Chemouil, D., Thomas, D.: The AADL behaviour annex – experiments and roadmap. In: 12th IEEE International Conference on Engineering Complex Computer Systems (2007)Google Scholar
  12. 12.
    Haber, A., Ringert, J.O., Rumpe, B.: Montiarc - architectural modeling of interactive distributed and cyber-physical systems (2014)Google Scholar
  13. 13.
    Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous dataflow programming language LUSTRE. In: Proceedings of the IEEE (1991)Google Scholar
  14. 14.
    Hamon, G., Rushby, J.: An operational semantics for stateflow. In: Wermelinger, M., Margaria-Steffen, T. (eds.) FASE 2004. LNCS, vol. 2984, pp. 229–243. Springer, Heidelberg (2004). Scholar
  15. 15.
    Henzinger, T.A., Kopke, P.W., Puri, A., Varaiya, P.: What’s decidable about hybrid automata? J. Comput. Syst. Sci. 57(1), 94–124 (1998)MathSciNetCrossRefGoogle Scholar
  16. 16.
    Khedker, U.P., Sanyal, A., Sathe, B.: Data Flow Analysis - Theory and Practice. CRC Press (2009).
  17. 17.
    Klikovits, S., Linard, A., Buchs, D.: CREST formalization. Technical report, Software Modeling and Verification Group, University of Geneva (2018).
  18. 18.
    Object Management Group: UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems (OMG MARTE) Version 1.1 (2011)., OMG Document Number: formal-2011-06-02
  19. 19.
    Object Management Group: OMG Systems Modeling Language (OMG SysML) Version 1.5 (2017)., OMG Document Number: formal-2017-05-01
  20. 20.
    Ptolemaeus, C. (ed.): System Design, Modeling, and Simulation using Ptolemy II. (2014)Google Scholar
  21. 21.
    Raskin, J.: An introduction to hybrid automata. In: Hristu-Varsakelis D., Levine W.S. (eds.) Handbook of Networked and Embedded Control Systems (2005)Google Scholar
  22. 22.
    Ringert, J.O., Rumpe, B., Wortmann, A.: Architecture and Behavior Modeling of Cyber-Physical Systems with MontiArcAutomaton (2015)Google Scholar
  23. 23.
    Thomas, D., Moorby, P.: The Verilog Hardware Description Language. The Verilog Hardware Description Language. Kluwer Academic Publishers, San Francisco (1996)CrossRefGoogle Scholar
  24. 24.
    Vlaovič, B., Vreže, A., Brezočnik, Z., Kapus, T.: Verification of an SDL Specification — a Case Study. Elektrotehniški vestnik (Electrotechnical Review) (2005)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.Software Modeling and Verification (SMV) GroupFaculty of Science University of GenevaGenevaSwitzerland

Personalised recommendations