Reflective facilities in Smalltalk-80
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Towards a methodology for explicit composition of metaobjects
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Concurrency and distribution in object-oriented programming
ACM Computing Surveys (CSUR)
Towards partially evaluating reflection in Java
PEPM '00 Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
A Generic Reification Technique for Object-Oriented Reflective Languages
Higher-Order and Symbolic Computation
Object Location Control Using Meta-level Programming
ECOOP '94 Proceedings of the 8th European Conference on Object-Oriented Programming
Load-Time Structural Reflection in Java
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
ECOOP '98 Workshop ion on Object-Oriented Technology
Jumping to the Meta Level: Behavioral Reflection Can Be Fast and Flexible
Reflection '99 Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
From Dalang to Kava - The Evolution of a Reflective Java Extension
Reflection '99 Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
Altering Java Semantics via Bytecode Manipulation
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Supporting Unanticipated Dynamic Adaptation of Application Behaviour
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
A security framework for reflective Java applications
Software—Practice & Experience
Partial behavioral reflection: spatial and temporal selection of reification
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Josh: an open AspectJ-like language
Proceedings of the 3rd international conference on Aspect-oriented software development
Integrating aspect-orientation and structural annotations to support adaptive middleware
MAI '07 Proceedings of the 1st workshop on Middleware-application interaction: in conjunction with Euro-Sys 2007
Zero-a blend of static typing and dynamic metaprogramming
Computer Languages, Systems and Structures
Uniform and safe metaclass composition
Computer Languages, Systems and Structures
On the revival of dynamic languages
SC'05 Proceedings of the 4th international conference on Software Composition
Hi-index | 0.02 |
Since version 1.1 of the Java Development Kit, the Java reflective facilities have been successively extended. However, they still prove to be limited. A number of systems (e.g. MetaXa, Guaran谩, Kava, Javassist) have addressed this limitation by providing reflective extensions of Java with richer MetaObject Protocols (MOPs). All these extensions provide a particular, monolithic, infrastructure that reflects the commitment of the designer to particular trade-offs between efficiency, portability, expressiveness and flexibility. Unfortunately, these trade-offs are not satisfactory for all applications, since different applications may have different needs. This calls for breaking down the building of a reflective extension into different components that can be specialized in order to fit specific needs. We qualify such a reflective extension as open. In this paper, we present Reflex, a prototype open reflective extension of Java. Reflex can be seen both as a reflective extension of Java and as a first step towards a framework for building such extensions.