Title
Unanticipated partial behavioral reflection: Adapting applications at runtime
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.
Year
DOI
Venue
2008
10.1016/j.cl.2007.05.001
Computer Languages, Systems & Structures
Keywords
Field
DocType
reflection,computational reflection,unanticipated partial behavioral reflection,squeak smalltalk,unanticipated reflection,metabehavior dynamically,smalltalk,functional upgrade,metaobject protocol,partial behavioral reflection,metaprogramming,adapting application,unanticipated adaptation,critical application,concrete example
Metaprogramming,Programming language,Software engineering,Computer science,sort,Smalltalk,Knowledge-based systems,Real-time computing,Computational reflection,Squeak,Web application,Debugging
Journal
Volume
Issue
ISSN
34
2-3
Computer Languages, Systems & Structures
Citations 
PageRank 
References 
19
0.93
16
Authors
3
Name
Order
Citations
PageRank
David Röthlisberger121312.73
Marcus Denker228523.94
Éric Tanter377858.15