Scoped Synchronization Constraints for Large Scale Actor Systems

  • Peter Dinges
  • Gul Agha
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7274)


Very large scale systems of autonomous concurrent objects (Actors) require coordination models to meet two competing goals. On the one hand, the coordination models must allow Actors to dynamically modify protocols in order to adapt to requirement changes over the, likely extensive, lifetime of the system. On the other hand, the coordination models must enforce protocols on potentially uncooperative Actors, while preventing deadlocks caused by malicious or faulty Actors. To meet these competing requirements, we introduce a novel, scoped semantics for Synchronizers [7,6]—a coordination model based on declarative synchronization constraints. The mechanism used to limit the scope of the synchronization constraints is based on capabilities and works without central authority. We show that the mechanism closes an attack vector in the original Synchronizer approach which allowed malicious Actors to intentionally deadlock other Actors.


Actor Address Large Scale System Coordination Model Malicious Actor Tuple Space 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Agha, G., Callsen, C.J.: ActorSpaces: An open distributed programming paradigm. In: Proceedings of the 8th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 1993, pp. 23–32 (1993)Google Scholar
  2. 2.
    Agha, G.A.: ACTORS — A Model of Concurrent Computation in Distributed Systems. MIT Press series in artificial intelligence. MIT Press (1986)Google Scholar
  3. 3.
    Astley, M., Agha, G.: Customizaton and compositon of distributed objects: Middleware abstractions for policy management. In: SIGSOFT FSE, pp. 1–9 (1998)Google Scholar
  4. 4.
    Chandra, T.D., Toueg, S.: Unreliable failure detectors for reliable distributed systems. J. ACM 43, 225–267 (1996)MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Field, J., Varela, C.A.: Transactors: a programming model for maintaining globally consistent distributed state in unreliable environments. In: Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2005, pp. 195–208. ACM (2005)Google Scholar
  6. 6.
    Frølund, S.: Coordinating distributed objects - an actor-based approach to synchronization. MIT Press (1996)Google Scholar
  7. 7.
    Frølund, S., Agha, G.: A Language Framework for Multi-Object Coordination. In: Wang, J. (ed.) ECOOP 1993. LNCS, vol. 707, pp. 346–360. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  8. 8.
    Gelernter, D.: Generative communication in linda. ACM Trans. Program. Lang. Syst. 7(1), 80–112 (1985)zbMATHCrossRefGoogle Scholar
  9. 9.
    Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)zbMATHCrossRefGoogle Scholar
  10. 10.
    Letuchy, E.: Facebook chat. Blog entry (May 2008), (retrieved on September 25, 2011)
  11. 11.
    Meseguer, J., Talcott, C.: Semantic Models for Distributed Object Reflection. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 1–36. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  12. 12.
    Miller, M.S.: Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control. PhD thesis, Johns Hopkins University (2006)Google Scholar
  13. 13.
    Minsky, N.H., Minsky, Y., Ungureanu, V.: Safe tuplespace-based coordination in multiagent systems. Applied Artificial Intelligence 15(1), 11–33 (2001)CrossRefGoogle Scholar
  14. 14.
    Minsky, N.H., Ungureanu, V.: Regulated Coordination in Open Distributed Systems. In: Garlan, D., Le Métayer, D. (eds.) COORDINATION 1997. LNCS, vol. 1282, pp. 81–97. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  15. 15.
    Mok, W.: How twitter is scaling. Blog entry (June 2009), (retrieved on September 25, 2011)
  16. 16.
    De Nicola, R., Gorla, D., Hansen, R.R., Nielson, F., Nielson, H.R., Probst, C.W., Pugliese, R.: From Flow Logic to Static Type Systems for Coordination Languages. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 100–116. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  17. 17.
    Ren, S., Yu, Y., Chen, N., Marth, K., Poirot, P.-E., Shen, L.: Actors, Roles and Coordinators — A Coordination Model for Open Distributed and Embedded Systems. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 247–265. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  18. 18.
    Rosu, G., Serbanuta, T.-F.: An overview of the K semantic framework. J. Log. Algebr. Program. 79(6), 397–434 (2010)MathSciNetzbMATHCrossRefGoogle Scholar
  19. 19.
    Sturman, D.: Modular Specification of Interaction Policies in Distributed Computing. PhD thesis, University of Illinois at Urbana-Champaign (1996)Google Scholar
  20. 20.
    Varela, C.A., Agha, G.: A Hierarchical Model for Coordination of Concurrent Activities. In: Ciancarini, P., Wolf, A.L. (eds.) COORDINATION 1999. LNCS, vol. 1594, pp. 166–182. Springer, Heidelberg (1999)Google Scholar
  21. 21.
    Venkatasubramanian, N., Talcott, C.L.: Reasoning about meta level activities in open distributed systems. In: PODC, pp. 144–152 (1995)Google Scholar
  22. 22.
    Winskel, G.: The Formal Semantics of Programming Languages. MIT Press, Cambridge (1993)zbMATHGoogle Scholar
  23. 23.
    Yang, F., Aotani, T., Masuhara, H., Nielson, F., Nielson, H.R.: Combining Static Analysis and Runtime Checking in Security Aspects for Distributed Tuple Spaces. In: De Meuter, W., Roman, G.-C. (eds.) COORDINATION 2011. LNCS, vol. 6721, pp. 202–218. Springer, Heidelberg (2011)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2012

Authors and Affiliations

  • Peter Dinges
    • 1
  • Gul Agha
    • 1
  1. 1.Department of Computer ScienceUniversity of Illinois at Urbana–ChampaignUSA

Personalised recommendations