Abstract
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.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have