Computational rejection is beneficial in concurrent computing in offering a linguistic mechanism for incorporating user-specific policies. New challenges are (1) how to implement them, and (2) how to do so efficiently. We present efficient implementation schemes for object-oriented concurrent reflective languages using our language ABCL/R2 as an example. The schemes include: efficient lazy creation of metaobjects/meta-groups, partial compilation of scripts (methods), dynamic progression, self-reification, and light-weight objects, all appropriately integrated so that the user-level semantics remain consistent with the meta-circular definition so that the full power of reflection is retained, while achieving practical efficiency. ABCL/R2 exhibits two orders of magnitude speed improvement over its predecessor, ABCL/R, and in fact compares favorably to the ABCL/l compiler and also C +Sun LWP, neither supporting reflection. *Physical mail address: 7-3-l Hongo, Bunkyo-ku, Tokyo 113, Japan. Phone +81-3-3812-2111 ex. 4108. E-mail: {masuhara, matsu, yonezawa}@is.s.u-tokyo.ac.jp tcurrently with School of Information Science, Japan Advanced Institute of Science and Technology, Hokuriku, Japan. E-mail: takuo@jaist-east.ac.jp. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. @ 1992 ACM 0-89791-53%9/92/0010/0127...$1.50
[1]
Daniel G. Bobrow,et al.
Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991)
,
1991,
SGAR.
[2]
Gul A. Agha,et al.
Concurrent object-oriented programming
,
1993,
CACM.
[3]
Ramana Rao,et al.
Implementational Reflection in Silica
,
1991,
ECOOP.
[4]
Pattie Maes,et al.
Concepts and experiments in computational reflection
,
1987,
OOPSLA '87.
[5]
A. Yonezawa,et al.
An introduction to object-based reflective concurrent computation
,
1988,
OOPSLA/ECOOP '88.
[6]
Akinori Yonezawa,et al.
Reflection in an object-oriented concurrent language
,
1988,
OOPSLA '88.
[7]
Jed Marti,et al.
Non-preemptive time warp scheduling algorithms
,
1990,
OPSR.
[8]
Jayadev Misra,et al.
Distributed discrete-event simulation
,
1986,
CSUR.
[9]
Fumio Teraoka,et al.
A Reflective Architecture for an Object-Oriented Distributed Operating System
,
1989,
ECOOP.
[10]
Shigeru Uzuhara,et al.
Multiprocessor Common Lisp on TOP-1
,
1990,
Proceedings of the Second IEEE Symposium on Parallel and Distributed Processing 1990.
[11]
米沢 明憲.
ABCL : an object-oriented concurrent system
,
1990
.