A Reflective Implementation of an Actor-based Concurrent Context-Oriented System

In this paper, we introduce the notion of concurrent context-oriented programming and its experimental implementation. To realize context-oriented programming in concurrent systems based on asynchronous communication such as the Actor model, we must take special care to control synchronizations among context changes and other computations. We adopt an instance of group-wide reflection to solve the synchronization problem regarding messages that cross two contexts. In this paper, we give some preliminary evaluation results using our implementation in Erlang.

[1]  Robert Hirschfeld,et al.  Language constructs for context-oriented programming: an overview of ContextL , 2005, DLS '05.

[2]  Takuo Watanabe,et al.  A Reflective Approach to Actor-Based Concurrent Context-Oriented Systems , 2014, COP@ECOOP.

[3]  Nalini Venkatasubramanian,et al.  Scalable Distributed Garbage Collection for Systems of Active Objects , 1992, IWMM.

[4]  Akinori Yonezawa,et al.  Reflection in an object-oriented concurrent language , 1988, OOPSLA '88.

[5]  Shohei Yasutake,et al.  Actario : A Framework for Reasoning About Actor Systems , 2015 .

[6]  Joeri De Koster,et al.  Domains: safe sharing among actors , 2012, AGERE! 2012.

[7]  Gordon S. Blair,et al.  The case for reflective middleware , 2002, CACM.

[8]  Markus Raab Global and Thread-Local Activation of Contextual Program Execution Environments , 2015, 2015 IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops.

[9]  Takuo Watanabe,et al.  Towards a compositional reflective architecture for actor-based systems , 2013, AGERE! 2013.

[10]  Gul A. Agha,et al.  Scoped Synchronization Constraints for Large Scale Actor Systems , 2012, COORDINATION.

[11]  Leslie Lamport,et al.  Distributed snapshots: determining global states of distributed systems , 1985, TOCS.

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

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

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

[15]  Matteo Pradella,et al.  ContextErlang: introducing context-oriented programming in the actor model , 2012, AOSD '12.

[16]  Akinori Yonezawa,et al.  An Actor-Based Metalevel Architecture for Group-Wide Reflection , 1990, REX Workshop.

[17]  Andry Rakotonirainy,et al.  Context-oriented programming , 2003, MobiDe '03.

[18]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.