Abstract

Recently, many researchers have focused on designing generic and reusable middlewares to overcome the complexity in building adaptive systems. There is a general agreement that the openness provided by component-based approaches coupled with reflection mechanisms is the minimum prerequisites for supporting dynamic reconfigurations. However, this is not sufficient to implement the heart of the adaptation loop namely the decision making on the required reconfiguration that adapts the system in a given context. In this regard, this paper proposes a planning framework that subsumes and automates the adaptation decision-making in reflective component-based adaptive systems. The salient feature of this framework is to model the variability of the adaptive system as a set of variation points at which alternative component compositions and implementations can be selected to form an application configuration. The selection of a feasible configuration in a given context is based on the concept of component wise utility functions that estimates the user benefit of including a specific implementation alternative at a variation point in the composition. We show that the selection problem can be modelled as a multi constraint shortest path that can be found in polynomial time. Our approach is validated through a real world example implementing adaptive scenarios in the domain of mobile computing.