Elements of Self-adaptive Systems - A Decentralized Architectural Perspective

Software is evolving towards a greater complexity and variability, with a continously changing environment. In this context, self-adaptive systems are acquiring a great relevance. Their architectures are inherently dynamic and by definition, also reflective. However, their self-referential nature might compromise their compositionality, and even the use of the architectural approach. This work intends to decide on its suitability, by considering its fundamentals in detail. After some initial definitions, the nature of both self-adaptation and self-organization is discussed, and the implicit modular structure is determined. Then a tentative taxonomy of elements in self-adaptive architectures is provided, which is also discussed in a decentralized setting. To support our initial hypothesis about the suitability of architectures, the algebraic properties of their composition is studied in detail. Then, the suitability of a reflective approach in this context is considered, and then a concrete example of an autonomic system is described, using a reflective architectural description language. The chapter concludes discussing the suitability of this approach, and how the architectural perspective of self-adaptation does not actually imply a centralized topology.

[1]  Gordon S. Blair,et al.  A distributed architecture meta-model for self-managed middleware , 2006, ARM '06.

[2]  John Leaney,et al.  Defining autonomic computing: a software engineering perspective , 2005, 2005 Australian Software Engineering Conference.

[3]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[4]  Alex J. Ryan,et al.  Emergence is coupled to scope, not level , 2006, Complex..

[5]  Francis Heylighen,et al.  Principles of Systems and Cybernetics: an evolutionary perspective , 1991 .

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

[7]  Andrea Omicini,et al.  Environment as a first class abstraction in multiagent systems , 2007, Autonomous Agents and Multi-Agent Systems.

[8]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).

[9]  Steven Johnson,et al.  Emergence: The Connected Lives of Ants, Brains, Cities, and Software , 2001 .

[10]  Pablo de la Fuente,et al.  Temporal Superimposition of Aspects for Dynamic Software Architecture , 2006, FMOODS.

[11]  Márk Jelasity,et al.  The Self-Star Vision , 2005, Self-star Properties in Complex Information Systems.

[12]  S. Beer The Brain of the Firm , 1972 .

[13]  Ronald Morrison,et al.  A framework for supporting dynamic systems co-evolution , 2007, Automated Software Engineering.

[14]  Rogério de Lemos,et al.  Software Engineering for Self-Adaptive Systems [outcome of a Dagstuhl Seminar] , 2009, Software Engineering for Self-Adaptive Systems.

[15]  Pablo de la Fuente,et al.  Introducing Reflection in Architecture Description Languages , 2002, WICSA.

[16]  Davide Sangiorgi,et al.  The Pi-Calculus - a theory of mobile processes , 2001 .

[17]  Seyed Masoud Sadjadi,et al.  Composing adaptive software , 2004, Computer.

[18]  Mikhail Prokopenko,et al.  An information-theoretic primer on complexity, self-organization, and emergence , 2009 .

[19]  Pattie Maes Concepts and experiments in computational reflection , 1987, OOPSLA 1987.

[20]  Zhao Liu,et al.  Towards autonomic computing middleware via reflection , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[21]  Ozalp Babaoglu,et al.  Self-star Properties in Complex Information Systems, Conceptual and Practical Foundations [the book is a result from a workshop at Bertinoro, Italy, Summer 2004] , 2005, Self-star Properties in Complex Information Systems.

[22]  Alexander Galloway,et al.  Protocol, or, How Control Exists after Decentralization , 2001 .

[23]  W. Ashby,et al.  Every Good Regulator of a System Must Be a Model of That System , 1970 .

[24]  Jesper Andersson,et al.  Modeling Dimensions of Self-Adaptive Software Systems , 2009, Software Engineering for Self-Adaptive Systems.

[25]  Pablo de la Fuente,et al.  Dynamic coordination architecture through the use of reflection , 2001, SAC.

[26]  Pablo de la Fuente,et al.  Coordination in Architectural Connection. Reflective and Aspectual Introduction , 2006, Obj. Logiciel Base données Réseaux.