Skip to content

juliensatti/ArduinoML-kernel

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArduinoML

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).

Domain Description

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.

Repository Organization

  • 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 languages
  • externals defines several alternative implenentations of ArduinoML, as external langauges.

Contributors

References

  • [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

About

Zoo of implementations associated to the ArduinoML kernel

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 23.1%
  • Java 14.0%
  • Python 11.9%
  • Shell 10.7%
  • Smalltalk 9.2%
  • Scheme 9.1%
  • Other 22.0%