Most of the performance benefits derive from the semantics of the policy language used. The rules specified with the Event Calculus Policy Language identify the sequence of events that will lead to an adaptive response. This allows the design of a policy eval- uation engine that can evaluate policy rules progressively as these events take place. Therefore the overhead of evaluating a policy rule is spread over the events taking place. As a result the average overhead per event remains constant. This fact means that the whole platform can offer predictable response time that is not affected by scalability factors such as the number of applications, the number of rules and the complexity of the rules.
6.4
Summary
The evaluation of the prototype adaptation support platform was presented in this chap- ter. The qualitative evaluation investigated the behaviour of the platform in terms of support for coordination, conflict resolution, extensibility and user involvement. Specif- ically, the platform offers the necessary functionality to achieve all four of the aforemen- tioned features. Specific limitations concerning the particular prototype implementation include the limited support for proper tools to assist the user in understanding the be-
The performance evaluation measured the performance of the platform against a set of scalability factors. In particular, the performance of the platform was tested in response to an increasing number of applications, number of rules, rules’ complexity and rules triggered by a single event. The performance measurements showed that the platform can offer predictable response time that is not affected by the aforementioned scalability factors.
Conclusions
Contents
7.1 Overview . . . 163 7.2 Contributions . . . 165 C1. The Problem of Uncoordinated Adaptation . . . 165 C2. An Architecture for Supporting Coordinated Adaptation . . . . 166 C3. A Policy Language Supporting Temporal Relationships . . . 167 C4. Feasibility of Coordinated Adaptation . . . 169 7.3 Future Work . . . 170 7.3.1 Support Conflict Detection . . . 170 7.3.2 Policy Management . . . 171 7.3.3 Application to Ubiquitous Computing . . . 172 7.4 Concluding Remarks . . . 173
7.1
Overview
This thesis presented an investigation of the issues concerning supporting for coordi- nated adaptation for context-aware adaptive applications. The particular problems of conflict resolution, reconfiguration and user involvement were the main motivation for coordinated adaptation. This thesis shows that existing systems fail to provide recon- figurable coordinated adaptation supporting user involvement. It argues that support for coordination requires applications to delegate their adaptation control mechanism to an entity that can retrieve state information from multiple applications and invoke adap- tation actions on multiple applications. Moreover, the adaptation control mechanism should allow modifications by the end user. The design of an architecture and the im- plementation of a prototype illustrate that the aforementioned requirements can actually support coordinated adaptation.
The first chapter of this thesis establishes the target domain of this work. The iden- tification of common characteristics of traditional adaptive applications and context- aware systems concludes with the proposition that a common approach for supporting adaptation is possible for both of these classes of applications. The chapter defines the target of this thesis as the provision of adaptation support for context-aware adaptive applications. Moreover, the issue of dependencies between adaptive behaviour of mul- tiple applications is highlighted and the need for coordination is presented as a prime requirement for supporting multiple co-existing context-aware adaptive applications.
The second chapter consists of an investigation of existing adaptive and context- aware systems. This investigation is focused on the level of support provided by exist- ing systems for coordination, reconfiguration, extensibility and user involvement. The results of this investigation indicate that existing systems offer limited support for co- ordination and furthermore none of the examined systems offers support for all of the targeted characteristics.
The third chapter of this thesis presents an analysis of the possible limitations of current approaches for supporting adaptation. Through a set of theoretical scenarios the shortcomings of existing designs are highlighted. In particular, the approach of coupling adaptation mechanisms and adaptation control and the lack of a mechanism for recon- figuration of the systems behaviour through the involvement of the user are considered as the main reasons for the limited support for coordinated adaptation. The chapter
concludes with a set of design requirements for supporting coordinated adaptation for context-aware adaptive applications. These requirements are to:
• Decouple adaptation policies and adaptation mechanisms.
• Require applications to externalise their adaptation mechanisms.
• Require applications to externalise information about their state or environmental attributes they monitor.
• Provide a mechanism where adaptation control entities can be modified without the need for re-implementation of the applications or the system.
Based on these requirements, the fourth chapter of this thesis presents the design of an architecture for the support of coordinated adaptation. The discussion that leads to this design illustrates how the aforementioned requirements are sufficient for achieving coordinated adaptation. Specifically, coordination is considered the ability of an adap- tation support system to retrieve information from multiple applications and monitoring components and trigger adaptation to multiple applications. The first three of the design requirements allow the design of such a system. Furthermore, the consideration that applications should not be expected to have any knowledge about the characteristics of co-existing applications leads to the conclusion that coordination is not a feature that applications can provide by default. Thus the requirement for reconfiguration and the involvement of the user allows the design of a platform where coordinated behaviour can be specified based on the configuration of the end system. The design of the plat- form presented in chapter 4 consists of a policy based adaptation control mechanism. In order to satisfy the adaptive requirements of context-aware adaptive applications a new policy language is defined derived from the Event Calculus logic programming formal- ism. The main feature of the Event Calculus Policy Language is the support for policy rules where the condition body can include temporal relationships between events and fluents (i.e. entities that express duration).
Following the design of the platform a prototype implementation is presented in chapter 5. The prototype is a Microsoft Windows application that can control the adap- tive behaviour of applications running on the same host. The chapter includes the imple- mentation details of the prototype as well as a detailed discussion about the evaluation engine for the Event Calculus Policy Language.
The sixth chapter of this thesis presents an evaluation of the prototype. A qualitative evaluation considers the level of support for features such as coordination, conflict reso- lution, extensibility and user involvement. The evaluation concludes that this prototype does offer support for all these characteristics. Possible limitations of the prototype are identified (i.e. limited support for user-friendly interaction with the platform, re- quirement for a high level policy management mechanism) however these limitation are related to the particular implementation. The performance evaluation considers the per- formance characteristics of the particular prototype adaptation support platform. The performance measurements conducted reveal that the use of the prototype for control- ling adaptation on a single host imposes limited performance cost and the prototype scales well in terms of number of applications controlled, number of policy rules and complexity of policy rules.