Reifying the Reflectogram
Abstract
Reflective facilities in OO languages are used both for implementing language extensions (such as AOP frameworks) and for support-ing new programming tools and methodologies (such as object-centric debugging and message-based profiling). Yet controlling the run-time behavior of these reflective facilities introduces several challenges, such as computational overhead, the possibility of meta-recursion and an unclean separation of concerns between base and meta-level. In this paper we present five dimensions of meta-level control from related literature that try to remedy these problems. These dimensions are namely: temporal and spatial control, place-ment control, level control and identity control. We argue that the reification of the descriptive notion of the reflectogram, can unify the control of meta-level execution in all these five dimensions. We present a model for the reification of the reflectogram and validate our approach through a prototype implementation in the Pharo pro-gramming environment. Finally we detail a case-study on run-time tracing illustrating our approach.
Origin | Files produced by the author(s) |
---|
Loading...