Agent-based Simulations of Patterns for Self-adaptive Systems Mariachiara Puviani 1 , Giacomo Cabri 2 and Franco Zambonelli 3 1 DIEF, Universit` a di Modena e Reggio Emilia, Via Vignolese 905/b, Modena, Italy 2 FIM, Universit` a di Modena e Reggio Emilia, Via Campi 213/b, Modena, Italy 3 DISMI, Universit` a di Modena e Reggio Emilia, Via Amendola 2, Reggio Emilia, Italy Keywords: Adaptation Pattern, Taxonomy, MAS. Abstract: Self-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 work we have identified several patterns for self-adaptation, classifying them by means of a taxonomy, which aims at being a support for developers of self-adaptive systems. Start- ing from that theoretical work, we have simulated the described self-adaptation patterns, in order to better understand the concrete and real features of each pattern. The contribution of this paper is to report about the simulation work, detailing how it was carried out, and to present a “table of applicability” that completes the initial taxonomy of patterns and provides a further support for the developers. 1 INTRODUCTION A complex distributed self-adaptive system consists of multiple components that are deployed on multi- ple nodes connected via some network (Weyns et al., 2013), whose administration must be automated, to avoid human manual management that would intro- duce cost, duration, slowness, and error-proneness. Self-adaptive systems can also optimize their perfor- mance under changing operating conditions. In order to build self-adaptive systems, develop- ers can choose a specific adaptation pattern among available ones. In a previous work we have cata- loged them (Puviani, 2012b), and such a catalogue turns out to be useful, because a pattern describes a generic solution for a recurring design problem and the application of these adaptation patterns helps to develop a system that exhibits specific adaptation fea- tures and that is able to self-adapt during all its life. Often the same problem can be solved with differ- ent approaches, which means that different adaptation patterns can be used. Starting from the catalogue of adaptation patterns, we wrote a taxonomy table (Puviani et al., 2013) that will help developer to choose the most suitable pattern for their systems. Moreover, to better understand (and take advantages from) the specific features of each adaptation pattern and its applicability, we have simu- lated the behaviour of different patterns. The simula- tions allow us to define a “table of applicability” that will complete the initial taxonomy of patterns. In simulating self-adaptive systems we take ad- vantages of agents. Software agents represent an interesting paradigm to develop intelligent and dis- tributed systems, because of their autonomy, proac- tiveness and reactivity. In addition to that, their so- ciality enables the distribution of the application logic in different agents that can interact with each other and with the host environment. In our work we use Multi Agent Systems (Ferber, 1999) in order to sim- ulate complex self-adaptive systems. This is because, as said before, agents exhibit features very relevant for self-adaptation. Moreover, the chosen mechanism used to im- plement adaptation patterns is the “role based ap- proach” (Cabri and Capodieci, 2013). Roles are a set of behaviours common to different entities, that can be applied to the context in which a component is be- having. An adaptive pattern can be described in terms of the roles the different components play. This will allow us to apply different roles to agents, in order to simulate different adaptation patterns. The remainder of this paper is organized as fol- lows. Section 2 discusses related work in the area. In Section 3 we present the taxonomy of adaptation pat- terns and show some examples; while in Section 4 we present the “role based approach” and how agents are used o develop patterns. Section 5 presents a case 190 Puviani M., Cabri G. and Zambonelli F.. Agent-based Simulations of Patterns for Self-adaptive Systems. DOI: 10.5220/0004925001900200 In Proceedings of the 6th International Conference on Agents and Artificial Intelligence (ICAART-2014), pages 190-200 ISBN: 978-989-758-015-4 Copyright c 2014 SCITEPRESS (Science and Technology Publications, Lda.)