An actor-based metalevel architecture for group-wide reflection

Technical Contributions
Part of the Lecture Notes in Computer Science book series (LNCS, volume 489)


The notion of group-wide reflection is presented. Group-wide reflection, a dimension of computational reflection in concurrent systems, allows each computational agent (actor/object/process) to reason about and act upon not only the agent itself, but also a group of agents which may contain the agent itself. Global properties of the group can be dynamically controlled through group-wide reflection. We have developed a simple yet general model for group-wide reflection based on the Actor model[1]. An operational semantics of a group of object-level actors is represented by another group of actors (a group of metalevel actors), which is an implementation of a transition system of the object-level group. We prove that the metalevel group correctly represents the operational semantics of the group in terms of transitions of configurations. Furthermore, migration of an actor from node to node is described as an example of group-wide reflection.


reflection group-wide reflection actor model object-oriented concurrent programming object-group ABCL/R ABCL/1 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. The MIT Press, 1987.Google Scholar
  2. [2]
    A. Black, N. Hutchinson, E. Jul, H. Levi, and L. Carter. “Distribution and Abstract Types in Emerald”. IEEE Transactions on Software Engineering, SE-13(1):65–76, January 1987.Google Scholar
  3. [3]
    T. Chikayama, H. Sato, and T. Miyazaki. “Overview of the Parallel Inference Machine Operating System (PIMOS)”. In Proceedings of the International Conference on Fifth Generation Computer Systems (FGCS), Tokyo, pages 230–251. ICOT, December 1988.Google Scholar
  4. [4]
    D. R. Jefferson. “Virtual Time”. ACM Transactions on Programming Languages and Systems, 7(3):404–425, 1985.Google Scholar
  5. [5]
    L. Liang, S. T. Chanson, and G. W. Neufield. “Process Groups and Group Communications: Classifications and Requirements”. IEEE COMPUTER, 23(2):56–66, February 1990.Google Scholar
  6. [6]
    P. Maes. “Concepts and Experiments in Computational Reflection”. In Proceedings of ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), pages 147–155, 1987.Google Scholar
  7. [7]
    B. C. Smith. “Reflection and Semantics in Lisp”. In Proceedings of ACM Symposium on Principles of Programming Languages (POPL), pages 23–35, 1984.Google Scholar
  8. [8]
    T. Watanabe and A. Yonezawa. “Reflection in an Object-Oriented Concurrent Language”. In Proceedings of ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), San Diego CA., pages 306–315. ACM, September 1988. (Revised version in [10]).Google Scholar
  9. [9]
    Y. Yokote, F. Teraoka, and M. Tokoro. “A Reflective Architecture for an Object-Oriented Distributed Operating System”. In Proceedings of European Conference on Object-Oriented Programming (ECOOP), July 1989.Google Scholar
  10. [10]
    A. Yonezawa, editor. ABCL: An Object-Oriented Concurrent System. The MIT Press, 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  1. 1.Department of Information ScienceTokyo Institute of Technology JSPS Fellow (DC)Japan

Personalised recommendations