An Infrastructure for Adaptive System Development

Lead Research Organisation: University of Manchester
Department Name: Computer Science


Adaptive systems can modify their own behaviour at runtime. They have the potential to:1. Improve performance or cost, by tailoring the configuration of a system at runtime so as to match the varying requirements of the system to the changing pool of resources that may be available to support those requirements.2. Reduce the costs of installing, configuring and maintaining systems, by enabling systems to adjust their own configuration characteristics, based on the quality of service required, the actual rather than predicted load on the system, and the actual rather than predicted behaviour of the application in a given environment.Developing adaptive systems is generally a non-trivial task, with a need to design mechanisms for:(i) monitoring the application and the environment(ii) assessing the appropriateness of the current configuration to identify when adaptation may be required(iii) identifying which form of adaptation is likely to be most suitable in a given context(iv) carrying out the adaptation while the system is runningTherefore, the development of effective adaptive systems can be seen as being both important and difficult; the current state of the art tends to involve bespoke designs for the adaptivity of specific systems in specific contexts.As a result, this project will investigate how the development of adaptive systems can be made more systematic and cost-effective, in particular through the design and development of declarative representations of adaptive behaviour, and the automatic generation of implementations from those representations.In order to achieve this, the project will:1) Design generic but extensible interfaces that support the monitoring of distributed components, the assessment of the evolving runtime behaviour of these components, and the selection of responses that are deemed likely to be beneficial.2) Design or adopt languages that enable declarative description of the functionalities of the monitoring, assessment and response components.3) Design higher-level descriptions of adaptive behaviour that can be mapped to the components from 1 and the languages from 2 for implementation.4) Implement the functionalities of 1,2 and 3 in a service-based architecture.5) Evaluate the monitoring-assessment-response framework and the higher-level descriptions through their deployment to support adaptive query processing and adaptive workflow enactment.The project thus explores two principal design activities - the construction of the monitoring-assessment-response framework, and the the development of higher-level descriptions of adaptive behaviour that can be mapped into that framework.The resulting framework will be evaluated in terms of efficiency of construction and effectiveness in use by applying it to two forms of distributed computation that are key to e-science : Distributed Query Processing and Workflow.


10 25 50

publication icon
Lee K (2009) Adaptive workflow processing and execution in Pegasus in Concurrency and Computation: Practice and Experience

publication icon
N Paton (2009) Optimizing Utility in Cloud Computing through Autonomic Workload Execution in IEEE Data Engineering Bulletin