Autonomic Computing and Networking

pp 31-55


Software Architecture-Based Self-Adaptation

  • David GarlanAffiliated withCarnegie Mellon University Email author 
  • , Bradley SchmerlAffiliated withCarnegie Mellon University
  • , Shang-Wen ChengAffiliated withCarnegie Mellon University

* Final gross prices may vary according to local VAT.

Get Access


Increasingly, systems must have the ability to self-adapt to meet changes in their execution environment. Unfortunately, existing solutions require human oversight, or are limited in the kinds of systems and the set of quality-of-service concerns they address. Our approach, embodied in a system called Rainbow, uses software architecture models and architectural styles to overcome existing limitations. It provides an engineering approach and a framework of mechanisms to monitor a target system and its environment, reflect observations into a system’s architecture model, detect opportunities for improvement, select a course of action, and effect changes in a closed loop. The framework provides general and reusable infrastructures with well-defined customization points, allowing engineers to systematically customize Rainbow to particular systems and concerns.