Information Technology Reference
In-Depth Information
Separation of
concerns
Computational
reflection
Component-
based design
Compositional adaption
Middleware
Figure 3.4.
Main technologies supporting compositional adap-
tion.
Parameter adaption modifies program variables that are used to determine be-
haviour, for example by adjusting a retry count depending on current net-
work conditions. This type of adaption is severely limited as it does not allow
new algorithms and software components to be added to an application after
initial design and development.
Compositional adaption allows an application to replace parts of a program's com-
ponents with another to improve the program's fit into the current operating
environment, for example by adding new behaviour to a deployed system.
While this is much more flexible than parameter adaption, incorrect use may
result in a program that is dicult to test and debug.
McKinley et al. [69] define three main technologies, illustrated in Figure 3.4 4 ,that
can be used to support compositional adaption; separation of concerns , computa-
tional reflection ,and component-based design .
There are two main techniques used to implement compositional adaption in
application code. The first is to use a language, such as CLOS or Python, that
directly supports dynamic recomposition, and the second is to weave the adaptive
code into the functional code using aspect-oriented techniques [69].
For the purposes of this discussion we concentrate on using the AOP tech-
nique to develop adaptive software and present relevant implementations of this
approach.
4 This diagram is reproduced from McKinley et al. [69].
Search WWH ::




Custom Search