Unanticipated Partial Behavioral Reflection: Adapting Applications at Runtime

Röthlisberger, David; Denker, Marcus; Tanter, Eric (2008). Unanticipated Partial Behavioral Reflection: Adapting Applications at Runtime. Computer languages, systems & structures, 34(2-3), pp. 46-65. New York, N.Y.: Pergamon Press 10.1016/j.cl.2007.05.001

Full text not available from this repository. (Request a copy)

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, 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. 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 meta behavior 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.

Item Type: Journal Article (Original Article)
Division/Institute: 08 Faculty of Science > Institute of Computer Science (INF)
UniBE Contributor: Röthlisberger, David and Denker, Marcus
ISSN: 1477-8424
Publisher: Pergamon Press
Language: English
Submitter: Factscience Import
Date Deposited: 04 Oct 2013 15:22
Last Modified: 04 May 2014 23:27
Publisher DOI: 10.1016/j.cl.2007.05.001
Web of Science ID: 000253114000002
URI: http://boris.unibe.ch/id/eprint/37129 (FactScience: 206780)

Actions (login required)

Edit item Edit item
Provide Feedback