@article{fdi:010069995, title = {{E}nd-user abstractions for meta-control : reifying the reflectogram}, author = {{P}apoulias, {N}ikolaos and {D}enker, {M}. and {D}ucasse, {S}. and {F}abresse, {L}.}, editor = {}, language = {{ENG}}, abstract = {{R}eflective facilities in {OO} languages are used both for implementing language extensions (such as {AOP} frameworks) and for supporting new programming tools and methodologies (such as object-centric debugging and message-based profiling). {Y}et controlling the runtime 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. {I}n this paper we present five dimensions of meta-level control from related literature that try to remedy these problems. {T}hese dimensions are namely: temporal and spatial control, placement control, level control and identity control. {W}e then discuss how these dimensions interact with language semantics in class-based {OO} languages in terms of: scoping, inheritance and first-class entities. {W}e argue that the reification of the descriptive notion of reflectogram can unify the control of meta-level execution in all these five dimensions while expressing properly the underlying language semantics. {W}e present an extended model for the reification of the reflectogram based on our additional analysis and validate our approach through a new prototype implementation that relies on byte-code instrumentation. {F}inally, we illustrate our approach through a case study on runtime tracing.}, keywords = {{R}eflection ; {I}ntercession ; {R}eflectogram ; {E}xplicit control}, booktitle = {}, journal = {{S}cience of {C}omputer {P}rogramming}, volume = {140}, numero = {}, pages = {2--16}, ISSN = {0167-6423}, year = {2017}, DOI = {10.1016/j.scico.2016.12.002}, URL = {https://www.documentation.ird.fr/hor/fdi:010069995}, }