Type-Safe Delegation for Run-Time Component Adaptation
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Hi-index | 0.00 |
Object-oriented components are hard to integrate if developed independently of each other, and difficult to evolve without affecting existing clients, particularly with widely distributed components that have thousands of reusers. We propose binary component adaptation (BCA), a new solution that allows components to be adapted and evolved in binary form and on-the-fly (during program load ing). Binary component adaptation rewrites component binaries before (or while) they are loaded and is significantly more flexible than previous approaches. Also, BCA requires no source code access and guarantees release-to-release compatibility. That is, an adaptation is guaranteed to be compatible with a new binary release of the component as long as the new release itself is compatible with clients compiled using the earlier release. We show how binary component adaptation can solve a number of important integration and evolution problems and discuss how it can be implemented for JVM class files (e.g., Java programs). We believe that binary component adaptation could significantly improve the integration and evolution of software components, especially in a relatively uncoordinated and fast-evolving environment such as the Internet.