Coordinated adaptation for adaptive context-aware applications
The ability to adapt to change is critical to both mobile and context-aware applications. This thesis argues that providing sufﬁcient support for adaptive context-aware applications requires support for coordinated adaptation. Speciﬁcally, the main argument of this thesis is that coordinated adaptation requires applications to delegate adaptation control to an entity that can receive state information from multiple applications and trigger adaptation in multiple applications. Furthermore, coordination requires support for reconﬁguration of the adaptive behaviour and user involvement. Failure to support coordinated adaptation is shown to lead to poor system and application performance and insufﬁcient support for user requirements. An investigation of the existing state-of-the-art in the areas of adaptive and context- aware systems and an analysis of the limitations of existing systems leads to the establishment of a set of design requirements for the support of coordinated adaptation. Speciﬁcally, adaptation control should be decoupled from the mechanisms implementing the adaptive behaviour of the applications, applications should externalise both state information and the adaptive mechanisms they support and the adaptation control mechanism should allow modiﬁcations without the need for re-implementation of either the application or the support platform. This thesis presents the design of a platform derived from the aforementioned re- quirements. This platform utilises a policy based mechanism for controlling adaptation. Based on the particular requirements of adaptive context-aware applications a new pol- icy language is deﬁned derived from Kowalsky’s Event Calculus logic programming formalism. This policy language allows the speciﬁcation of policy rules where condi- tions are deﬁned through the expression of temporal relationships between events and entities that represent duration (i.e. ﬂuents). A prototype implementation of this design allowed the evaluation of the features offered by this platform. This evaluation reveals that the platform can support coordinated adaptation with acceptable performance cost.