Welcome!
To use the personalized features of this site, please log in or register.
If you have forgotten your username or password, we can help.
My Menu
Saved Items

Wrappers to the rescue

John BrantContact Information, Brian FooteContact Information, Ralph E. JohnsonContact Information and Donald RobertsContact Information

(1)  Department of Computer Science, University of Illinois at Urbana-Champaign, 61801 Urbana, IL
Abstract
Wrappers are mechanisms for introducing new behavior that is executed before and/or after, and perhaps even in lieu of, an existing method. This paper examines several ways to implement wrappers in Smalltalk, and compares their performance. Smalltalk programmers often use Smalltalk's lookup failure mechanism to customize method lookup. Our focus is different. Rather than changing the method lookup process, we modify the method objects that the lookup process returns. We call these objects method wrappers. We have used method wrappers to construct several program analysis tools: a coverage tool, a class collaboration tool, and an interaction diagramming tool. We also show how we used method wrappers to construct several extensions to Smalltalk: synchronized methods, assertions, and multimethods. Wrappers are relatively easy to build in Smalltalk because it was designed with reflective facilities that allow programmers to intervene in the lookup process. Other languages differ in the degree to which they can accommodate change. Our experience testifies to the value, power, and utility of openness.

Contact Information John Brant
Email: brant@cs.uiuc.edu

Contact Information Brian Foote
Email: foote@cs.uiuc.edu

Contact Information Ralph E. Johnson
Email: Johnson@cs.uiuc.edu

Contact Information Donald Roberts
Email: droberts@cs.uiuc.edu
Fulltext Preview (Small, Large)
Image of the first page of the fulltext

References secured to subscribers.



Export this chapter
Export this chapter as RIS | Text
 
Referenced by
2 newer articles

  1. Hirschfeld, Robert (2006) Dynamic service adaptation. Software Practice and Experience 36(11-12)
    [CrossRef]
  2. Greevy, Orla (2006) Analyzing software evolution through feature views. Journal of Software Maintenance and Evolution Research and Practice 18(6)
    [CrossRef]
Remote Address: 38.107.191.105 • Server: mpweb21
HTTP User Agent: CCBot/1.0 (+http://www.commoncrawl.org/bot.html)