Using prototypical objects to implement shared behavior in object-oriented systems
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Exception handling and object-oriented programming: towards a synthesis
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Object-oriented concurrent reflective languages can be implemented efficiently
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Transparency and reflection in distributed systems
ACM SIGOPS Operating Systems Review
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Reflections on metaclass programming in SOM
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Towards a methodology for explicit composition of metaobjects
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Approach to object security in distributed SOM
IBM Systems Journal
Adding type parameterization to the Java language
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
JRes: a resource accounting interface for Java
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Dynamic class loading in the Java virtual machine
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
EDCC-2 Proceedings of the Second European Dependable Computing Conference on Dependable Computing
Designing an Extensible Distributed Language with a Meta-Level Architecture
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Integrating Independently-Developed Components in Object-Oriented Languages
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Meta-level Programming with CodA
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Using Metaobject Protocols to Implement Atomic Data Types
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Reflection for Statically Typed Languages
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
ECOOP '98 Workshop ion on Object-Oriented Technology
Adaptation of Connectors in Software Architectures
ECOOP '98 Workshop ion on Object-Oriented Technology
A Metaobject Protocol for Fault-Tolerant CORBA Applications
SRDS '98 Proceedings of the The 17th IEEE Symposium on Reliable Distributed Systems
Implementing Fault-Tolerant Applications Using Reflective Object-Oriented Programming
FTCS '95 Proceedings of the Twenty-Fifth International Symposium on Fault-Tolerant Computing
Automatic program transformation with JOIE
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
Adaptive Soft Real-Time Java within Heterogeneous Environments
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
A Reflective Active Network Node
IWAN '00 Proceedings of the Second International Working Conference on Active Networks
Reflections on MOPs, Components, and Java Security
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
External Requirements Validation for Component-Based Systems
CAiSE '02 Proceedings of the 14th International Conference on Advanced Information Systems Engineering
A Simple Security-Aware MOP for Java
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Reflex - Towards an Open Reflective Extension of Java
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
OpenJIT Frontend System: An Implementation of the Reflective JIT Compiler Frontend
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
Kava - A Reflective Java Based on Bytecode Rewriting
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
Active Network Service Management Based on Meta-level Architectures
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
Computational Logic: Logic Programming and Beyond, Essays in Honour of Robert A. Kowalski, Part II
Aspect-oriented programming beyond dependency injection
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Program transformation with reflection and aspect-oriented programming
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
Hi-index | 0.00 |
Current implementations of reflective Java extensions typically either require access to source code, or require a modified Java platform. This makes them unsuitable for applying reflection to Commercial-off-the-Shelf (COTS) systems. In order to address this we developed a prototype Java extension Dalang based on class wrapping that worked with compiled code, and was implemented using a standard Java platform. In this paper we evaluate the class wrapper approach, and discuss issues that relate to the transparent application of reflection to COTS systems. This has informed our design of a new version of Dalang called Kava that implements a metaobject protocol through the application of standard byte code transformations. Kava leverages the capabilities of byte code transformation toolkits whilst presenting a high-level abstraction for specifying behavioural changes to Java components.