• No results found

This section reviews the main contributions of the work described in this thesis. The se- quence in which the following sections are presented is based on the order they appeared in this thesis and it does not imply any ranking of importance.

C1.

The Problem of Uncoordinated Adaptation

Contribution C1: Identification of the limitations of existing systems in supporting

coordinated adaptation, reconfiguration and user involvement. Identification of the design characteristics of these systems that lead to these limitations: coupling of adaptation control with either the adaptive method or the monitoring entity.

This thesis examined the design characteristics of existing adaptive and context- aware applications with respect to the level of support for coordinated adaptation. This investigation was conducted by:

1. A criteria-based survey of existing adaptive and context-aware application. 2. An analysis by example of issues concerning coordination, conflict resolution and

3. An analysis of the design approach followed by existing applications and the po- tential problems imposed by their design approach.

Based on this investigation this thesis provided the following results:

R1 Showed that existing systems perform poorly in terms of support for coordinated adaptation, conflict resolution and user involvement (Chapter 2 and 3).

R2 Identified key architectural properties of existing systems that lead to limited sup- port for coordination. In particular, the coupling of adaptation policies with either the adaptation mechanisms or the monitoring entities does not allow coordination and extensibility. Moreover, acknowledging that application developers cannot have knowledge about the configuration of the end system, coordination can only be performed by allowing the reconfiguration of the adaptive behaviour with the involvement of the end user. Finally this thesis identifies the lack of consider- ation for the user requirements by existing systems with respect to the adaptive behaviour of the applications (Chapter 3).

R3 Identified the common characteristics between traditional, resource-driven adap- tation and a class of context-aware applications concerned with adaptation trig- gered by changing context. This thesis argued that a common adaptation support approach can be used for both classes of applications (Chapter 1).

R4 Identified the importance of interdependencies between adaptive applications and in particular their adaptive actions. This thesis described that lack of consider- ation for such interdependencies can lead to certain undesirable effects such as conflicts, instabilities, etc.

The aforementioned results concerning the shortcomings of existing systems have been published in [Efstratiou00]. These results have been cited by a number of re- searchers [Loke02, Blair01].

C2.

An Architecture for Supporting Coordinated Adaptation

Contribution C2: Specification of design requirements for supporting coordinated

and implementation, externalisation of applications’ adaptation interface and modi- fication of the adaptation control mechanism. Presentation of an overall architecture for coordinated adaptation based on these design requirements.

This thesis presented a set of design requirement for future platforms supporting context-aware adaptive applications. Moreover, this thesis prosed an overall architecture supporting coordinated adaptation derived from the presented requirements. In more detail, the results concerning this architecture are:

R5 This thesis presented a set of design requirements for supporting coordinated adaptation based on the analysis of the limitations of existing systems. In par- ticular, future system designs should be based on the decoupling of adaptation policies and adaptation mechanisms and the externalisation of the application’s adaptation interfaces. This particular requirement has been proposed in the past in the context of distributed computing (e.g. [Marzullo91]). This thesis transfers this design requirement to the domain of adaptive and context-aware systems. Moreover, the requirement for modification of the adaptation control entity with- out the need for re-implementation allows the design of systems where the user can actively specify how applications should behave (Chapter 3).

R6 This thesis presented the design of an overall architecture for a platform that sup- ports coordinated adaptation. The design is derived from the aforementioned set of requirements. This design does not make any assumptions about the level of distribution of the system (Chapter 4).

R7 This thesis explored the issues of distribution in the design of a platform support- ing coordinated adaptation. Possible technologies for realising both distributed and non-distributed configurations of the platform were presented (Chapter 5).

The set of requirements and the design of this platform has been published in [Efstratiou01, Efstratiou02a]. These publications have influenced to some extent the work of a number of researchers in the wider area of mobile and adaptive systems [Indulska03, Popovici02, Rakotonirainy01, Yuan04, Riva03, Costa03]

C3.

A Policy Language Supporting Temporal Relationships

Contribution C3: Specification of a new policy language derived from the Event

Calculus logic programming formalism. This new language allows the specification of policies based on temporal relationships between events and entities that express duration.

This thesis presented the definition of a policy language that was designed in order to support the specification of policy rules where temporal relationships between events are considered important. The Event Calculus Policy Language was derived from the semantics of the Event Calculus logic programming formalism. The policy rules spec- ified in this language include conditions where the occurrence of events and the state of fluents is expressed through Event Calculus predicates. The detailed results of this thesis concerning the Event Calculus policy language are:

R8 This thesis identified the limitations of existing policy languages that follow the event-condition-action model for the support of conditions where the temporal relationships between multiple events is considered important. Specifically, this thesis acknowledges that the particular policy specification model is not intended for the expression of policy rules with temporal relationships between events. This thesis identifies as a limitation of this model the lack of support for entities that express duration. Such entities are considered important in a context-aware environment where situations like “user in their office” are entities that express duration (Chapter 4).

R9 This thesis identified the Event Calculus as a candidate starting point for a policy language that allows the specification of temporal relationships between events. Specifically, this thesis considered the use of a programming formalism for the description of event-based systems as a candidate starting point for the defini- tion of a policy language that supports the specification of temporal relationships between events. The Event Calculus was chosen as one formalism that satisfies these requirements and offers a comprehensive vocabulary for the specification of event-based conditions (Chapter 4).

R10 This thesis demonstrated the expressiveness of this language for specifying a wide range of adaptation policies. This demonstration included a set of examples of adaptation policy rules for adaptive and context-aware applications (Chapter 4).

R11 This thesis identified this policy language as a possible candidate control mecha- nism that can be applied to the wider area of ubiquitous computing. The demon- stration of this policy language revealed, in a certain extent, that this language is flexible enough to be applied to other domains of ubiquitous computing, such as home automation, intelligent environments, etc.(Section 7.3.3).

The specification of the Event Calculus Policy Language has been published in [Efstratiou02b] and cited in, for example, [Bandara03, Reiff-Marganiec04].

C4.

Feasibility of Coordinated Adaptation

Contribution C4: A prototype implementation of the architecture supporting coordi-

nated adaptation. Demonstration of the porototype’s ability to support coordination, reconfiguration, conflict resolution and user involvement.

This thesis demonstrated the feasibility of coordinated adaptation in a non-distributed adaptive system. This demonstration consisted of the creation and evaluation of a pro- totype based an the architectural design for supporting coordinated adaptation. The detailed results concerning the feasibility of coordinated adaptation are:

R12 This thesis presented a prototype implementation of the architecture for support- ing coordinated adaptation. This prototype was implemented for a non-distributed configuration where multiple applications running on the same host are controlled by a centralised platform (Chapter 5).

R13 The thesis demonstrated by example that application coordination can be achieved with the support of the prototype platform. This demonstration revealed that co- ordinated adaptation can improve the support for user needs that relate to the behaviour of multiple applications and the coordination of their actions (Chapter 6).

R14 The performance evaluation of this prototype showed that the use of a platform controlling adaptation based of adaptation policies can offer the benefits of co- ordinated adaptation with relatively small overhead. Moreover, this thesis has demonstrated that the performance of this prototype does not degrade when the number of applications, the number of policy rules and the complexity of the rules increase (Chapter 6).

R15 As part of the evaluation process this thesis demonstrated the feasibility for aug- menting common applications with an API for coordinated adaptation. Although this thesis does not specify a uniform approach for augmenting existing applica- tion it does present example applications that have been extended in order to allow coordinated adaptation (Chapter 6).

The results of the evaluation of this prototype implementation have been submitted for publication.