Using metadata transformations to integrate class extensions in an existing class hierarchy

  • Authors:
  • Markus Lumpe

  • Affiliations:
  • Department of Computer Science, Iowa State University, Ames, IA

  • Venue:
  • APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
  • Year:
  • 2006
  • jCT: A Java Code Tomograph

    ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering

Quantified Score

Hi-index 0.00

Visualization

Abstract

Class extensions provide a fine-grained mechanism to define incremental modifications to class-based systems when standard subclassing mechanisms are inappropriate. To control the impact of class extensions, the concept of classboxes has emerged that defines a new module system to restrict the visibility of class extensions to selected clients. However, the existing implementations of the classbox concept rely either on a “classbox-aware” virtual machine, an expensive runtime introspection of the method call stack to build the structure of a classbox, or both. In this paper we present an implementation technique that allows for the structure of a classbox to be constructed at compile-time by means of metadata transformations to rewire the inheritance graph of refined classes. These metadata transformations are language-neutral and more importantly preserve both the semantics of the classbox concept and the integrity of the underlying deployment units. As a result, metadata transformation provides a feasible approach to incorporate the classbox concept into programming environments that use a virtual execution system.