Affiliation:
1. Yale University, Department of Computer Science, P.O. Box 208285, New Haven, Connecticut
Abstract
Functional Reactive Programming
, or
FRP
, is a general framework for programming hybrid systems in a high-level, declarative manner. The key ideas in FRP are its notions of
behaviors
and
events
. Behaviors are time-varying, reactive values, while events are time-ordered sequences of discrete-time event occurrences. FRP is the essence of
Fran
, a domain-specific language embedded in Haskell for programming reactive animations, but FRP is now also being used in vision, robotics and other control systems applications.
In this paper we explore the formal semantics of FRP and how it
relates to an implementation based on
streams
that represent (and therefore only approximate) continuous behaviors. We show that, in the limit as the sampling interval goes to zero, the implementation is faithful to the formal, continuous semantics, but only when certain constraints on behaviors are observed. We explore the nature of these constraints, which vary amongst the FRP primitives. Our results show both the power and limitations of this approach to language design and implementation. As an example of a limitation, we show that streams are incapable of representing instantaneous predicate events over behaviors.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference16 articles.
1. Tom M. Apostol. Mathematical Analysis A Modern Approach to Advanced Calculus. Addison-Wesley 1957.]] Tom M. Apostol. Mathematical Analysis A Modern Approach to Advanced Calculus. Addison-Wesley 1957.]]
2. LUSTRE: a declarative language for real-time programming
Cited by
75 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Reactamole: functional reactive molecular programming;Natural Computing;2024-04-19
2. Learning Recovery Strategies for Dynamic Self-healing in Reactive Systems;Proceedings of the 19th International Symposium on Software Engineering for Adaptive and Self-Managing Systems;2024-04-15
3. Self-Organisation Programming: A Functional Reactive Macro Approach;2023 IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS);2023-09-25
4. Reactive Software Architectures in IoT;Proceedings of the International Conference on Research in Adaptive and Convergent Systems;2023-08-06
5. Work in Progress: Response Time Analysis of Real-Time Quantum Computing Systems;2023 IEEE 29th Real-Time and Embedded Technology and Applications Symposium (RTAS);2023-05