ESPeciaL: An Embedded Systems Programming Language

Contact   Métrailler Christopher
Title   ESPeciaL: An Embedded Systems Programming Language
Author(s)   Métrailler Ch., Mudry P.-A.
References   6th ACM SIGPLAN Scala Symposium (SCALA 2015), Portland, USA, June 13, 2015, pp. 51-55
Abstract   The advent of off-the-shelf programmable embedded systems such as Arduino enables people with little programming skills to interact with the real-world using sensors and actuators. In this paper, we propose a novel approach aimed at simplifying the programming of embedded systems based on the dataflow paradigm. Named ESPeciaL, this programming framework removes the need of low-level programming in C/C++, as the application is written by connecting blocks that produce and consume data. Thus, an embedded application can be described in terms of ready-to-use blocks that correspond to the various micro-controller peripherals and to program function (multiplexers, logic gates, etc.). The user application itself is written as an embedded Scala DSL. From that code, the ESPeciaL compiler then generates the corresponding C++ code which can be tailored – using different back-ends – to match different embedded systems or a QEMU-based simulation environment. To demonstrate the validity of the approach, we present a typical embedded systems application implemented using ESPeciaL.
HES-SO Valais-Wallis • Route du Rawyl 47 • CP • 1950 Sion 2
+41 27 606 85 11 • •