Chapter 2

Architecting Software Systems for Runtime Self-Adaptation

Concepts, Models, and Challenges

N.M. Villegas*; G. Tamura*; H.A. Müller    * Universidad Icesi, Cali, Colombia University of Victoria, Victoria, BC, Canada

Abstract

Architecture design is one of the most critical tasks in the software engineering process, particularly for software systems that must operate correctly and guarantee desired quality attributes, while coping with uncertainty and unexpected changes in execution conditions and requirements. Architecting such software systems presents additional challenges to those faced when architecting solutions from a traditional software engineering perspective, where uncertainty is not considered as a main concern in system ...

Get Managing Trade-offs in Adaptable Software Architectures now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.