Towards a knowledge-based approach to architectural adaptation management

Self-adaptive software continually evaluates and modifies its own behavior to meet changing demands. One of the key issues in constructing such software is that of planning when and what kinds of adaptations are appropriate. In this paper, we present an architecture-centric knowledge-based approach for specifying and enacting architectural adaptation policies as the main driver for self-adaptive behavior. Our work applies explicitly represented knowledge-based policies for the definition and enactment of software adaptation at the architectural level. A key benefit of our approach is the decoupling of adaptation policy from system implementation as well as the independent and dynamic evolution of policies themselves. We elaborate our overall approach, present prototype tools and techniques for its support, and discuss future research directions.

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

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

[3]  Frederick Hayes-Roth The Knowledge-Based Expert System: A Tutorial , 1984, Computer.

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

[5]  Michel Wermelinger,et al.  Algebraic software architecture reconfiguration , 1999, ESEC/FSE-7.

[6]  Paola Inverardi,et al.  Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model , 1995, IEEE Trans. Software Eng..

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

[8]  David F. Redmiles,et al.  An approach to large-scale collection of application usage data over the internet , 1998, Proceedings of the 20th International Conference on Software Engineering.

[9]  David Garlan,et al.  Using Gauges for Architecture-Based Monitoring and Adaptation , 2001 .

[10]  Ernest Friedman-Hill,et al.  Jess in action : rule-based systems in Java , 2003 .

[11]  Frederick Hayes-Roth,et al.  Knowledge-Based Expert Systems , 1984, Computer.

[12]  Richard N. Taylor,et al.  A highly-extensible, XML-based architecture description language , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[13]  Jason E. Robbins,et al.  Using critics to analyze evolving architectures , 1996, ISAW '96.