- Author: Sébastien Mosser
- Version: 1.0
This repository is a zoo of implementation of the very same language: ArduinoML. This language is kept simple and naive by essence, the goal of this repository is to store at the same location several implementations of the same concepts.
The idea of this zoo raise after the DSL course I made at EJCP'15 and JDEV'15 during June 2015. It is also used as a support for the DSL Engineering course running at Polytech'Nice.
This repository is a community-based effort. Contributions for each implementations were made by their respective authors (see the readme file of each implementation for details).
ArduinoML is an example of a Domain Specific Language (DSL), designed to model simple application executed on top of Arduino boards. It is specific to this class of applications, i.e., allowing anyone to model simple pieces of software that bind sensors to actuators.
For example, let’s consider the following scenario: “As a user, considering a button and a LED, I want to switch on the LED after pushing the button. Pushing the button again will switch it off, and so on”. The essence of ArduinoML is to support the definition of such an application.
docs
contains the documentation that exists on ArduinoML (basically a description of the kernel)kernels
contains models and implementations of the abstract syntax of the language.embeddeds
defines several alternative implementations of ArduinoML, embedded in host languagesexternals
defines several alternative implenentations of ArduinoML, as external langauges.
- [2014] Sébastien Mosser, Philippe Collet, Mireille Blay-Fornarino. “Exploiting the Internet of Things to Teach Domain-Specific Languages and Modeling” in Proceedings of the 10th Educators' Symposium @ MODELS 2014 (EduSymp'14), ACM, IEEE, pages 1-10, Springer LNCS, Valencia, Spain, 29 september 2014