REBLS2022 Talk

Posted on December 7, 2022

Towards Introducing Asynchronous Tasks to an FRP Language for Small-Scale Embedded Systems

Akihiko Yokoyama, Sosuke Moriguchi & Takuo Watanabe
9th International Workshop on Reactive and Event-based Languages & Systems (REBLS 2022), Auckland, Dec. 7, 2022.

Abstract

Emfrp is a functional reactive programming language designed for small embedded systems. By imposing certain restrictions on the language mechanism, the language guarantees the termination of the update process for each time-varying value and enables static determination of the amount of memory required for execution. This allows Emfrp programs to run safely even in resource-constrained execution environments. However, the abovementioned restrictions make it difficult to write time-consuming operations (heavy tasks) such as graph structure construction and exploration based on external data. Moreover, since Emfrp updates time-varying values synchronously, a naive implementation of such heavy tasks using external function calls will result in a slow response time to input. Some existing programming languages provide asynchronous processing mechanisms to ensure descriptiveness and responsiveness for heavy tasks. In this study, we propose a method to introduce heavy tasks into reactive programs naturally by introducing language mechanisms equivalent to asynchronous processing mechanisms, such as future and promise, into Emfrp. In this paper, we first discuss the problems with a naive implementation of heavy tasks in Emfrp, then explain the proposed method based on an example, and discuss the language runtime implementation.

Publication

Akihiko Yokoyama, Sosuke Moriguchi, and Takuo Watanabe, Towards Introducing Asynchronous Tasks to an FRP Language for Small-Scale Embedded Systems, 9th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems (REBLS ’22), ACM, pp. 1-12, Dec., 2022. DOI:10.1145/3563837.3568338 (authors’ version)

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