MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Ecole des Mines de Nantes & OTI

Download:
pdf | ps
by Jacques Malenfant, La Chantrerie, Rue Alfred Kastler
ftp://ftp.emn.fr/pub/objet/publications/oopsla95.ps.gz
Add To MetaCart

Abstract:

Reflective programming languages are those where users ' programs are allowed to customize in an organized way the behavior of the language to their own needs. For ten years now, most of the work on reflection revolved around the definition and the implementation of metaobject protocols which express this organization. No methodologies have been proposed for reflective programming per se. This paper proposes a first one aiming at the design of composable metaobjects. Given two independently developed reflective customizations, this methodology proposes principles to be observed in their design such that they can be composed using standard base-level aggregation or specialization. While this paper focuses on a simple MOP and illustrates the methodology on specific examples, this methodology can be generalized to other languages with different MOPs. For instance, we discuss how to adapt it to Clos.

Citations

697 The Art of Metaobject Protocol – Kiczales, Rivieres, et al. - 1991
365 Concepts and Experiments in Computational Reflection – Maes - 1987
332 W.: Mixin-Based Inheritance – Bracha, Cook - 1990
174 Reflection and Semantics in LISP – Smith - 1984
146 Concepts and paradigms of object-oriented programming. OOPS Messenger 1:8–87 – Wegner - 1990
140 Object-Oriented Programming with Flavors – Moon - 1986
113 Contracts: Specifying behavioral compositions in object-oriented systems – Helm, Holland, et al. - 1990
109 Reflection in an object-oriented concurrent language – Watanabe, Yonezawa - 1988
108 Designing an extensible distributed language with a meta-level architecture – Chiba, Masuda - 1993
101 Object-Oriented Programming in COMMON LISP: A Programmer's Guide to CLOS – Keene - 1989
100 Metaclasses are first class: the ObjVLisp model – Cointe - 1987
81 An Object-Oriented LanguageDatabase Integration Model: The Composition Filters Approach – Aksit, Bergmans, et al. - 1992
65 Meta-level programming with CodA – McAffer - 1995
60 The Common Lisp Object System: an Overview – DeMichiel, Gabriel - 1987
27 System design by composing structures of interacting objects – Reenskaug, Anderson - 1992
22 Metaclass compatibility – Graube - 1989
19 The Art of Growing Adaptive Object-Oriented Software – Lieberherr - 1995
16 When objects collide: Experiences with reusing multiple class hierarchies – BERLIN - 1990
14 Reflections on metaclass programming in SOM – Danforth, Forman - 1994
10 Flavors: message passing – Weinreb, Moon - 1980
7 CLOS in context - The shape of the design space – Bobrow, Gabriel, et al. - 1993
6 Behavioral Reflection in a Prototype-Based Language – Malenfant, Dony, et al. - 1992
6 Definition of a reflective kernel for a prototype-based language – Mulet, Cointe - 1993
2 Object-Oriented Programming: The CLOS Perspective" edited by Andreas Paepcke – Kiczales, Ashley, et al. - 1993
1 Separation of Concerns – ursch, L, et al. - 1995
1 R'eflexion & Langages `a prototypes – Mulet - 1995