Hybrid group reflective architecture for object-oriented concurrent reflective programming

  • Satoshi Matsuoka
  • Takuo Watanabe
  • Akinori Yonezawa
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 512)


The benefits of computational reflection are the abilities to reason and alter the dynamic behavior of computation from within the language framework. This is more beneficial in concurrent/distributed computing, where the complexity of the system is much greater compared to sequential computing; we have demonstrated various benefits in our past research of Object-Oriented Concurrent Reflective (OOCR) architectures. Unfortunately, attempts to formulate reflective features provided in practical reflective systems, such as resource management, have led to some difficulties in maintaining the linguistic lucidity necessary in computational reflection. The primary reason is that previous OOCR architectures lack the ingredients for group-wide object coordination. We present a new OOCR language with a hybrid group reflective architecture, ABCL/R2, whose key features are the notion of heterogeneous object groups and coordinated management of group shared resources. We describe and give examples of how such management can be effectively modeled and adaptively modified/controlled with the reflective features of ABCL/R2. We also identify that this architecture embodies two kinds of reflective towers, individual and group.

Keywords and Phrases

Actors Object-Based Concurrency Object Groups Reflection Resource Management Virtual Time 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Gul Agha. ACTORS: A Model of Concurrent Computation in Distributed Systems. The MIT Press, 1986.Google Scholar
  2. [2]
    Christopher Burdorf and Jed Marti. Non-preemptive time warp scheduling algorithm. Operating Systems Review, 24(2):7–18, April 1990.CrossRefGoogle Scholar
  3. [3]
    Andrew Chien and William J. Dally. Concurrent aggregates. In Proceedings of ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP), pages 187–196. SIGPLAN Notices, March 1990.Google Scholar
  4. [4]
    Olivier Danvy and Karoline MalmkjÆr. Intensions and extensions in the reflective tower. In Proceedings of the ACM Conference on LISP and Functional Programming, pages 327–341. ACM Press, 1988.Google Scholar
  5. [5]
    Jacques Ferber. Conceptual reflection and Actor languages. In Pattie Maes and Daniele Nardi, editors, Meta-Level Architectures and Reflection, pages 177–193. North-Holland, 1988.Google Scholar
  6. [6]
    Jacques Ferber. Computational reflection in class-based object-oriented languages. In Proceedings of OOPSLA'89, volume 24, pages 317–326. SIGPLAN Notices, ACM Press, October 1989.Google Scholar
  7. [7]
    David R. Jefferson. Virtual Time. ACM Transactions on Programming Languages and Systems, 7(3):404–425, July 1985.MathSciNetCrossRefGoogle Scholar
  8. [8]
    Luping Liang, Samuel T. Chanson, and Gerald W. Newfeld. Process groups and group communications: Classifications and requirements. IEEE Computer, pages 56–66, February 1990.Google Scholar
  9. [9]
    Pattie Maes. Concepts and experiments in computational reflection. In Proceedings of OOPSLA'87, volume 22, pages 147–155. SIGPLAN Notices, ACM Press, October 1987.Google Scholar
  10. [10]
    Pattie Maes. Issues in computational reflection. In Pattie Maes and Daniele Nardi, editors, Meta-Level Architectures and Reflection, pages 21–35. North-Holland, 1988.Google Scholar
  11. [11]
    Satoshi Matsuoka and Akinori Yonezawa. Metalevel solution to inheritance anomaly in concurrent object-oriented languages. In Proceedings of the ECOOP/OOPSLA '90 Workshop on Reflection and Metalevel Architectures in Object-Oriented Programming, October 1990.Google Scholar
  12. [12]
    Flavio De Paoli and Mehdi Jazayeri. FLAME: a language for distributed programming. In Proceedings of the 1990 IEEE International Conference on Programming Languages, pages 69–78, 1990.Google Scholar
  13. [13]
    Ramana Rao. Implementational reflection in Silica. In Proceedings of ECOOP'91. Springer-Verlag, July 1991.Google Scholar
  14. [14]
    Brian C. Smith. Reflection and semantics in Lisp. In Conference Record of the ACM Symposium on Principles of Programming Languages, pages 23–35. ACM Press, 1984.Google Scholar
  15. [15]
    Brian C. Smith. What do you mean, meta? In Proceedings of the ECOOP/OOPSLA '90 Workshop on Reflection and Metalevel Architectures in Object-Oriented Programming, October 1990.Google Scholar
  16. [16]
    Tomoyuki Tanaka. Actor-based reflection without meta-objects. Technical Report RT-0047, IBM Research, Tokyo Reserach Laboratory, August 1990.Google Scholar
  17. [17]
    Tomoyuki Tanaka and Shigeru Uzuhara. Multiprocessor Common Lisp on TOP-1. In Proceedings of the IEEE Symposium on Parallel and Distributed Processing, 1990. (to appear).Google Scholar
  18. [18]
    Frank van Harmlen. A classification of meta-level architectures. In Abramson and Rogers, editors, Meta-Programming in Logic Programming, chapter 5, pages 103–122. The MIT Press, 1989.Google Scholar
  19. [19]
    Mitchell Wand and Danel P. Friedman. The mystery of the tower revealed: A non-reflective description of the reflective tower. In Pattie Maes and Daniele Nardi, editors, Meta-Level Architectures and Reflection, pages 111–134. North-Holland, 1988.Google Scholar
  20. [20]
    Takuo Watanabe and Akinori Yonezawa. Reflection in an object-oriented concurrent language. In Proceedings of OOPSLA '88, volume 23, pages 306–315. SIGPLAN Notices, ACM Press, September 1988.Google Scholar
  21. [21]
    Takuo Watanabe and Akinori Yonezawa. An actor-based metalevel architecture for group-wide reflection. In Proceedings of the REX School/Workshop on Foundations of Object-Oriented Languages (REX/FOOL), Noordwijkerhout, the Netherlands, Lecture Notes in Computer Science. Springer-Verlag, May 1990.Google Scholar
  22. [22]
    Yasuhiko Yokote, Fumio Teraoka, and Mario Tokoro. A reflective architecture for an object-oriented distributed operating system. In Stephen Cook, editor, Proceedings of ECOOP'89, pages 89–106. Cambridge University Press, 1989.Google Scholar
  23. [23]
    Akinori Yonezawa, editor. ABCL: An Object-Oriented Concurrent System. Computer Systems Series. The MIT Press, 1990.Google Scholar
  24. [24]
    Akinori Yonezawa and Takuo Watanabe. An introduction to object-based reflective concurrent computations. In Proceedings of the 1988 ACM SIGPLAN Workshop on Object-Based Concurrent Programming, volume 24, pages 50–54. SIGPLAN Notices, ACM Press, April 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Satoshi Matsuoka
    • 1
  • Takuo Watanabe
    • 1
  • Akinori Yonezawa
    • 1
  1. 1.Department of Information ScienceThe University of TokyoJapan

Personalised recommendations