Report ID
1997-15
Report Authors
Ralph Keller and Urs Hï½lzle
Report Date
Abstract
Object-oriented components are hard to integrate if developed independently ofeach other, and difficult to evolve without affecting existing clients,particularly with widely distributed components that have thousands ofreusers. We propose binary component adaptation (BCA), a new solution thatallows components to be adapted and evolved in binary form and on-the-fly(during program load ing). Binary component adaptation rewrites componentbinaries before (or while) they are loaded and is significantly more flexiblethan previous approaches. Also, BCA requires no source code access andguarantees release-to-release compatibility. That is, an adaptation isguaranteed to be compatible with a new binary release of the component as longas the new release itself is compatible with clients compiled using the earlierrelease. We show how binary component adaptation can solve a number ofimportant integration and evolution problems and discuss how it can beimplemented for JVM class files (e.g., Java programs). We believe that binarycomponent adaptation could significantly improve the integration and evolutionof software components, especially in a relatively uncoordinated andfast-evolving environment such as the Internet.
Document
1997-15.ps208.78 KB