Tue 27 Oct 2015 16:37 - 17:00 at Haselton 1 - Session 4

Functional Reactive Programming (FRP) enables a developer to describe, declaratively, a program’s response to external events. FRP has many implementations that share many common features, but lack a common declarative mechanism for describing time constraints, such as deadlines or rate throttling. We present a set of Metric Temporal Logic (MTL) primitives for expressing real-time relationships between events in a reactive system. Providing these primitives in the core of an FRP framework allows a developer to define new time-based constraints without resorting to timers external to the FRP code. We describe the implementation of the basic MTL operators in a modified version of the Sodium FRP framework and demonstrate its use for an implementation of the debounce primitive provided by the Java implementation of ReactiveX (RxJava).

Declarative Deadlines in Functional Reactive Programming (FRMTL_Presentation.pdf)605KiB