Enabling automatic adaptation in systems with under-specified elements.

Authors: Orna Raz, Philip Koopman, and Mary Shaw

Workshop on Self-Healing Systems (WOSS '02). Affiliated with the 10th International Symposium on the Foundations of Software Engineering (FSE-10), Charleston, South Carolina, November 2002.

Download the PDF version.    


Software that people use for everyday purposes is usually not mission critical -- some failures can be tolerated. However, this software should be dependable enough for its intended use, even when users change expectations. Software systems that could adapt to accommodate both failures and changing user expectations could significantly improve the dependability of such everyday software. Many adaptation techniques require specifications of proper behavior (for detecting improper behavior) and problem severity, alternatives and their selection (for mitigation and for repair).

However, the specifications of everyday software are usually incomplete and imprecise. This makes it difficult to determine the dependability of the software and even more difficult to adapt.

We address the problem of detecting anomalies -- deviations from expected behavior -- when specifications of expected behavior are missing. Setting up anomaly detection depends on human participation, yielding predicates that can serve as proxies for missing specifications.

We propose a template mechanism to lower the demands on human attention when setting up detection. We show how this mechanism may be used in our framework for enhancing dynamic data feeds with automatic adaptation. We discuss how the same mechanism may be used in repair. Our emphasis is on detecting semantic anomalies: cases in which the data feed is responsive and delivers well-formed results, but these results are unreasonable.


Brought to you by Composable Software Systems Research Group in the School of Computer Science at Carnegie Mellon University.

[Last modified 01-OCT-02. Mail suggestions to the Maintainer.]