M. Denker, M. Suen, и S. Ducasse. In Proceedings of TOOLS EUROPE 2008, volume 11 of LNBIP, стр. 218--237. (2008)
Аннотация
Abstract. Behavioral reflection is crucial to support for example functional upgrades, on-the-fly debugging, or monitoring critical applications. However the use of reflective features can lead to severe problems due to infinite meta-call recursion even in simple cases. This is especially a problem when reflecting on core language features since there is a high chance that such features are used to implement the reflective behavior itself. In this paper we analyze the problem of infinite meta-object call recursion and solve it by providing a first class representation of meta-level execution: at any point in the execution of a system it can be determined if we are operating on a meta-level or base level so that we can prevent infinite recursion. We present how meta-level execution can be represented by a meta-context and how reflection becomes contextaware. Our solution makes it possible to freely apply behavioral reflection even on system classes: the meta-context brings stability to behavioral reflection. We validate the concept with a robust implementation and we present benchmarks. 1
%0 Conference Paper
%1 DenkerMetaMeta
%A Denker, Marcus
%A Suen, Mathieu
%A Ducasse, Stéphane
%B In Proceedings of TOOLS EUROPE 2008, volume 11 of LNBIP
%D 2008
%K Execution Interpreter Level Me:PhD MetaLevel Model Reflection ReflectiveTower Tower
%P 218--237
%T The Meta in Meta-object Architectures
%U http://dx.doi.org/10.1007/978-3-540-69824-1_13
%X Abstract. Behavioral reflection is crucial to support for example functional upgrades, on-the-fly debugging, or monitoring critical applications. However the use of reflective features can lead to severe problems due to infinite meta-call recursion even in simple cases. This is especially a problem when reflecting on core language features since there is a high chance that such features are used to implement the reflective behavior itself. In this paper we analyze the problem of infinite meta-object call recursion and solve it by providing a first class representation of meta-level execution: at any point in the execution of a system it can be determined if we are operating on a meta-level or base level so that we can prevent infinite recursion. We present how meta-level execution can be represented by a meta-context and how reflection becomes contextaware. Our solution makes it possible to freely apply behavioral reflection even on system classes: the meta-context brings stability to behavioral reflection. We validate the concept with a robust implementation and we present benchmarks. 1
@inproceedings{DenkerMetaMeta,
abstract = {{Abstract. Behavioral reflection is crucial to support for example functional upgrades, on-the-fly debugging, or monitoring critical applications. However the use of reflective features can lead to severe problems due to infinite meta-call recursion even in simple cases. This is especially a problem when reflecting on core language features since there is a high chance that such features are used to implement the reflective behavior itself. In this paper we analyze the problem of infinite meta-object call recursion and solve it by providing a first class representation of meta-level execution: at any point in the execution of a system it can be determined if we are operating on a meta-level or base level so that we can prevent infinite recursion. We present how meta-level execution can be represented by a meta-context and how reflection becomes contextaware. Our solution makes it possible to freely apply behavioral reflection even on system classes: the meta-context brings stability to behavioral reflection. We validate the concept with a robust implementation and we present benchmarks. 1}},
added-at = {2011-08-28T21:16:13.000+0200},
author = {Denker, Marcus and Suen, Mathieu and Ducasse, St\'{e}phane},
biburl = {https://www.bibsonomy.org/bibtex/215335e720a136a55971364ffcfb67cde/gron},
booktitle = {In Proceedings of TOOLS EUROPE 2008, volume 11 of LNBIP},
citeulike-article-id = {7652800},
citeulike-linkout-0 = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.144.9752},
interhash = {27d6fb5b3d998bb0d6a56e37dee15f47},
intrahash = {15335e720a136a55971364ffcfb67cde},
keywords = {Execution Interpreter Level Me:PhD MetaLevel Model Reflection ReflectiveTower Tower},
pages = {218--237},
posted-at = {2010-08-15 15:06:11},
priority = {2},
timestamp = {2011-08-28T21:16:45.000+0200},
title = {The Meta in Meta-object Architectures},
url = {http://dx.doi.org/10.1007/978-3-540-69824-1_13},
year = 2008
}