As software systems today increasingly operate in changing and complex environments, they are expected to dynamically adapt to the changing environments sometimes with multiple coexisting adaptation goals. In this paper, an adaptation framework to facilitate adaptation with multiple concerns by using reusable and composable adaptation modules is proposed. Rather than using one-size-fits-all approach, in this framework, system global adaptation behavior is generated by contextually fusing adaptation plans from multiple adaptation modules. In order to handle possible conflicts from multiple adaptation plans, supports for conflict detection and resolution are provided. Following the framework design principles, a supporting middleware is implemented based on the service-oriented component model. Adaptation behaviors are realized as individually deployable adaptation components. A strategy called normalized context matching degree is proposed to rate and select applicable adaptation components. Possible conflicts in dealing with multiple adaptation concerns are resolved by using the semantics of actuators and context conditions. This middleware is also designed to be readily reconfigurable to support new features. Case studies and experiment results show that our framework exhibits significant advantage over traditional approaches in light of flexibility and reusability of the adaptation modules, with little complexity and performance overhead. Copyright © 2012 John Wiley & Sons, Ltd.