This research was supported in part by DARPA contracts/grants N66001-97-C-8522, N66001-97-C-8523, and F19628-95-C-0193, and by Tektronix, Inc. and Intel Corporation.
Self-adaptive software -- Design, Adaptive computing systems, Self-stabilization (Computer science)
A key feature of tomorrow’s operating systems and runtime environments is their ability to adapt. Current state of the art uses an ad-hoc approach to building adaptive software, resulting in systems that can be complex, unpredictable and brittle. We advocate a modular and methodical approach for building adaptive system software based on feedback control. The use of feedback allows a system to automatically adapt to dynamically varying environments and loads, and allows the system designer to utilize the substantial body of knowledge in other engineering disciplines for building adaptive systems. We have developed a toolkit called SWiFT that embodies this approach and helps system designers construct, analyze and visualize the behavior of their system. SWiFT provides a framework for composing simple feedback mechanisms that operate within limited domains, and for dynamically reconfiguring them in response to drastic changes in the environment. The result is a system that is efficient and predictable across a wide range of operating conditions. We describe three SWiFT applications to demonstrate the feasibility of this technology.
Goel, Ashvin, David Steere, Calton Pu, and Jonathan Walpole. Adaptive resource management via modular feedback control. Tech. Rep. 99-03, Oregon Graduate Institute, Computer Science and Engineering, 1999.