ABSTRACT
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.
- Dashofy, E. M., Hoek, A.v.d., and Taylor, R. N. A Highly-Extensible, XML-Based Architecture Description Language. In Proceedings of the Working IEEE/IFIP Conference on Software Architecture (WICSA 2001). Amsterdam, The Netherlands, August 28--31, 2001. Google ScholarDigital Library
- Friedman-Hill, E. Jess in Action: Rule-Based Systems in Java. Manning Publications Co., 2003. Google ScholarDigital Library
- Garlan, D., Schmerl, B. R., and Chang, J. Using Gauges for Architecture-Based Monitoring and Adaptation. In Proceedings of the The Working Conference on Complex and Dynamic System Architecture. Brisbane, Australia, December, 2001.Google Scholar
- Garlan, D. and Schmerl, B. Model-based adaptation for self-healing systems. In Proceedings of the First Workshop on Self-Healing Systems. November, 2002. Google ScholarDigital Library
- Hayes-Roth, F. The Knowledge Based Expert System: A Tutorial. IEEE Computer. 17(9), p. 11--28, 1984. Google ScholarDigital Library
- Hilbert, D. and Redmiles, D. An Approach to Large-scale Collection of Application Usage Data over the Internet. In Proceedings of the 20th International Conference on Software Engineering (ICSE '98). p. 136--145, IEEE Computer Society Press. Kyoto, Japan, April 19--25, 1998. Google ScholarDigital Library
- Institute for Software Research. ArchStudio, An Architecture-based Development Environment. <http://www.isr.uci.edu/projects/archstudio/>, University of California, Irvine.Google Scholar
- Inverardi, P., and Wolf, A. L. Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model. IEEE Transactions on Software Engineering. 21(4), p. 373--386, April, 1995. Google ScholarDigital Library
- Oreizy, P., Medvidovic, N., and Taylor, R. N. Architecture-Based Runtime Software Evolution. In Proceedings of the 20th International Conference on Software Engineering (ICSE '98). p. 177--186, IEEE Computer Society. Kyoto, Japan, April, 1998. Google ScholarDigital Library
- Oreizy, P., Gorlick, M. M., Taylor, R. N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D. S., and Wolf, A. L. An Architecture-based Approach to Self-Adaptive Software. IEEE Intelligent Systems. 14(3), p. 54--62, May-June, 1999. Google ScholarDigital Library
- Perry, D. E. and Wolf, A. L. Foundations for the Study of Software Architecture. ACM SIGSOFT Software Engineering Notes. 17(4), p. 40--52, October, 1992. Google ScholarDigital Library
- Robbins, J., Hilbert, D., and Redmiles, D. Using Critics to Analyze Evolving Architectures. In Proceedings of the Second International Software Architecture Workshop (ISAW-2). 1996. Google ScholarDigital Library
- Wermelinger, M. and Fiadeiro, J. L. Algebraic Software Architecture Reconfiguration. In Proceedings of the 7th European Engineering Conference held jointly with the 7th ACM SIGSOFT International Symposium on Foundations of Software Engineering. p. 393--409, Springer-Verlag. Toulouse, France, 1999. Google ScholarDigital Library
Index Terms
- Towards a knowledge-based approach to architectural adaptation management
Recommendations
Knowledge-based architectural adaptation management for self-adaptive systems
ICSE '05: Proceedings of the 27th international conference on Software engineeringSelf-adaptive systems continually evaluate and modify their own behavior to meet changing demands. An important element in the construction of architecture-based self-adaptive software is the specification of adaptation policy: this extended abstract ...
Towards Meta-Adaptation Support with Reusable and Composable Adaptation Components
SASO '12: Proceedings of the 2012 IEEE Sixth International Conference on Self-Adaptive and Self-Organizing SystemsSoftware systems today are increasingly used in changing environments and expected to adapt with variable adaptation concerns. This requirement demands a systematic approach to efficiently construct system global adaptation behaviour according to the ...
Architectural runtime configuration management in support of dependable self-adaptive software
The dynamic nature of some self-adaptive software systems can result in potentially unpredictable adaptations, which may be detrimental to overall system dependability by diminishing trust in the adaptation process. This paper describes our initial work ...
Comments