Metadata-Version: 2.1
Name: crestdsl
Version: 0.5
Summary: A Continuous REactive SysTems DSL
Home-page: https://github.com/stklik/CREST
Author: Stefan Klikovits
Author-email: crestdsl@klikovits.net
License: UNKNOWN
Description: 
        <p align="center">
        <img src="/docs/assets/crestlogo.svg" />
        </p>
        
        # **CREST** - A Continuous REactive SysTems DSL
        
        [![Build Status](https://travis-ci.org/stklik/CREST.svg?branch=master)](https://travis-ci.org/stklik/CREST) 
        [![PyPI](https://img.shields.io/pypi/v/crestdsl.svg?color=blue)](https://pypi.org/project/crestdsl/)
        [![Documentation Status](https://readthedocs.org/projects/crestdsl/badge/?version=latest)](https://crestdsl.readthedocs.io/?badge=latest)
        [![codecov](https://codecov.io/gh/stklik/CREST/branch/master/graph/badge.svg)](https://codecov.io/gh/stklik/CREST)
        (I know, I know, I'm really busy though...)
        
        [![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/stklik/CREST/master)
        <-- Launch this repository and play with CREST directly in your browser!
        
        ---
        
        ## Introduction
        
        CREST is a novel modelling language for the definition of Continuous-time, REactive SysTems.
        It is a domain-specific language (DSL) targets small cyber-physical systems (CPS) such as home automation systems.
        Specifically, it focusses on the flow and transfer of resources within a CPS.
        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.
        
        
        ## Try me !
        
        CREST uses [Docker](https://www.docker.com/), [Jupyter](https://jupyter.org) notebooks and [Binder](https://mybinder.readthedocs.io/en/latest/) to create, edit and simulate interactive models online.
        
        You can try CREST yourself by clicking on [this link](https://mybinder.org/v2/gh/stklik/CREST/master) (or on the "launch binder" badge above).
        
        You will find several notebooks that will introduce CREST's
        [Syntax & Semantics](https://mybinder.org/v2/gh/stklik/CREST/master?filepath=Syntax-Semantics.ipynb) and [Simulation](https://mybinder.org/v2/gh/stklik/CREST/master?filepath=Simulation.ipynb).
        You can also just launch the docker container on binder (click the badge) and create a new notebook. 
        You can then create and simulate your own models.
        
        
        ## Installation
        
        **Recommended:** Download/clone this repository and use the sources.
        The easiest way is to use the latest version of CREST is to either launch it on Binder (see above),
        or create a local Docker image (`scripts/docker-build.sh`) and then run it (`scripts/docker-run.sh`).
        Alternatively you can use [`repo2docker`](https://github.com/jupyter/repo2docker).
        
        **Local install:** You can also use CREST locally and install the dependencies manually. See the [Dockerfile](./Dockerfile) for information about the tools and libraries that are used. CREST also requires Microsoft's [Z3Prover](https://github.com/Z3Prover) to be installed (including the Python API).
        
        **Soon:** A pip-install is in the pipelines but has been delayed due to publication season :-)
        
        
        ---
        
        ## Publications
        
        <details>
            <summary>
         Stefan Klikovits, Auélien Coet and Didier Buchs:
                <b>ML4CREST: Machine Learning for CPS Models </b>.
                2nd International Workshop on Model Driven Engineering for the Internet-of-Things (MDE4IOT), Copenhagen, 2018
            </summary>
            <pre>
        @InProceedings{Klikovits:MDE4IOT:ML4CREST,
            title = {{ML4CREST}: Machine Learning for CPS Models},
            author = {Stefan Klikovits and Aur\'{e}lien Coet and Didier Buchs},
            booktitle = {2nd International Workshop on Model Driven Engineering for the Internet-of-Things (MDE4IOT), Copenhagen, Denmark, October 15, 2018. Proceedings},
            year = {2018},
        }
            </pre>
        </details>
        
        <details>
            <summary>
         Stefan Klikovits, Alban Linard and Didier Buchs:
                <b>CREST - A DSL for Reactive Cyber-Physical Systems</b>.
                10th System Analysis and Modeling Conference (SAM) 2018
            </summary>
            <pre>
        @InProceedings{Klikovits:SAM18:CREST,
            title = {{CREST} - A {DSL} for Reactive Cyber-Physical Systems},
            author = {Stefan Klikovits and Alban Linard and Didier Buchs},
            booktitle = {10th International System Analysis and Modeling Conference (SAM 2018), Copenhagen, Denmark, October 15-16, 2018. Proceedings},
            year = {2018},
            pages = {29-45},
            isbn = {978-3-030-01041-6}
        }
            </pre>
        </details>
        
        <details>
        <summary>
        Stefan Klikovits, Alban Linard, and Didier Buchs: 
            <b>CREST Formalization</b>. 
        Technical Report. Software Modeling and Verification Group, University of Geneva. 2018
        </summary>
        <pre>
        @techreport{Klikovits:CRESTFormalization:2018,
            author = {Stefan Klikovits and Alban Linard and Didier Buchs},
            title = {{CREST} Formalization},
            institution = {Software Modeling and Verification Group, University of Geneva},
            doi = {10.5281/zenodo.1284561},
            year = {2018}
        }
        </pre>
        </details>
        
        
        <details>
        <summary>
            Stefan Klikovits, Alban Linard, Didier Buchs:
            <b>CREST - A Continuous, REactive SysTems DSL</b>. 
            MODELS (Satellite Events) 2017: 286-291
        </summary>
        <pre>
        @inproceedings{Klikovits:CREST:Gemoc:2017,
          author    = {Stefan Klikovits and
                       Alban Linard and
                       Didier Buchs},
          title     = {{CREST} - {A} Continuous, REactive SysTems {DSL}},
          booktitle = {Proceedings of {MODELS} 2017 Satellite Event: Workshops (ModComp,
                       ME, EXE, COMMitMDE, MRT, MULTI, GEMOC, MoDeVVa, MDETools, FlexMDE,
                       MDEbug), Posters, Doctoral Symposium, Educator Symposium, {ACM} Student
                       Research Competition, and Tools and Demonstrations co-located with
                       {ACM/IEEE} 20th International Conference on Model Driven Engineering
                       Languages and Systems {(MODELS} 2017), Austin, TX, USA, September,
                       17, 2017.},
          pages     = {286--291},
          year      = {2017},
          url       = {http://ceur-ws.org/Vol-2019/gemoc\_2.pdf}
        }
        </pre>
        </details>
        
        ---
        
        ### Thanks
         * to Prof. Didier Buchs and the University of Geneva or enabling me to do this research project
         * to the [Jupyterhub](https://github.com/orgs/jupyterhub/people) and [Binder](https://mybinder.org) teams for providing their amazing service
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
