Evaluating the effectiveness of the Rainbow self-adaptive system

Rainbow is a framework for engineering a system with run-time, self-adaptive capabilities to monitor, detect, decide, and act on opportunities for system improvement. We applied Rainbow to a system, Znn.com, and evaluated its effectiveness to self-adapt on three levels: its effectiveness to maintain quality attribute in the face of changing conditions, run-time overheads of adaptation, and the engineering effort to use it to add self-adaptive capabilities to Znn.com. We make Znn.com and the associated evaluation tools available to the community so that other researchers can use it to evaluate their own systems and the community can compare different systems. In this paper, we report on our evaluation experience, reflect on some principles for benchmarking self-adaptive systems, and discuss the suitability of our evaluation tools for this purpose.

[1]  Julie A. McCann,et al.  Evaluation Issues in Autonomic Computing , 2004, GCC Workshops.

[2]  Michael M. Gorlick,et al.  Using weaves for software construction and analysis , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[3]  Marin Litoiu,et al.  A real-time adaptive control of autonomic computing environments , 2007, CASCON.

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

[5]  Reinhold Weicker,et al.  An overview of common benchmarks , 1990, Computer.

[6]  Jürgen Dingel,et al.  A survey of self-management in dynamic software architecture specifications , 2004, WOSS '04.

[7]  Alexandre Sztajnberg,et al.  Describing and Deploying Self-Adaptive Applications , 2006 .

[8]  Bradley R. Schmerl,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[9]  Jeff Magee,et al.  Self-organising software architectures for distributed systems , 2002, WOSS '02.

[10]  Richard N. Taylor,et al.  Towards architecture-based self-healing systems , 2002, WOSS '02.

[11]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[12]  Stephen P. Morgan,et al.  Clockwork: A new movement in autonomic systems , 2003, IBM Syst. J..

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

[14]  Flávio Oquendo,et al.  An Active Architecture Approach to Dynamic Systems Co-evolution , 2007, ECSA.

[15]  David Garlan,et al.  Rainbow: cost-effective software architecture-based self-adaptation , 2008 .

[16]  Gregory D. Abowd,et al.  Using style to understand descriptions of software architecture , 1993, SIGSOFT '93.

[17]  Bradley R. Schmerl,et al.  Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure , 2004, Computer.

[18]  David Sinreich,et al.  An architectural blueprint for autonomic computing , 2006 .

[19]  Thaís Vasconcelos Batista,et al.  Managing Dynamic Reconfiguration in Component-Based Systems , 2005, EWSA.

[20]  Martin Glinz,et al.  A framework for dynamically adaptive applications in a self-organized mobile network environment , 2004, 24th International Conference on Distributed Computing Systems Workshops, 2004. Proceedings..

[21]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[22]  David Garlan,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004 .

[23]  Volker Markl,et al.  LEO: An autonomic query optimizer for DB2 , 2003, IBM Syst. J..

[24]  Stanley M. Selkow,et al.  Algorithms in a Nutshell , 2008 .

[25]  Julie A. McCann,et al.  A survey of autonomic computing—degrees, models, and applications , 2008, CSUR.

[26]  Franco Zambonelli,et al.  A survey of autonomic communications , 2006, TAAS.