Date of Award
Master of Science
Adel Nasiri, Ethan V Munson
Asychronous, IoT, Monad, Programming, Reactive
The widespread adoption of Internet of Things (IoT) has given rise to systems which must reactively process signal data, while maintaining latency and throughput constraints. While the reactive programming paradigm partially addresses this problem, it does not offer a complete solution. We propose a design for a monad, AsyncM, and apply it to implement push-pull functional reactive programming (FRP) where side-effect bound events are performed in low-latency push streams, and time-series computations are performed in demand-driven pull streams. The design uses implicitly threaded cancellation tokens and continuation passing style to allow for implementations in languages which have single-threaded event-loops as well as languages which have multi-threading.
Berger, Adam Bertrand, "Asynchronous Monad for Reactive IoT Programming" (2020). Theses and Dissertations. 2457.