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

被引:5
作者
Field, John [1 ]
Marinescu, Maria-Cristina [1 ]
Stefansen, Christian [2 ]
机构
[1] IBM Res Corp, TJ Watson Res Ctr, Hawthorne, NY 10532 USA
[2] Univ Copenhagen, DIKU, Copenhagen O, Denmark
关键词
Reactors; Datalog; Actors; Synchronous programming; Asynchronous programming; Synchronization; Distributed programming; LANGUAGE;
D O I
10.1016/j.tcs.2008.09.052
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Our aim is to define the kernel of a simple and uniform programming model-the reactor model-which can serve as a foundation for building and evolving internet-scale programs. Such programs are characterized by collections of loosely-coupled distributed components that are assembled on the fly to produce a composite application. 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. (C) 2008 Elsevier B.V. All rights reserved.
引用
收藏
页码:168 / 201
页数:34
相关论文
共 37 条
  • [1] ABITEBOUL S, 1988, P 7 ACM SIGMOD SIGAC
  • [2] Abiteboul S., 1995, Foundations of databases, V8
  • [3] Agha GulA., 1997, J FUNCT PROGRAM, V7, P1
  • [4] [Anonymous], 2005, Service-Oriented Architecture: Concepts, Technology, and Design
  • [5] APT AWK, 1988, FDN DEDECTIVE DATABA, P89
  • [6] BERCIK B, 2005, GUIDE USING AJAX XML
  • [7] THE ESTEREL SYNCHRONOUS PROGRAMMING LANGUAGE - DESIGN, SEMANTICS, IMPLEMENTATION
    BERRY, G
    GONTHIER, G
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 1992, 19 (02) : 87 - 152
  • [8] Bonner A. J., 1999, Proceedings of the Eighteenth ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, P294, DOI 10.1145/303976.304005
  • [9] Caspi P., 1987, P 14 ACM SIGACT SIGP, P178, DOI DOI 10.1145/41625.41641
  • [10] COOPER F, 2006, 5 INT S FORM METH CO, P10