|
ABSTRACT
Mirror-based systems are object-oriented reflective architectures built around a set of design principles that lead to reflective APIs which foster a high degree of reusability, loose coupling with base-level objects and whose structure and design corresponds to the system being mirrored. However, support for behavioral intercession has been limited in contemporary mirror-based architectures, in spite of its many interesting applications. This is due to the fact that mirror-based architectures only support explicit reflection, while behavioral intercession requires implicit reflection. This work reconciles mirrors with behavioral intercession. We discuss the design of a mirror-based architecture with implicit mirrors that can be absorbed in the interpreter, and mirages, base objects whose semantics are defined by implicit mirrors. We describe and illustrate the integration of this reflective architecture for the distributed object-oriented programming language AmbientTalk.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
AGESEN, O., BAK, L., CHAMBERS, C., CHANG, B.-W., HÖLSZLE, U., MALONEY, J., SMITH, R., UNGAR, D., AND WOLCZKO, M. The SELF 4.1 programmer's reference manual. Tech. rep., Sun Microsystems, Inc. and Stanford University, 2000.
|
| |
2
|
|
 |
3
|
Christoph Bockisch , Michael Haupt , Mira Mezini , Klaus Ostermann, Virtual machine support for dynamic join points, Proceedings of the 3rd international conference on Aspect-oriented software development, p.83-92, March 22-24, 2004, Lancaster, UK
[doi> 10.1145/976270.976282]
|
 |
4
|
Gilad Bracha , David Griswold, Strongtalk: typechecking Smalltalk in a production environment, Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications, p.215-230, September 26-October 01, 1993, Washington, D.C., United States
|
 |
5
|
Gilad Bracha , David Ungar, Mirrors: design principles for meta-level facilities of object-oriented programming languages, Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 24-28, 2004, Vancouver, BC, Canada
|
| |
6
|
|
| |
7
|
CAROMEL, D. Service, asynchrony and wait-by-necessity. Journal of Object-Oriented Programming 2, 4 (November-December 1989), 12--18.
|
| |
8
|
|
 |
9
|
Jessie Dedecker , Tom Van Cutsem , Stijn Mostinckx , Theo D'Hondt , Wolfgang De Meuter, Ambient-oriented programming, Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
[doi> 10.1145/1094855.1094867]
|
| |
10
|
DENKER, M., DUCASSE, S., AND TANTER, É. Runtime bytecode transformation for Smalltalk. Journal of Computer Languages, Systems and Structures 32, 2-3 (2006), 125--139.
|
| |
11
|
DUCASSE, S. Evaluating message passing control techniques in Smalltalk. Journal of Object-Oriented Programming 12, 6 (1999), 39--44.
|
 |
12
|
|
| |
13
|
|
| |
14
|
LIEBERHERR, K., Ed. Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (2004), ACM Press.
|
 |
15
|
|
 |
16
|
|
 |
17
|
|
| |
18
|
|
| |
19
|
MILLER, M., TRIBBLE, E. D., AND SHAPIRO, J. Concurrency among strangers: Programming in E as plan coordination. In Symposium on Trustworthy Global Computing (2005), LNCS vol. 3705, Springer, pp. 195--229.
|
 |
20
|
|
| |
21
|
|
| |
22
|
|
 |
23
|
|
 |
24
|
Éric Tanter , Jacques Noyé , Denis Caromel , Pierre Cointe, Partial behavioral reflection: spatial and temporal selection of reification, Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, October 26-30, 2003, Anaheim, California, USA
|
| |
25
|
|
| |
26
|
|
 |
27
|
Akinori Yonezawa , Jean-Pierre Briot , Etsuya Shibayama, Object-oriented concurrent programming ABCL/1, Conference proceedings on Object-oriented programming systems, languages and applications, p.258-268, September 29-October 02, 1986, Portland, Oregon, United States
|
| |
28
|
|
|