Asynchronous Monad for Reactive IoT Programming

dc.contributor.advisorTian Zhao
dc.contributor.committeememberAdel Nasiri
dc.contributor.committeememberEthan V Munson
dc.creatorBerger, Adam Bertrand
dc.date.accessioned2025-01-16T18:27:33Z
dc.date.available2025-01-16T18:27:33Z
dc.date.issued2020-08-01
dc.description.abstractThe 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. We present our abstractions Stream, Signal, and Behavior and their functor, applicative, and (when applicable) monadic instances. We demonstrate how push streams (Stream) can be converted to pull streams (Signal) (and visa versa) to apply our model to practical use cases. We give a use case of a real-time IoT data analytics platform to demonstrate our design's industrial significance where signal sample rates can change dynamically based on unknown factors such as network speed and processor resources. Application of the design to dynamic languages is shown throughout the paper in a reference JavaScript implementation.
dc.identifier.urihttp://digital.library.wisc.edu/1793/86886
dc.relation.replaceshttps://dc.uwm.edu/etd/2457
dc.subjectAsychronous
dc.subjectIoT
dc.subjectMonad
dc.subjectProgramming
dc.subjectReactive
dc.titleAsynchronous Monad for Reactive IoT Programming
dc.typethesis
thesis.degree.disciplineComputer Science
thesis.degree.grantorUniversity of Wisconsin-Milwaukee
thesis.degree.nameMaster of Science

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Berger_uwm_0263M_12819.pdf
Size:
328.59 KB
Format:
Adobe Portable Document Format
Description:
Main File