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 context-aware. 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. |
Year | DOI | Venue |
---|---|---|
2008 | 10.1007/978-3-540-69824-1_13 | Lecture Notes in Business Information Processing |
Field | DocType | Volume |
Virtual machine,Computer science,Knowledge-based systems,Theoretical computer science,First class,Core language,Infinite loop,Recursion,Debugging | Conference | 11 |
ISSN | Citations | PageRank |
1865-1348 | 13 | 0.67 |
References | Authors | |
22 | 3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Marcus Denker | 1 | 285 | 23.94 |
Mathieu Suen | 2 | 45 | 2.07 |
Stéphane Ducasse | 3 | 3418 | 243.15 |