Report ID
1997-20
Report Authors
Ralph Keller and Urs Hï½lzle
Report Date
Abstract
Binary component adaptation (BCA) allows components to be adapted and evolvedin binary form and on-the-fly (during program loading). BCA rewrites componentbinaries before (or while) they are loaded, 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 describe our implementation of BCA for Java and demonstrate itsusefulness by showing how it can solve a number of important integration andevolution problems. Even though our current implementation was designed foreasy integration with Sun\'s JDK 1.1 VM rather than for ultimate speed,measurements show that the load-time overhead introduced by BCA is small, inthe range of one or two seconds. With its flexibility, relative simpleimplementation, and low overhead, binary component adaptation couldsignificantly improve the reusability of Java components.
Document
1997-20.ps276.56 KB