ACM Home Page
Please provide us with feedback. Feedback
Partial behavioral reflection: spatial and temporal selection of reification
Full text PdfPdf (261 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications table of contents
Anaheim, California, USA
SESSION: Refactoring and reflection table of contents
Pages: 27 - 46  
Year of Publication: 2003
ISBN:1-58113-712-5
Also published in ...
Authors
Éric Tanter  University of Chile, Santiago, Chile and École des Mines de Nantes -- INRIA, Nantes, France
Jacques Noyé  Campus Universitaire de Beaulieu, Rennes, France and École des Mines de Nantes -- INRIA, Nantes, France
Denis Caromel  Université de Nice -- CNRS -- INRIA -- IUF, Sophia Antipolis, France
Pierre Cointe  Ecole des Mines de Nantes -- INRIA, Nantes, France
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 41,   Citation Count: 15
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/949305.949309
What is a DOI?

ABSTRACT

Behavioral reflection is a powerful approach for adapting the behavior of running applications. In this paper we present and motivate partial behavioral reflection, an approach to more efficient and flexible behavioral reflection. We expose the spatial and temporal dimensions of such reflection, and propose a model of partial behavioral reflection based on the notion of hooksets. In the context of Java, we describe a reflective architecture offering appropriate interfaces for static and dynamic configuration of partial behavioral reflection at various levels, as well as Reflex, an open reflective extension for Java implementing this architecture. Reflex is the first extension that fully supports partial behavioral reflection in a portable manner, and that seamlessly integrates load-time and runtime behavioral reflection. The paper shows preliminary benchmarks and examples supporting the approach. The examples, dealing with the observer pattern and asynchronous communication via transparent futures, also show the interest of partial behavioral reflection as a tool for open dynamic Aspect-Oriented Programming.


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
 
2
L. Bergmans. The composition filters object model. In Proceedings of the RICOT symposium on Enabling Objects for Industry, June 1994.
 
3
 
4
 
5
 
6
D. Caromel, W. Klauser, and J. Vayssière. Towards seamless computing and metacomputing in Java. Concurrency Practice and Experience, 10(11-13):1043--1061, Sept. 1998.
 
7
 
8
K. Cheverst, C. Efstratiou, N. Davies, and A. Friday. Architectural ideas for the support of adaptive context-aware applications. In Workshop on Infrastructure for Smart Devices - How to Make Ubiquity an Actuality, Bristol, UK, Sept. 2000.
9
 
10
 
11
 
12
 
13
M. Dahm. Byte code engineering. In C. Cap, editor, Proceedings of JIT'99, Berlin, pages 267--277, 1999.
 
14
 
15
16
 
17
 
18
 
19
 
20
S. Ducasse. Evaluating message passing control techniques in Smalltalk. Journal of Object-Oriented Programming, June:39--50, 1999.
21
 
22
23
 
24
 
25
 
26
B. Gowing and V. Cahill. Meta-object protocols for C++: The Iguana approach. In Kiczales {30}, pages 137--152.
27
28
29
 
30
G. Kiczales, editor. Reflection'96, San Francisco, CA, USA, Apr. 1996.
 
31
G. Kiczales. The future of reflection. Invited talk at the Third International Conference on Metalevel Architectures and Advanced Separation of Concerns (Reflection 2001), Sept. 2001.
 
32
 
33
 
34
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In M. Aksit and S. Matsuoka, editors, Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP'97), volume 1241 of Lecture Notes in Computer Science, pages 220--242, Jyväskylä, Finland, June 1997. Springer-Verlag.
 
35
 
36
 
37
T. Ledoux and M. N. Bouraqadi-Sadani. Adaptability in Mobile Agent Systems using Reflection. RM'2000, Workshop on Reflective Middleware, Apr. 2000.
38
 
39
P. Maes. Computional reflection. PhD thesis, Artificial intelligence laboratory, Vrije Universiteit, Brussels, Belgium, 1987.
 
40
 
41
H. Masuhara, S. Matsuoka, and A. Yonezawa. An object-oriented concurrent reflective language for dynamic resource management in highly parallel computing. In IPSJ SIG Notes, volume 94-PRG-18, 1994.
 
42
 
43
J. McAffer. Engineering the meta-level. In Kiczales {30}, pages 39--61.
44
 
45
A. Oliva and L. E. Buzato. The design and implementation of Guaraná. In Proceedings of the 5th USENIX Conference on Object-Oriented Technologies & Systems (COOTS'99), pages 203--216, San Diego, CA, USA, May 1999.
 
46
Proceedings of the 10th International Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'95), Austin, Texas, USA, Oct. 1995. ACM Press.
 
47
48
 
49
50
 
51
B. Redmond and V. Cahill. Iguana/J: Towards a dynamic and efficient reflective architecture for Java. ECOOP 2000 Workshop on Reflection and Metalevel Architectures, June 2000.
 
52
 
53
F. Rivard. Smalltalk: a reflective language. In Kiczales {30}, pages 21--38.
 
54
F. Rivard. Évolution du comportement des objets dans les langages à classes réflexifs. PhD thesis, Université de Nantes, École des Mines de Nantes, June 1997. In French.
55
 
56
 
57
E. Tanter and J. Piquer. Managing references upon object migration: Applying separation of concerns. In Proceedings of the XXI International Conference of the Chilean Computer Science Society (SCCC 2001), pages 264--272, Punta Arenas, Chile, Nov. 2001. IEEE Computer Society.
 
58
 
59
E. Tanter, M. Vernaillen, and J. Piquer. Towards transparent adaptation of migration policies. In 8th ECOOP Workshop on Mobile Object Systems (EWMOS 2002), Málaga, Spain, June 2002.
 
60
 
61
Z. Wu. Reflective Java and a reflective component-based transaction architecture. In J.-C. Fabre and S. Chiba, editors, Proceedings of the ACM OOPSLA'98 Workshop on Reflective Programming in Java and C++, Oct. 1998.
 
62
R. Wuyts. A Logic Meta-Programming Approach to Support the Co-Evolution of Object-Oriented Design and Implementation. PhD thesis, Vrije Universiteit Brussel, 2001.
 
63
A. Yonezawa and S. Matsuoka, editors. Proceedings of the 3rd International Conference on Metalevel Architectures and Advanced Separation of Concerns, volume 2192 of Lecture Notes in Computer Science, Kyoto, Japan, Sept. 2001. Springer-Verlag.

CITED BY  15

Collaborative Colleagues:
Éric Tanter: colleagues
Jacques Noyé: colleagues
Denis Caromel: colleagues
Pierre Cointe: colleagues