The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
TBAG: a high level framework for interactive, animated 3D graphics applications
SIGGRAPH '94 Proceedings of the 21st annual conference on Computer graphics and interactive techniques
Implementation of the data-flow synchronous language SIGNAL
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
The DrScheme project: an overview
ACM SIGPLAN Notices
Alma-O: an imperative language that supports declarative programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Achieving scalability and expressiveness in an Internet-scale event notification service
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
Science of Computer Programming - Special issue on mathematics of program construction
Functional reactive programming from first principles
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Developing a stage lighting system from scratch
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Modeling Reactive Systems with Statecharts: The Statemate Approach
Modeling Reactive Systems with Statecharts: The Statemate Approach
A History of Data-Flow Languages
IEEE Annals of the History of Computing
Frappé: Functional Reactive Programming in Java
PADL '01 Proceedings of the Third International Symposium on Practical Aspects of Declarative Languages
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
FVision: A Declarative Language for Visual Tracking
PADL '01 Proceedings of the Third International Symposium on Practical Aspects of Declarative Languages
The many faces of publish/subscribe
ACM Computing Surveys (CSUR)
Reactive Programming in Standard ML
ICCL '98 Proceedings of the 1998 International Conference on Computer Languages
The Definition and Implementation of a Computer Programming Language Based on Constraints
The Definition and Implementation of a Computer Programming Language Based on Constraints
Advances in dataflow programming languages
ACM Computing Surveys (CSUR)
Publish/subscribe in a mobile environment
Wireless Networks - Special issue: Pervasive computing and communications
FairThreads: mixing cooperative and preemptive threads in C: Research Articles
Concurrency and Computation: Practice & Experience
Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem
ACM Transactions on Programming Languages and Systems (TOPLAS) - Special issue on POPL 2005
DSL'99 Proceedings of the 2nd conference on Conference on Domain-Specific Languages - Volume 2
AmbientTalk: Object-oriented Event-driven Programming in Mobile Ad hoc Networks
SCCC '07 Proceedings of the XXVI International Conference of the Chilean Society of Computer Science
Property models: from incidental algorithms to reusable components
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Integrating dataflow evaluation into a practical higher-order call-by-value language
Integrating dataflow evaluation into a practical higher-order call-by-value language
Push-pull functional reactive programming
Proceedings of the 2nd ACM SIGPLAN symposium on Haskell
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Flapjax: a programming language for Ajax applications
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Non-deterministic lisp with dependency-directed backtracking
AAAI'87 Proceedings of the sixth National conference on Artificial intelligence - Volume 1
Loosely-coupled distributed reactive programming in mobile ad hoc networks
TOOLS'10 Proceedings of the 48th international conference on Objects, models, components, patterns
Concurrency among strangers: programming in E as plan coordination
TGC'05 Proceedings of the 1st international conference on Trustworthy global computing
SuperGlue: component programming with object-oriented signals
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Embedding dynamic dataflow in a call-by-value language
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Hi-index | 0.00 |
Reactive programming has recently gained popularity as a paradigm that is well-suited for developing event-driven and interactive applications. It facilitates the development of such applications by providing abstractions to express time-varying values and automatically managing dependencies between such values. A number of approaches have been recently proposed embedded in various languages such as Haskell, Scheme, JavaScript, Java, .NET, etc. This survey describes and provides a taxonomy of existing reactive programming approaches along six axes: representation of time-varying values, evaluation model, lifting operations, multidirectionality, glitch avoidance, and support for distribution. From this taxonomy, we observe that there are still open challenges in the field of reactive programming. For instance, multidirectionality is supported only by a small number of languages, which do not automatically track dependencies between time-varying values. Similarly, glitch avoidance, which is subtle in reactive programs, cannot be ensured in distributed reactive programs using the current techniques.