ABSTRACT
Autonomic systems are able to adapt themselves to unpredicted and unexpected situations. Such adaptation capabilities can reside in individual components as well as in ensembles of components. In particular, a variety of different architectural patterns can be conceived to support self-adaptation at the level both of components and of ensembles. In this paper, we propose a classification of such self-adaptation patterns -- for both the component level and the system level -- by means of a taxonomy organized around the locus in which the feedback loops promoting adaptation reside. We show that the proposed classification covers most self-adaptation patterns, and enables deriving further ones by applying a simple set of composition mechanisms. Three examples of existing patterns of the taxonomy are detailed in the paper to show the applicability of the approach. As discussed in the paper, the advantage of the proposed classification is twofold: it enables identifying the (possibly common) properties of the existing self-adaptation patterns; and, consequently, it can help developers in choosing the most appropriate self-adaptation patterns for the development of autonomic systems.
- D. Abeywickrama, N. Bicocchi, and F. Zambonelli. Sota: Towards a general model for self-adaptive systems. In Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE), pages 48--53, Toulouse, France, 2012. IEEE. Google ScholarDigital Library
- J. Andersson et al. Modeling dimensions of self-adaptive software systems. In B. Cheng et al., editors, Software Engineering for Self-Adaptive Systems, volume 5525 of Lecture Notes in Computer Science, pages 27--47. Springer, 2009. Google ScholarDigital Library
- E. Bonabeau, M. Dorigo, and G. Theraulaz. Swarm intelligence: from natural to artificial systems. Oxford University Press, USA, 1999. Google ScholarDigital Library
- P. Brittenham et al. It service management architecture and autonomic computing. IBM Systems Journal, 46(3):565--581, 2007. Google ScholarDigital Library
- Y. Brun et al. Engineering self-adaptive systems through feedback loops. In B. Cheng et al., editors, Software Engineering for Self-Adaptive Systems, volume 5525 of Lecture Notes in Computer Science, pages 48--70. Springer, 2009. Google ScholarDigital Library
- G. Cabri, M. Puviani, and F. Zambonelli. Towards a taxonomy of adaptive agent-based collaboration patterns for autonomic service ensembles. In Conference on Collaborative Technologies and Systems, pages 306--315, Philadelphia (USA), 2011. IEEE.Google ScholarCross Ref
- B. Cheng et al. Software engineering for self-adaptive systems: A research roadmap. In B. Cheng et al., editors, Software Engineering for Self-Adaptive Systems, volume 5525 of Lecture Notes in Computer Science, pages 1--26. Springer, 2009. Google ScholarDigital Library
- M. Dorigo, E. Bonabeau, and G. Theraulaz. Ant algorithms and stigmergy. Future Generation Computer Systems, 16(8):851--871, 2000. Google ScholarDigital Library
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns. Addison Wesley, 1995.Google Scholar
- F. Gasparetti and A. Micarelli. Swarm intelligence: Agents for adaptive web search. ECAI, pages 1019--1020, 2004.Google Scholar
- H. Gomaa and K. Hashimoto. Dynamic self-adaptation for distributed service-oriented transactions. In International Workshop on Software Engineering for Adaptive and Self-Managing Systems, pages 11--20, Zurich, Switzerland, 2012. IEEE.Google ScholarCross Ref
- R. Haesevoets et al. Weaving the fabric of the control loop through aspects. In Self-Organizing Architectures: First International Workshop, volume 6090, pages 38--65. Springer-Verlang, 2010. Google ScholarDigital Library
- S. Hariri, B. Khargharia, H. Chen, J. Yang, Y. Zhang, M. Parashar, and H. Liu. The autonomic computing paradigm. Cluster Computing, 9(1):5--17, 2006. Google ScholarDigital Library
- IBM-Corporation. An architectural blueprint for autonomic computing. Autonomic Computing White paper, 36:34, 2006.Google Scholar
- W. M. et al. Ascens: Engineering autonomic service component ensembles. In Formal Models for Components and Objects 2011, Post Proceedings, volume 7542 of LNCS. Springer, 2012.Google Scholar
- M. Morandini et al. On the use of the goal-oriented paradigm for system design and law compliance reasoning. In iStar 2010-4 th International i* Workshop, page 71, Hammamet, Tunisia, 2010.Google Scholar
- M. Puviani. Catalogue of architectural adaptation patterns, 2012.Google Scholar
- M. Puviani. Self-expression in adaptive architectural patterns. Awareness Magazine, 2012.Google Scholar
- M. Puviani, G. Cabri, and L. Leonardi. Adaptive patterns for intelligent distributed systems: A swarm robotics case study. Intelligent Distributed Computing VI, pages 241--246, 2012.Google Scholar
- A. Ramirez and B. Cheng. Design patterns for developing dynamically adaptive systems. In ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, pages 49--58, Cape Town, South Africa, May 2010. ACM. Google ScholarDigital Library
- M. Salehie and L. Tahvildari. Self-adaptive software: Landscape and research challenges. ACM Transactions on Autonomous and Adaptive Systems, 4(2):14, 2009. Google ScholarDigital Library
- D. Weyns, S. Malek, and J. Andersson. Forms: Unifying reference model for formal specification of distributed self-adaptive systems. ACM Transactions on Autonomous and Adaptive Systems, 7(1):8, 2012. Google ScholarDigital Library
- D. Weyns, B. Schmerl, V. Grassi, S. Malek, R. Mirandola, C. Prehofer, J. Wuttke, J. Andersson, H. Giese, and K. Göschka. On patterns for decentralized control in self-adaptive systems. pages 76--107, 2012.Google Scholar
- M. Wooldridge. An introduction to multiagent systems. Wiley, 2002. Google ScholarDigital Library
- F. Zambonelli et al. On self-adaptation, self-expression, and self-awareness, in autonomic service component ensembles. In Self-Adaptive and Self-Organizing Systems Workshops, pages 108--113, Ann Arbor, Michigan, USA, 2011. IEEE. Google ScholarDigital Library
Index Terms
- A taxonomy of architectural patterns for self-adaptive systems
Recommendations
A survey on engineering approaches for self-adaptive systems
The complexity of information systems is increasing in recent years, leading to increased effort for maintenance and configuration. Self-adaptive systems (SASs) address this issue. Due to new computing trends, such as pervasive computing, ...
Agent-based Simulations of Patterns for Self-adaptive Systems
ICAART 2014: Proceedings of the 6th International Conference on Agents and Artificial Intelligence - Volume 1Self-adaptive systems are distributed computing systems composed of different components that can adapt their behavior to different kinds of conditions. This adaptation does not concern the single components only, but the entire system. In a previous ...
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 ...
Comments