Generic operational decomposition for concurrent systems: Semantics and Reflection
暂无分享,去创建一个
We present in this article reflection in concurrent languages, and in particular, in PlasmaII which is an implementation of the actor model defined by C. Hewitt and G. Agha. We propose to implement structural and behavioural reflection with an approach based on a fine-grained decomposition of actors management. In this reflective architecture, the actor life cycle is described as a system of cooperative elementary entities that can be easily changed. This approach provides the user with an expressive and concise description of reflective programs. The paper describes this architecture and how it is used to fit various paradigms of concurrent systems such as the actor model of Hewitt and Agha. We also present several examples and emphasize the components specialization leading to black-board communication, ported-object system, or rendezvous synchronization. We also use the semantics of Agha's actors to formalize components cooperation and its ability to treat concrete examples. We compare our approach to others such as facets of CodA or Meta-Interpreters and Meta-Object of ABCL/R3.
[1] Brian Cantwell Smith,et al. Reflection and semantics in LISP , 1984, POPL.
[2] Carolyn L. Talcott,et al. A foundation for actor computation , 1997, Journal of Functional Programming.
[3] Gul A. Agha,et al. ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.
[4] Mitchell Wand,et al. Reification: Reflection without metaphysics , 1984, LFP '84.