Partial behavioral reflection: spatial and temporal selection of reification

  • Authors:
  • Éric Tanter;Jacques Noyé;Denis Caromel;Pierre Cointe

  • Affiliations:
  • University of Chile, Santiago, Chile and École des Mines de Nantes -- INRIA, Nantes, France;Campus Universitaire de Beaulieu, Rennes, France and École des Mines de Nantes -- INRIA, Nantes, France;Université de Nice -- CNRS -- INRIA -- IUF, Sophia Antipolis, France;Ecole des Mines de Nantes -- INRIA, Nantes, France

  • Venue:
  • OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Behavioral reflection is a powerful approach for adapting the behavior of running applications. In this paper we present and motivate partial behavioral reflection, an approach to more efficient and flexible behavioral reflection. We expose the spatial and temporal dimensions of such reflection, and propose a model of partial behavioral reflection based on the notion of hooksets. In the context of Java, we describe a reflective architecture offering appropriate interfaces for static and dynamic configuration of partial behavioral reflection at various levels, as well as Reflex, an open reflective extension for Java implementing this architecture. Reflex is the first extension that fully supports partial behavioral reflection in a portable manner, and that seamlessly integrates load-time and runtime behavioral reflection. The paper shows preliminary benchmarks and examples supporting the approach. The examples, dealing with the observer pattern and asynchronous communication via transparent futures, also show the interest of partial behavioral reflection as a tool for open dynamic Aspect-Oriented Programming.