GGrantIndex
← Search

SHF: SMALL: Evolution of Self-adaptive Systems using Stochastic Search

$550,825FY2016CSENSF

Carnegie Mellon University, Pittsburgh PA

Investigators

Abstract

Software systems are becoming more ubiquitous and critical to the functioning of our lives. An increasingly important requirement is to maintain high availability of these systems even in the face of changing requirements, faults, and resources. To address that concern, system developers today incorporate hand-written run-time adaptation strategies to automatically keep a system functioning effectively. However, as software systems grow in both complexity and ubiquity, and as the rate of technological change continues to increase, manual approaches cannot keep up. We must instead treat the evolution of adaptation strategies as a first-order concern. This research develops new mechanisms to automatically adapt and evolve the adaptation strategies themselves. Our high-level approach is to reuse previous domain or expert knowledge to inform the construction of flexible strategies, able to adapt to unanticipated changes and to various potential dimensions of system or environmental change. Future-generation software systems will need to automatically optimize for multiple interacting, difficult-to-measure, and evolving qualities, properties, and priorities. Existing work provides methods for constructing complex software systems that can adapt to the changing of certain circumstances such as changing environmental conditions, infrastructure availability, or user demands, while continuing to provide service at required quality levels. Our motivating insight is that stochastic search methods are especially promising for self-adaptive software systems, and in particular for tackling the evolution of self-adaptation strategies, as evidenced in part by recent work that scales such techniques to complex source-level software problems. This research develops a principled foundation for the evolution of adaptation strategies in the self-adaptive domain, using stochastic search. The resulting family of techniques reuses, recombines, and otherwise builds upon previous knowledge about a given system to adapt to four major potential change dimensions: (1) the system's architecture and deployment; (2) the tactics that can be deployed in an adaptation scenario, including mechanisms to choose between them and information regarding their applicability, costs, effects, success likelihood, etc.; (3) the system's quality goals, and their relative priorities; and (4) the environmental assumptions that control the context in which the system is deployed. The unifying factor in each of these strategies is the existence of previous domain or expert knowledge that can be leveraged for evolving adaptive strategies moving forward.

View original record on NSF Award Search →