Reactors: A data-oriented synchronous/asynchronous programming model for distributed applications

2Citations
Citations of this article
1Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Our aim is to define the kernel of a simple and uniform programming model-the reactor model-suitable for building and evolving internet-scale programs. A reactor consists of two principal components: mutable state, in the form of a fixed collection of relations, and code, in the form of a fixed collection of rules in the style of datalog. A reactor's code is executed in response to an external stimulus, which takes the form of an attempted update to the reactor's state. As in classical process calculi, the reactor model accommodates collections of distributed, concurrently executing processes. However, unlike classical process calculi, our observable behaviors are sequences of states, rather than sequences of messages. Similarly, the interface to a reactor is simply its state, rather than a collection of message channels, ports, or methods. One novel feature of our model is the ability to compose behaviors both synchronously and asynchronously. Also, our use of datalog-style rules allows aspect-like composition of separately-specified functional concerns in a natural way. © Springer-Verlag Berlin Heidelberg 2007.

Cite

CITATION STYLE

APA

Field, J., Marinescu, M. C., & Stefansen, C. (2007). Reactors: A data-oriented synchronous/asynchronous programming model for distributed applications. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4467 LNCS, pp. 76–95). Springer Verlag. https://doi.org/10.1007/978-3-540-72794-1_5

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free