Exploiting Architectural Style for Self-repairing Systems

Shang-Wen Cheng, David Garlan, Bradley Schmerl, Joćo Pedro Sousa, Bridget Spitznagel, and Peter Steenkiste

Submitted for publication, September, 2001.

Online links: Postscript PDF

An increasingly important requirement for software systems is the capability to adapt at run time in order to accommodate varying resources, system errors, and changing requirements. For such self-repairing systems, one of the hard problems is determining when a change is needed, and knowing what kind of adaptation is required. In this paper we describe a partial solution in which stylized architectural design models are maintained at run time as a vehicle for automatically monitoring system behavior, for detecting when that behavior falls outside of acceptable ranges, and for deciding on a high-level repair strategy. The main innovative feature of the approach is the coupling of architectural models with architectural styles that both exposes specific properties of interest and provides an analytic basis for detecting anomalies and suggesting verifiably sound repair strategies. We illustrate the approach for performance-oriented adaptation of web-based client-server applications, whose soundness can be determined through queuing theoretic analysis of the corresponding architectures.
Dynamic adaptation, software architecture, performance analysis

For further information, please visit the home pages of the ABLE research project and Carnegie Mellon University's Composable Systems Group.

Last modified: 10/15/2001. For comments and problems, contact able-help@cs.cmu.edu.