Support for feedback and change in self-adaptive systems

Self-adaptive systems modify their own behaviour in response to stimuli from their operating environments. The major policy considerations for such systems are determining what, when and how adaptations should be carried out. This paper presents mechanisms for feedback and change that support policy decisions for self-adaptation within a computationally complete architecture description language based on the π-calculus. Our contribution is support for feedback through software-encoded probes, gauges and an event distribution network together with support for change through decomposition, reification, reflection, recomposition and hyper-code.

[1]  Peter Kawalek,et al.  Business Information Systems: a process approach , 1999 .

[2]  Andrew J. McCarthy,et al.  A Framework for Constraint-Based Deployment and Autonomic Management of Distributed Applications , 2004, ICAC.

[3]  Ronald Morrison,et al.  Using Generative Programming to Visualise Hypercode in Complex and Dynamic Systems , 2004, ACSC.

[4]  Ronald Morrison,et al.  Hyper-Code Revisited: Unifying Program Source, Executable, and Data , 2000, POS.

[5]  David S. Munro,et al.  Collaboration and composition: issues for a second generation process language , 1999, ESEC/FSE-7.

[6]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

[7]  Leon J. Osterweil,et al.  Containment units: a hierarchically composable architecture for adaptive systems , 2002, SIGSOFT '02/FSE-10.

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

[9]  David S. Munro,et al.  A compliant persistent architecture , 2000, Softw. Pract. Exp..

[10]  David S. Munro,et al.  In: Software-Practice and Experience , 2000 .

[11]  Ronald Morrison,et al.  ArchWare ADL:Definition of Textual Concrete Syntax , 2002 .

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

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

[14]  Evangelos Zirintsis,et al.  Towards Simplification of the Software Development Process The Hyper-Code Abstraction , 2000 .

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

[16]  Flávio Oquendo,et al.  ArchWare: Architecting Evolvable Software , 2004, EWSA.

[17]  Flávio Oquendo,et al.  Support for evolving software architectures in the ArchWare ADL , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[18]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[19]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[20]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .