From Dalang to Kava - The Evolution of a Reflective Java Extension

  • Authors:
  • Ian Welch;Robert J. Stroud

  • Affiliations:
  • -;-

  • Venue:
  • Reflection '99 Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.