skip to main content
Skip header Section
Coordinating distributed objects: an actor-based approach to synchronizationDecember 1996
Publisher:
  • MIT Press
  • 55 Hayward St.
  • Cambridge
  • MA
  • United States
ISBN:978-0-262-06188-9
Published:12 December 1996
Pages:
195
Skip Bibliometrics Section
Bibliometrics
Abstract

No abstract available.

Cited By

  1. ACM
    Takeno S and Watanabe T A Reflective Implementation of an Actor-based Concurrent Context-Oriented System Proceedings of the 14th International Workshop on Adaptive and Reflective Middleware, (1-6)
  2. ACM
    Kuang P, Field J and Varela C Fault Tolerant Distributed Computing Using Asynchronous Local Checkpointing Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control, (81-93)
  3. ACM
    Watanabe T and Takeno S A Reflective Approach to Actor-Based Concurrent Context-Oriented Systems Proceedings of 6th ACM International Workshop on Context-Oriented Programming, (1-6)
  4. ACM
    Gramoli V and Santosa A Why inheritance anomaly is not worth solving Proceedings of the 9th International Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems PLE, (1-12)
  5. ACM
    Watanabe T Towards a compositional reflective architecture for actor-based systems Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control, (19-24)
  6. Dinges P and Agha G Scoped synchronization constraints for large scale actor systems Proceedings of the 14th international conference on Coordination Models and Languages, (89-103)
  7. Radestock M and Eisenbach S Component coordination in middleware systems Proceedings of the IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing, (225-240)
  8. ACM
    Karmani R, Shali A and Agha G Actor frameworks for the JVM platform Proceedings of the 7th International Conference on Principles and Practice of Programming in Java, (11-20)
  9. ACM
    Ren S, Yu Y, Chen N, Tsai J and Kwiat K (2007). The role of roles in supporting reconfigurability and fault localizations for open distributed and embedded systems, ACM Transactions on Autonomous and Adaptive Systems, 2:3, (10-es), Online publication date: 1-Sep-2007.
  10. ACM
    Marth K and Ren S Extending the ARC model with generative coordination Proceedings of the 2007 ACM symposium on Applied computing, (366-367)
  11. Ren S, Yu Y, Chen N, Marth K, Poirot P and Shen L Actors, roles and coordinators — a coordination model for open distributed and embedded systems Proceedings of the 8th international conference on Coordination Models and Languages, (247-265)
  12. Varela C, Ciancarini P and Taura K (2005). Worldwide computing, Scientific Programming, 13:4, (255-263), Online publication date: 1-Oct-2005.
  13. ACM
    Field J and Varela C (2005). Transactors, ACM SIGPLAN Notices, 40:1, (195-208), Online publication date: 12-Jan-2005.
  14. ACM
    Field J and Varela C Transactors Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (195-208)
  15. Chiang C, Lee R and Yang H On the design and implementation of parallel programs through coordination Proceedings of the Second international conference on Software Engineering Research, Management and Applications, (156-170)
  16. Ensink B, Stanley J and Adve V (2003). Program control language, Journal of Parallel and Distributed Computing, 63:11, (1082-1104), Online publication date: 1-Nov-2003.
  17. Ziaei R and Agha G SynchNet Proceedings of the 2nd international conference on Generative programming and component engineering, (324-343)
  18. Smith S and Talcott C (2002). Specification Diagrams for Actor Systems, Higher-Order and Symbolic Computation, 15:4, (301-348), Online publication date: 1-Dec-2002.
  19. ACM
    Agha G (2002). Introduction, Communications of the ACM, 45:6, (30-32), Online publication date: 1-Jun-2002.
  20. ACM
    Adve V, Lam V and Ensink B Language and Compiler Support for Adaptive Distributed Applications Proceedings of the 2001 ACM SIGPLAN workshop on Optimization of middleware and distributed systems, (238-246)
  21. ACM
    Adve V, Lam V and Ensink B Language and Compiler Support for Adaptive Distributed Applications Proceedings of the ACM SIGPLAN workshop on Languages, compilers and tools for embedded systems, (238-246)
  22. ACM
    Adve V, Lam V and Ensink B (2001). Language and Compiler Support for Adaptive Distributed Applications, ACM SIGPLAN Notices, 36:8, (238-246), Online publication date: 1-Aug-2001.
  23. ACM
    (2001). Customizable middleware for modular distributed software, Communications of the ACM, 44:5, (99-107), Online publication date: 1-May-2001.
  24. Tu M, Seebode C, Griffel F and Lamersdorf W (2001). DynamiCS, Electronic Commerce Research, 1:1-2, (101-117), Online publication date: 1-Feb-2001.
  25. ACM
    Corchuelo R, Pérez J and Toro M (2000). A multiparty coordination aspect language, ACM SIGPLAN Notices, 35:12, (24-32), Online publication date: 1-Dec-2000.
  26. ACM
    Bose P and Zhou X (1999). WWAC, ACM SIGSOFT Software Engineering Notes, 24:2, (127-136), Online publication date: 1-Mar-1999.
  27. ACM
    Bose P and Zhou X WWAC Proceedings of the international joint conference on Work activities coordination and collaboration, (127-136)
  28. Agha G, Astley M, Sheikh J and Varela C Modular Heterogeneous System Development Proceedings of the Seventh Heterogeneous Computing Workshop
  29. Ren S, Agha G and Saito M (1996). A Modular Approach to Programming Distributed Real-Time Systems, Journal of Parallel and Distributed Computing, 36:1, (4-12), Online publication date: 10-Jul-1996.
Contributors

Recommendations

Reviews

Doris C. Appleby

The actors model consists of a collection of asynchronous objects that execute concurrently. It was first described in 1977 by Carl Hewitt as a model of computation, in which “actors interact [in] a purely local way by sending messages to one another.” Each actor has two complementary aspects: the action it should take when it is sent a message, and its acquaintances, that is, the finite collection of actors that it knows about directly [1]. Frølund describes a model in which each actor has a single thread of control, so at most one method can be executed at a time. Each actor has an input queue in which incoming messages are stored until they can be dispatched. Actors can form an asynchronous distributed system, with each operating independently, possibly on differing hardware. In a foreword, Gul Agha, the author's advisor for the doctoral work that is the basis of this book, says that Frølund's “insightful observation is that coordination between components often involves temporal constraints between events at those components.” Frølund has constructed a synchronizer that allows an abstract, reusable specification over coordination constraints. It can reduce code without sacrificing execution efficiency. The abstract nature of the specification can support coordination of distributed objects that are not tied to any specific host language. As an example, he suggests widely distributed automatic teller machines (ATMs), which are tied to a central bank database. The word “coordination” was consciously chosen instead of “synchronization” to signal the difference between a synchronizer and other synchronization techniques such as semaphores and monitors, which assume that processes (such as ATMs) sharing a common resource are realized in a common programming language running under a common operating system. Objects may operate with quite different time constraints when coordinated by synchronizers, which, having no state, are not actors. Frølund's examples include systems with multiple synchronizers coordinating subsystems of various sizes. The book starts with a brief introduction to object-oriented programming, actors, and coordination. This is followed by a general discussion of synchronization constraints, including specification, inheritance, priorities, garbage collection, and approaches other than synchronizers. A chapter on synchronizers includes such applications as the dining philosophers, coordinated robots, multimedia, and virtual reality. Virtual reality is presented to a user via a head-mounted stereo display and is created by overlaying a video stream with 3D graphics. The system is described by a series of actors: the head device, a model, scene descriptions for each eye, 3D images rendered from the scene descriptions, and video frames. Semantics are formally presented for a simple extension of the lambda-calculus called Language with Objects and Synchronizers (LOS), adding greatly to its integrity. The extensions include commands for actor creation, message passing, and synchronizer instantiation. Frølund discusses the implementation of an LOS prototype in C++ using the Broadway library. Examples are given in pseudocode. He claims that this presentation is a “somewhat inefficient projection of the actual implementation.” In the “Conclusions,” Frølund reviews the main differences between synchronizers and synchronization. Synchronization constraints occur on a per-object basis and are specified as part of an object; synchronizers describe constraints for a group of objects. Performance and programming ease, as well as coordinating asynchronous distributed processe s, were of prime importance in constructing synchronizers. Future research directions are mentioned. The book concludes with a well-thought-out glossary, a reference list, and two indexes. This work is easy to read and gives a full description of the conception and implementation of a Ph.D. project. It satisfies the reader by taking on a manageable piece of an important topic. Frølund makes no mention of the availability of his C++ code and documentation of LOS. I hope a diligent student would be able to obtain them.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.