Skip to Main Content
Adaptive software includes the necessary mechanisms to modify its behavior in order to optimize resources utilization or for software evolution issues. Dynamic adaptation is specially important on environments which resources vary over time, and which applications manage requests from users with different preferences (e.g. language). Building such adaptive software requires applications designers to include the necessary adaptation mechanisms. Moreover, when dealing with distributed applications, designers may want to distribute the adaptation mechanisms themselves. In this paper, we propose a model for dynamic adaptation that clearly separates adaptation from business logic and that can be customized by applications designers in order to satisfy adaptation needs. The model is based on a set of mandatory functionalities that manage basic adaptation operations and an optional functionality that can be used to manage adaptation mechanisms distribution. We have used our adaptation model to build an adaptive data consistency service of an ambient assistive living application.