CREST
Continuous REactive SysTems Modelling in Python
Related Publications
- Pragmatic Reuse for DSML DevelopmentStefan Klikovits, and Didier BuchsOct 2021Invited Journal First presentation at the 24th International Conference on Model Driven Engineering Languages and Systems (MODELS 21)
By bridging the semantic gap, domain-specific language (DSLs) serve an important role in the conquest to allow domain experts to model their systems themselves. In this publication we present a case study of the development of the Continuous REactive SysTems language (CREST), a DSL for hybrid systems modeling. The language focuses on the representation of continuous resource flows such as water, electricity, light or heat. Our methodology follows a very pragmatic approach, combining the syntactic and semantic principles of well-known modeling means such as hybrid automata, data-flow languages and architecture description languages into a coherent language. The borrowed aspects have been carefully combined and formalised in a well-defined operational semantics. The DSL provides two concrete syntaxes: CREST diagrams, a graphical language that is easily understandable and serves as a model basis, and crestdsl, an internal DSL implementation that supports rapid prototyping—both are geared towards usability and clarity. We present the DSL’s semantics, which thoroughly connect the various language concerns into an executable formalism that enables sound simulation and formal verification in crestdsl, and discuss the lessons learned throughout the project.
@unpublished{Klikovits:MODELS2021:JournalFirst, author = {Klikovits, Stefan and Buchs, Didier}, title = {Pragmatic Reuse for DSML Development}, month = oct, year = {2021}, note = {Invited Journal First presentation at the 24th International Conference on Model Driven Engineering Languages and Systems (MODELS 21)}, }
- Pragmatic Reuse for DSML DevelopmentStefan Klikovits, and Didier BuchsSoftware and Systems Modeling (SoSyM), Oct 2021
By bridging the semantic gap, domain-specific language (DSLs) serve an important role in the conquest to allow domain experts to model their systems themselves. In this publication we present a case study of the development of the Continuous REactive SysTems language (CREST), a DSL for hybrid systems modeling. The language focuses on the representation of continuous resource flows such as water, electricity, light or heat. Our methodology follows a very pragmatic approach, combining the syntactic and semantic principles of well-known modeling means such as hybrid automata, data-flow languages and architecture description languages into a coherent language. The borrowed aspects have been carefully combined and formalised in a well-defined operational semantics. The DSL provides two concrete syntaxes: CREST diagrams, a graphical language that is easily understandable and serves as a model basis, and crestdsl, an internal DSL implementation that supports rapid prototyping—both are geared towards usability and clarity. We present the DSL’s semantics, which thoroughly connect the various language concerns into an executable formalism that enables sound simulation and formal verification in crestdsl, and discuss the lessons learned throughout the project.
@article{Klikovits:2020:sosym:crest, author = {Klikovits, Stefan and Buchs, Didier}, title = {{Pragmatic Reuse for DSML Development}}, journal = {{Software and Systems Modeling (SoSyM)}}, doi = {10.1007/s10270-020-00831-4}, year = {2021}, volume = {20}, pages = {837-866}, keywords = {peerreviewed} }
- A Domain-Specific Language Approach To Hybrid CPS ModellingStefan KlikovitsUniversity of Geneva, Switzerland, Jun 2019PhD Thesis
@phdthesis{klikovits_phdthesis_2019, author = {Klikovits, Stefan}, title = {A Domain-Specific Language Approach To Hybrid CPS Modelling}, year = {2019}, month = jun, school = {University of Geneva, Switzerland}, note = {PhD Thesis}, url = {https://archive-ouverte.unige.ch/unige:121355}, doi = {10.13097/archive-ouverte/unige:121355}, }
- ML4CREST: Machine Learning for CPS ModelsStefan Klikovits, Aurélien Coet, and Didier BuchsIn 2nd International Workshop on Model-Driven Engineering for the Internet-of-Things (MDE4IoT), Oct 2018
Models of small CPS and IoT applications often use approximated values that describe physical system behaviour. Physical resources, such as electricity consumption and heating power, have to be estimated, since many off-the-shelf components lack the required descriptions. Controllers which are based on these approximations can hence use imprecise models, perform misleading simulation, and cause damaged systems and financial loss. In this paper we present ML4CREST, a machine learning approach to automatically calibrate models using sensor measurements. We show that our approach is well-suited for the calibration of the flow rates within an automated watering system, which allows precise simulation and prevents spillage.
@inproceedings{Klikovits:MDE4IOT:CREST, title = {{ML4CREST: Machine Learning for CPS Models}}, author = {Klikovits, Stefan and Coet, Aur\'{e}lien and Buchs, Didier}, year = {2018}, month = oct, pages = {515-520}, url = {http://ceur-ws.org/Vol-2245/mde4iot_paper_4.pdf}, volume = {2245}, series = {CEUR Workshop Proceedings}, booktitle = {2nd International Workshop on Model-Driven Engineering for the Internet-of-Things (MDE4IoT)}, keywords = {peerreviewed} }
- CREST - A DSL for Reactive Cyber-Physical SystemsStefan Klikovits, Alban Linard, and Didier BuchsIn 10th System Analysis and Modeling Conference (SAM2018). Languages, Methods, and Tools for Systems Engineering, Oct 2018
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.
@inproceedings{Klikovits:SAM18:CREST, title = {{{CREST}} - {{A DSL}} for {{Reactive Cyber}}-{{Physical Systems}}}, isbn = {978-3-030-01042-3}, booktitle = {10th System {{Analysis}} and {{Modeling}} {{Conference}} ({{SAM2018}}). {{Languages}}, {{Methods}}, and {{Tools}} for {{Systems Engineering}}}, publisher = {{Springer}}, series = {Lecture Notes in Computer Science}, volume = {11150}, author = {Klikovits, Stefan and Linard, Alban and Buchs, Didier}, editor = {Khendek, Ferhat and Gotzhein, Reinhard}, year = {2018}, month = oct, pages = {29-45}, doi = {10.1007/978-3-030-01042-3_3}, keywords = {peerreviewed} }
- CREST FormalizationStefan Klikovits, Alban Linard, and Didier BuchsJun 2018
CREST is a novel modelling language for the definition of Continuous-time, REactive SysTems. This domain-specific language (DSL) targets small cyber-physical systems (CPS) such as home automation systems. While CREST is a graphical language and its systems can be visualised as CREST diagrams, the main form of use is as internal DSL for the Python general purpose programming language. Nevertheless, CREST systems are based on a formal structure and semantics. This report provides this formalisation and elaborates on the design choices that have been made.
@techreport{Klikovits:CRESTFormalization, author = {Klikovits, Stefan and Linard, Alban and Buchs, Didier}, title = {{CREST} Formalization}, institution = {Software Modeling and Verification Group, University of Geneva}, doi = {10.5281/zenodo.1284561}, year = {2018}, month = jun, }
- CREST - A Continuous, REactive SysTems DSLStefan Klikovits, Alban Linard, and Didier BuchsIn 5th International Workshop on the Globalization of Modeling Languages (GEMOC 2017), 19 September 2017, Austin, TX, USA, Sep 2017
The advance of cyber-physical systems in everyday life requires powerful modeling capabilities. Existing formalisms often have severe limitations and require complicated notations. In this paper we introduce CREST, a domain-specific language for modeling entity behavior and resource transfers in CPS. CREST aims to support CPS architects through clarity, comprehensiveness and analyzability.
@inproceedings{DBLP:conf/models/KlikovitsLB17, author = {Klikovits, Stefan and Linard, Alban and Buchs, Didier}, title = {{CREST} - {A} Continuous, REactive SysTems {DSL}}, booktitle = {5th International Workshop on the {Globalization of Modeling Languages} {(GEMOC} 2017), 19 September 2017, Austin, TX, USA}, pages = {286--291}, year = {2017}, month = sep, url = {http://ceur-ws.org/Vol-2019/gemoc_2.pdf}, volume = {2019}, series = {CEUR Workshop Proceedings}, keywords = {peerreviewed} }