Scoped Synchronization Constraints for Large Scale Actor Systems

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.

[1]  Gul Agha,et al.  Modular specification of interaction policies in distributed computing , 1996 .

[2]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[3]  J. Meseguer,et al.  Semantic Models for Distributed Object Reflection , 2002, ECOOP.

[4]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[5]  Glynn Winskel,et al.  The formal semantics of programming languages - an introduction , 1993, Foundation of computing series.

[6]  Carlos A. Varela,et al.  A Hierarchical Model for Coordination of Concurrent Activities , 1999, COORDINATION.

[7]  Carlos A. Varela,et al.  Transactors: a programming model for maintaining globally consistent distributed state in unreliable environments , 2005, POPL '05.

[8]  G. Winskel The formal semantics of programming languages , 1993 .

[9]  Svend Frølund Coordinating distributed objects - an actor-based approach to synchronization , 1996 .

[10]  Oscar M. Nierstrasz,et al.  ECOOP’ 93 — Object-Oriented Programming , 2000, Lecture Notes in Computer Science.

[11]  Chris Hankin,et al.  Coordinatio Languages and Models , 2002, Lecture Notes in Computer Science.

[12]  Gul A. Agha,et al.  A Language Framework for Multi-Object Coordination , 1993, ECOOP.

[13]  Flemming Nielson,et al.  From Flow Logic to Static Type Systems for Coordination Languages , 2010, COORDINATION.

[14]  Victoria Ungureanu,et al.  Regulated Coordination in Open Distributed Systems , 1997, COORDINATION.

[15]  Yue Yu,et al.  Actors, Roles and Coordinators - A Coordination Model for Open Distributed and Embedded Systems , 2006, COORDINATION.

[16]  Nalini Venkatasubramanian,et al.  Reasoning about meta level activities in open distributed systems , 1995, PODC '95.

[17]  Mark S. Miller,et al.  Robust composition: towards a unified approach to access control and concurrency control , 2006 .

[18]  Gul A. Agha,et al.  Customization and composition of distributed objects: middleware abstractions for policy management , 1998, SIGSOFT '98/FSE-6.

[19]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[20]  Grigore Rosu,et al.  An overview of the K semantic framework , 2010, J. Log. Algebraic Methods Program..

[21]  Flemming Nielson,et al.  Proceedings of the 10th International Conference on Coordination Models and Languages (Coordination'08) , 2008 .

[22]  Gul A. Agha,et al.  ActorSpace: an open distributed programming paradigm , 1993, PPOPP '93.

[23]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[24]  Flemming Nielson,et al.  Combining Static Analysis and Runtime Checking in Security Aspects for Distributed Tuple Spaces , 2011, COORDINATION.

[25]  Sam Toueg,et al.  Unreliable failure detectors for reliable distributed systems , 1996, JACM.

[26]  Victoria Ungureanu,et al.  Safe tuplespace-based coordination in multiagent systems , 2001, Appl. Artif. Intell..

[27]  Boris Magnusson,et al.  ECOOP 2002 — Object-Oriented Programming , 2002, Lecture Notes in Computer Science.