• No se han encontrado resultados

PARTE I: Marco teórico y ámbito de estudio

W ALTER G ROPIUS ,

In order to identify in more detail what are the actual limitation of current approaches, it is first necessary to examine the fundamental mechanisms supporting adaptation.

The theoretical model that has been proposed for describing adaptive systems is based on feedback control theory [Cen97, Meng00, Kokar99]. The feedback control theory was initially used in engineering for developing hardware control systems. Fig- ure 2.1 shows a typical feedback control system. The controller helps the system main- tain a reference value of a control variable, while reducing the system’s sensitivity to disturbance. The controller interacts with the system through monitors and actuators. A monitor measures the controlled variable, and is the source of the feedback. The

Monitor Actuator Control

Figure 2.2: Basic adaptation cycle

controller’s output causes the actuator to adapt the system’s behaviour in response to disturbance, or changes in the system’s environment.

In the analysis presented here we propose a simplified closed loop system as the basic abstraction of an adaptive system, borrowing from the design of the feedback control systems. This abstraction includes three distinct functional elements (Figure 2.2):

Monitor: The first element performs the monitoring of a specific source of infor-

mation that is ‘interesting’ for the adaptive mechanism. This information source could be, for example, the availability of a specific resource such as power or a contextual trigger such as the system’s physical location.

Controller: The second element is the controlling mechanism that takes decisions

concerning the adaptive reaction of the system. This decision is based on the information received by the monitor. This controller could, for example, state that when the power supply drops below a specific threshold then a reaction is necessary.

Actuator: The third element is the actual adaptation mechanism that performs the

specific adaptive action as directed by the controller. For example, an actuator might reduce the network bandwidth consumed by an application. Note that this reaction may in turn have an impact on the initial source of information, i.e. to change the rate that the available power drops. This last link between the actuator and the initial resource being monitored does not necessarily exist in all systems. Most context-aware systems for example do not affect the initial resource that triggered their change of behaviour.

This theoretical model allows the description of abstract concepts such as “extensi- bility”, “reconfigurability”, etc. as explicit design characteristics that adaptive systems should satisfy. In the next section these abstract concepts are used as the bases for estab- lishing a set of criteria for the analysis of existing adaptive and context-aware systems. These criteria are defined in relation to the abstract model of adaptation discussed.

2.3.2

Assessment Criteria

Before analysing the design characteristics of current adaptive and context-aware sys- tems, it is necessary to establish a set of criteria that will guide this investigation. These criteria will allow us to establish some general principles about how these systems op- erate focusing on the issues that are of importance for this work. These principles will be the basis for the analysis presented in chapter 3.

In this thesis we are concerned with supporting mobile systems that consist of a col- lection of independently developed adaptive context-aware applications. As described in Definition 2, adaptive context-aware applications are applications capable of adapting to a variety of contextual triggers such as the availability of resources, the preferences of the user, or the existence of other applications in the system that may interfere with the application. Considering the focus of this thesis we can clearly identify a number of key characteristics that are of importance for this work:

• Each adaptive application may require information about a wide variety of con- textual attributes that may be used as triggers for adaptation.

• The target environment is a system where multiple adaptive applications will co- exist and possibly interfere with each other.

• The application developer may not be aware of any possible interference or unde- sirable side-effects between applications when designing their own application.

Based on these observations we define a set of criteria that will be used in the as- sessment of the existing mobile adaptive and context-aware systems.

2.3.2.1 Coordination

In an environment with multiple coexisting adaptive context-aware applications it is important to support coordinated adaptation (Chapter 3). Adaptive responses by indi- vidual applications may have contradicting effects or cause instabilities [Efstratiou00]. Coordinated adaptation can overcome conflicting situations and increase overall system stability.

Mapping this statement to the theoretical framework of the basic adaptation cycle (Section 2.3.1) by the term coordination we specify the ability of a controller to trigger actuators that relate to more than one application. In more detail, a coordinated adaptive reaction involves multiple applications triggered to perform particular actions, in con- trast to isolated adaptation where a controller triggers only one application. In practice, this functionality requires adaptation controllers to be able to retrieve information from multiple applications (i.e. have access to multiple monitoring entities) and be able to trigger adaptation on multiple applications (i.e. be able to trigger multiple actuators).

2.3.2.2 Extensibility

As previously described (Chapter 1), the target of this thesis is to provide support for adaptive applications able to adapt to an extensible set of contextual triggers. Current research efforts have already identified certain contextual attributes that can become triggers for adaptation. These include, among others, network QoS [Davies98c], power supply [Flinn99] and physical location [Cheverst00]. However, the possible types of contextual attributes that may trigger adaptive reactions by applications can not be de- fined as a static set of triggers, since future mobile systems should be able to incorporate new adaptation triggers as and when they become regarded as important.

Mapping this statement to the theoretical framework of the basic adaptation cycle, by the term extensibility we specify the ability of a controller to receive input by more than one monitor. Moreover, we consider how possible it is for an existing controller with a given set of monitors to be modified in order to receive input by more, possibly newly created monitors. Most value is given to the ability of system to allow existing applications to extend their behaviour without the need for re-implementation.

2.3.2.3 Reconfigurability

Independently developed adaptive applications are constructed under a set of assump- tions that the developer had to make about the target operating environment. However, in environments where multiple adaptive applications coexist in the same system, it is expected that interdependencies between adaptive reactions of individual applications will lead to undesirable behaviour or even conflicts (Chapter 3 for a detailed discus- sion).

In situations such as these, the ability of the mobile system to allow reconfigura- tion of their adaptive behaviour is vital: under certain conditions applications may be required to modify the default adaptive strategies defined by the developer. Therefore the system should provide the means for modifying the system’s adaptive behaviour.

Mapping this criterion into the theoretical framework, by the term reconfigurability we specify the ability of a controller to allow modification of their behaviour. These modifications may be considered as related to the previously mentioned criteria. In par- ticular, the incorporation of additional monitors and actuators into an existing adaptation cycle may require modifications to the behaviour of the controller.

2.3.2.4 User Involvement

The importance of user involvement in the operation of adaptive systems has often been neglected in current adaptive systems [Efstratiou01]. In a system where adaptive be- haviour may require to be modified, as described in the previous criterion, user involve- ment can allow the user to specify the desirable modification.

According to our theoretical framework, we require the controller to allow the user to inspect its behaviour and potentially modify it according to their requirements. In terms of existing systems we investigate the ability of the system to provide user awareness about its adaptive behaviour and allow the user to modify that behaviour.

The following sections present a survey of existing system supporting adaptation and context-awareness. In particular, this survey includes projects that support adapta- tion following a wide range of design approaches such as, application aware adaptation middleware, mobile agent based middleware, reflective middleware, etc. The context- aware related section focuses on projects that are related to the reactive response of

applications to contextual changes, e.g. location triggered, proximity triggered adapta- tion.

Documento similar