Architectural Styles for Adaptable Self-Healing Dependable Systems

Of all the possible architectural approaches to improving the dependability of software-based systems, only systems designed to be self-healing are able to adapt themselves at runtime in response to changing environmental or operational circumstances. In this paper, we discuss the basic functional requirements for self-healing systems, and explore a number of major issues related to architectural designs for incorporating runtime reflection and adaptation into software systems. We present several conceptual architectures for self-adaptation, and analyze the features, advantages and disadvantages of each architecture. Finally, we propose enhancements to currently used architectural description languages (ADLs) and system design tools to add explicit support for self-adaptive architectures.

[1]  Dewayne E. Perry,et al.  Exploiting architectural prescriptions for self-managing, self-adaptive systems: a position paper , 2004, WOSS '04.

[2]  Ivica Crnkovic,et al.  SaveCCM - a component model for safety-critical real-time systems , 2004 .

[3]  Bradley R. Schmerl,et al.  An architecture for coordinating multiple self-management systems , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[4]  Bradley R. Schmerl,et al.  Model-based adaptation for self-healing systems , 2002, WOSS '02.

[5]  Philip Koopman,et al.  Elements of the Self-Healing System Problem Space , 2003 .

[6]  H. Duran-Limon,et al.  Reflection , Self-Awareness and Self-Healing , 2002 .

[7]  D. Perry,et al.  Applying Design Diversity to Aspects of System Architectures and Deployment Configurations to Enhance System Dependability , 2004 .

[8]  Carlos José Pereira de Lucena,et al.  Software Engineering for Multi-Agent Systems III: Research Issues and Practical Applications (Lecture Notes in Computer Science) , 2005 .

[9]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[10]  Holger Giese,et al.  Separation of Concerns for Mechatronic Multi-agent Systems Through Dynamic Communities , 2004, SELMAS.

[11]  Bradley R. Schmerl,et al.  Increasing System Dependability through Architecture-Based Self-Repair , 2002, WADS.

[12]  Rogério de Lemos,et al.  Architecting dependable systems , 2003, J. Syst. Softw..

[13]  Rogério de Lemos,et al.  An architectural support for self-adaptive software for treating faults , 2002, WOSS '02.

[14]  Dewayne E. Perry,et al.  Architectural Prescriptions for Dependable Systems , 2002 .