Self-Managed Systems: an Architectural Challenge

Self-management is put forward as one of the means by which we could provide systems that are scalable, support dynamic composition and rigorous analysis, and are flexible and robust in the presence of change. In this paper, we focus on architectural approaches to self-management, not because the language-level or network-level approaches are uninteresting or less promising, but because we believe that the architectural level seems to provide the required level of abstraction and generality to deal with the challenges posed. A self-managed software architecture is one in which components automatically configure their interaction in a way that is compatible with an overall architectural specification and achieves the goals of the system. The objective is to minimise the degree of explicit management necessary for construction and subsequent evolution whilst preserving the architectural properties implied by its specification. This paper discusses some of the current promising work and presents an outline three-layer reference model as a context in which to articulate some of the main outstanding research challenges.

[1]  David Garlan,et al.  Proceedings of the First ACM SIGSOFT Workshop on Self-Healing Systems (WOSS '02) : November 18-19, 2002, Charleston, South Carolina, USA , 2002 .

[2]  Jeff Magee,et al.  Self-organising software architectures for distributed systems , 2002, WOSS '02.

[3]  Hassan Gomaa,et al.  Dynamic Software Reconfiguration in Software Product Families , 2003, PFE.

[4]  David Garlan,et al.  Proceedings of the first workshop on Self-healing systems , 2002, Fast Software Encryption Workshop.

[5]  Jeff Magee,et al.  Using resemblance to support component reuse and evolution , 2006, SAVCBS '06.

[6]  Annapaola Marconi,et al.  Automated Composition of Web Services by Planning at the Knowledge Level , 2005, IJCAI.

[7]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[8]  Jeff Magee,et al.  Analysing dynamic change in distributed software architectures , 1998, IEE Proc. Softw..

[9]  Shlomi Dolev,et al.  Self Stabilization , 2004, J. Aerosp. Comput. Inf. Commun..

[10]  E. Gat On Three-Layer Architectures , 1997 .

[11]  Emil C. Lupu,et al.  The Ponder Policy Specification Language , 2001, POLICY.

[12]  Richard N. Taylor,et al.  Software Design and Architecture The once and future focus of software engineering , 2007, Future of Software Engineering (FOSE '07).

[13]  Betty H. C. Cheng,et al.  Model-based development of dynamically adaptive software , 2006, ICSE.

[14]  Jürgen Dingel,et al.  A survey of self-management in dynamic software architecture specifications , 2004, WOSS '04.

[15]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..

[16]  Paola Inverardi,et al.  A Lightweight Infrastructure for Reconfiguring Applications , 2003, SCM.

[17]  Wilhelm Schäfer,et al.  The Challenges of Building Advanced Mechatronic Systems , 2007, Future of Software Engineering (FOSE '07).

[18]  Richard N. Taylor,et al.  Towards architecture-based self-healing systems , 2002, WOSS '02.

[19]  David Garlan,et al.  Proceedings of the 1st ACM SIGSOFT workshop on Self-managed systems , 2004 .

[20]  Hong Mei,et al.  Journal of Software Maintenance and Evolution: Research and Practice a Component-based Approach to Online Software Evolution , 2022 .

[21]  David Chapman,et al.  What are plans for? , 1990, Robotics Auton. Syst..

[22]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

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

[24]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[25]  Anthony Finkelstein,et al.  Software engineering: a roadmap , 2000, ICSE '00.

[26]  Betty H. C. Cheng,et al.  Research Directions in Requirements Engineering , 2007, Future of Software Engineering (FOSE '07).

[27]  Hong Mei,et al.  A component-based approach to online software evolution: Research Articles , 2006 .

[28]  Sebastián Uchitel,et al.  Modes for Software Architectures , 2006, EWSA.

[29]  Ryen W. White,et al.  Supporting exploratory search , 2006 .

[30]  Franco Zambonelli,et al.  A survey of autonomic communications , 2006, TAAS.

[31]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[32]  Richard N. Taylor,et al.  A language and environment for architecture-based software development and evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[33]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[34]  Luciano Baresi,et al.  Smart monitors for composed services , 2004, ICSOC '04.