Because of the increasingly diverse and dynamic environments in which they must operate, modern middleware platforms need to explicitly support modifiability. Modifiability should encompass change that is both static and dynamic; small scale and large scale. Also, the process of modification should be flexible, easy to perform, and consistency-preserving. To address these needs, this paper proposes a generic component-based modifiability approach, and then uses this approach to build a highly-modifiable middleware framework. The modifiability approach provides design support for building component frameworks—i.e., reusable and extensible component architectures that are targeted at specific domains. In the approach, component frameworks build upon a minimal, technology-independent component model, and can be recursively assembled into more complex frameworks. Our middleware framework—an instantiation of our proposed approach—takes the form of a specific assembly of component fra...