Distributed Persistent Signals: Architecture and Implementation
A signal in reactive programming (RP) is a function of time whose value is updated automatically without performing explicit re-assignments. SignalJ, a Java-based RP language, provides persistent signals, whose update histories constitute time-series data, i.e., a signal is a function of a specified (possibly past) time. These update histories are stored in a time-series database to facilitate the use of persistent signals in an open, distributed setting. However, currently SignalJ is only used in local systems, and there are several obstacles to making it applicable to distributed systems. In this study, we address this problem by proposing a distributed architecture for the SignalJ runtime platform. This architecture includes an ID resolver that makes persistent signals location-transparent and supports a distributed update propagation mechanism that makes distributed time-series data consistent. We realize this architecture by extending the SignalJ compiler and its runtime library as well as providing an add-on to the time-series database. The effectiveness of this architecture is demonstrated by implementing a simple IoT application using this extension.
Wed 7 DecDisplayed time zone: Auckland, Wellington change
13:30 - 15:00 | |||
13:30 30mTalk | FLOREnce: A Hybrid Logic-Functional Reactive Programming Language REBLS Louise Van Verre Vrije Universiteit Brussel, Humberto Rodriguez Avila Vrije Universiteit Brussel, Jens Nicolay Vrije Universiteit Brussel, Wolfgang De Meuter Vrije Universiteit Brussel DOI | ||
14:00 30mTalk | Distributed Persistent Signals: Architecture and Implementation REBLS DOI | ||
14:30 30mTalk | Reactive Programming on the Bare Metal: A Formal Model for a Low-Level Reactive Virtual Machine REBLS Bjarno Oeyen Vrije Universiteit Brussel, Joeri De Koster Vrije Universiteit Brussel, Wolfgang De Meuter Vrije Universiteit Brussel DOI Pre-print |