Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/1764606.1764613guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

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

Published: 06 June 2007 Publication History

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.

References

[1]
Agha, G.A., Mason, I.A., Smith, S.F., Talcott, C.L.: A foundation for actor computation. Journal of Functional Programming 7(1), 1-69 (January 1997).
[2]
Berry, G., Gonthier, G.: The ESTEREL synchronous programming language: design, semantics, implementation. Science of Computer Programming 19(2), 87-152 (1992).
[3]
Bonner, A.J.: Workflow, transactions and datalog. In: PODS '99: Proceedings of the eighteenth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems, New York, NY, USA, pp. 294-305. ACM Press, New York (1999).
[4]
Caspi, P., Pilaud, D., Halbwachs, N., Plaice, J.A.: LUSTRE: a declarative language for realtime programming. In: POPL '87: Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, New York, NY, USA, pp. 178-188. ACM Press, New York (1987).
[5]
Dong, G., Topor, R.W.: Incremental evaluation of datalog queries. In: Hull, R., Biskup, J. (eds.) ICDT 1992. LNCS, vol. 646, pp. 282-296. Springer, Heidelberg (1992).
[6]
Fielding, R.T.: Architectural Styles and the Design of Network-based Software Architectures. PhD thesis, University of California, Irvine (2000).
[7]
Gautier, T., Guernic, P.L.: SIGNAL:A declarative language for synchronous programming of real-time systems. In: Proceedings of the Functional Programming Languages and Computer Architecture, London, UK, pp. 257-277. Springer, Heidelberg (1987).
[8]
Harel, D., Pnueli, A.: On the development of reactive systems. In: Apt, K.R. (ed.) Logics and models of concurrent systems. NATO ASI Series F: Computer And Systems Sciences, vol. 13, pp. 477-498. Springer, Heidelberg (1989).
[9]
Harris, T., Marlow, S., Jones, S.P., Herlihy, M.: Composable memory transactions. In: ACM Conf. on Principles and Practice of Parallel Programming, Chicago, pp. 48-60 (June 2005).
[10]
Kiczales, G.: Aspect-oriented programming. ACM Computing Surveys 28, 4es, 154 (1996).
[11]
Maraninchi, F., Rémond, Y.: Argos: an automaton-based synchronous language. Computer Languages 27, 61-92 (2001).
[12]
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, parts I-II. Information and Computation 100(1), 1-77 (1992).
[13]
Paton, N.W., Díaz, O.: Active database systems. ACM Comput. Surv. 31(1), 63-103 (1999).
[14]
Topor, R.: Safe database queries with arithmetic relations. In: Proceedings of the 14th Australian Computer Science Conference (1991).
[15]
Ullman, J.D.: Principles of Database and Knowledge-Base Systems, vol. 1. Computer Science Press, ch. 3 (1988).
[16]
Wang, X.: Negation in Logic and Deductive Databases. PhD thesis, University of Leeds (1999).

Cited By

View all
  • (2009)Coherent reactionProceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications10.1145/1639950.1640058(925-932)Online publication date: 25-Oct-2009

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
COORDINATION'07: Proceedings of the 9th international conference on Coordination models and languages
June 2007
323 pages
ISBN:9783540727934
  • Editors:
  • Amy L. Murphy,
  • Jan Vitek

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 06 June 2007

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2009)Coherent reactionProceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications10.1145/1639950.1640058(925-932)Online publication date: 25-Oct-2009

View Options

View options

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media