ScienceDirect® Home Skip Main Navigation Links
You have guest access to ScienceDirect. Find out more.
 
Home
Browse
My Settings
Alerts
Help
 Quick Search
 Search tips (Opens new window)
    Clear all fields    
Computer Languages, Systems & Structures
Volume 34, Issues 2-3, July-October 2008, Pages 46-65
Best Papers 2006 International Smalltalk Conference
 
Font Size: Decrease Font Size  Increase Font Size
 Abstract - selected
Article
Purchase PDF (245 K)

 
 
 
Related Articles in ScienceDirect
View More Related Articles
 
View Record in Scopus
 
doi:10.1016/j.cl.2007.05.001    How to Cite or Link Using DOI (Opens New Window)
Copyright © 2007 Elsevier Ltd All rights reserved.

Unanticipated partial behavioral reflection: Adapting applications at runtimestar, open

David Röthlisbergera, E-mail The Corresponding Author, Marcus Denkera, Corresponding Author Contact Information, E-mail The Corresponding Author and Éric Tanterb, E-mail The Corresponding Author

aSoftware Composition Group, IAM—Universität Bern, Switzerland bCenter for Web Research, DCC, University of Chile, Santiago, Chile

Received 30 November 2006; 
accepted 1 May 2007. 
Available online 13 May 2007.

Purchase the full-text article



References and further reading may be available for this article. To view references and further reading you must purchase this article.

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.

Keywords: Reflection; Metaprogramming; Metaobject protocol; Smalltalk

Article Outline

1. Introduction
2. Running example
3. Related work and motivation
3.1. Reflection in Smalltalk-80
3.2. Extended behavioral reflection in Smalltalk: MetaclassTalk
3.3. Unanticipated behavioral reflection: Iguana/J
3.4. Partial behavioral reflection: Reflex
3.5. Motivation
4. Unanticipated partial behavioral reflection for Smalltalk
4.1. Partial behavioral reflection in a nutshell
4.2. Bytecode manipulation for unanticipated behavioral reflection in Smalltalk
5. Solving the running example with Geppetto
5.1. Profiling MOP
5.2. Caching MOP
5.3. Persistence MOP
6. Geppetto design
7. Implementation issues
7.1. Adapting method binaries
7.2. Structure of a hook
7.3. Hook composition
8. Evaluation
8.1. Micro-benchmarks
8.2. Benchmarking the profiler
9. Future work
10. Conclusion
Acknowledgements
References







Computer Languages, Systems & Structures
Volume 34, Issues 2-3, July-October 2008, Pages 46-65
Best Papers 2006 International Smalltalk Conference
 
Home
Browse
My Settings
Alerts
Help
Elsevier.com (Opens new window)
About ScienceDirect  |  Contact Us  |  Information for Advertisers  |  Terms & Conditions  |  Privacy Policy
Copyright © 2008 Elsevier B.V. All rights reserved. ScienceDirect® is a registered trademark of Elsevier B.V.