Unanticipated partial behavioral reflection: Adapting applications at runtime

  • Authors:
  • David Röthlisberger;Marcus Denker;Éric Tanter

  • Affiliations:
  • Software Composition Group, IAM-Universität Bern, Switzerland;Software Composition Group, IAM-Universität Bern, Switzerland;Center for Web Research, DCC, University of Chile, Santiago, Chile

  • Venue:
  • Computer Languages, Systems and Structures
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dynamic, unanticipated adaptation of running systems is of interest in a variety of situations, ranging from functional upgrades to on-the-fly debugging or monitoring of critical applications. In this paper we study a particular form of computational reflection, called unanticipated partial behavioral reflection (UPBR), which is particularly well suited for unanticipated adaptation of real-world systems. Our proposal combines the dynamicity of unanticipated reflection, i.e., reflection that does not require preparation of the code of any sort, and the selectivity and efficiency of partial behavioral reflection (PBR). First, we propose unanticipated partial behavioral reflection which enables the developer to precisely select the required reifications, to flexibly engineer the metalevel and to introduce the metabehavior dynamically. Second, we present a system supporting unanticipated partial behavioral reflection in Squeak Smalltalk, called GEPPETTO, and illustrate its use with a concrete example of a web application. Benchmarks validate the applicability of our proposal as an extension to the standard reflective abilities of Smalltalk.