CROW2016 Talk

Posted on March 15, 2016

Emfrp: A Functional Reactive Programming Language for Small-Scale Embedded Systems

Kensuke Sawada & Takuo Watanabe
Modularity 2016, Constrained and Reactive Objects Workshop (CROW 2016),
Málaga, Spain, Mar. 15, 2016.


In this paper, we introduce a new functional reactive programming (FRP) language Emfrp designed to support small-scale embedded systems. An Emfrp program defines a system as a fixed directed graph whose nodes correspond to the time-varying values in the system. The language equips a simple mechanism that enables each node to refer the past values of arbitrary nodes. Using this mechanism, Emfrp provides simplicity and flexibility for describing complex time-dependent reactive behaviors without space and time leaks. Our Emfrp compiler produces platform-independent ANSI-C code that can run on multiple processors including resource constrained microcontrollers. To demonstrate the capabilities of the language, we show a simple but non-trivial example application.


Kensuke Sawada & Takuo Watanabe, Emfrp: A Functional Reactive Programming Language for Small-Scale Embedded Systems, In Companion Proceedings of the 15th International Conference on Modularity (MODULARITY Companion 2016), ACM, pp. 36-44, Mar., 2016. DOI:10.1145/2892664.2892670,

The full-text of this paper is available without charge via this page (thanks to ACM Author-Izer Service).