ABSTRACT
Today, self-adaptation and self-management approaches to software engineering are viewed as specialized techniques and reach a somewhat limited community. In this paper, I overview the current state and expectation of self-adaptation and self-management impact in industry and in premier publication venues and identify what we, as a community, may do to improve such impact.
In particular, I find that common evaluation methodologies make it relatively simple for self-adaptation and self-management research to be compared to other such research, but not to more-traditional software engineering research. I argue that extending the evaluation to include comparisons to traditional software engineering techniques may improve a reader's ability to judge the contribution of the research and increase its impact. Finally, I propose a set of evaluation guidelines that may ease the promotion of self-adaptation and self-management as mainstream software engineering techniques.
- Andrea Bondavalli, Silvano Chiaradonna, Felicita Di Giandomenico, and Jie Xu. An adaptive approach to achieving hardware and software fault tolerance in a distributed computing environment. Journal of Systems Architecture, 47(9):763--781, 2002. Google ScholarDigital Library
- Andrea Bondavalli, Felicita Di Giandomenico, and Jie Xu. A cost-effective and flexible scheme for software fault tolerance. Journal of Computer Systems Science and Engineering, 8(4):234--244, 1993.Google Scholar
- Rodney A. Brooks. Elephants don't play chess. Robotics and Autonomous Systems, 6(1&2):3--15, June 1990. Google ScholarDigital Library
- Yuriy Brun and Nenad Medvidovic. An architectural style for solving computationally intensive problems on large networks. In Proceedings of Software Engineering for Adaptive and Self-Managing Systems (SEAMS07), Minneapolis, MN, USA, May 2007. Google ScholarDigital Library
- Yuriy Brun and Nenad Medvidovic. Fault and adversary tolerance as an emergent property of distributed systems' software architectures. In Proceedings of the 2nd International Workshop on Engineering Fault Tolerant Systems (EFTS07), pages 38--43, Dubrovnik, Croatia, September 2007. Google ScholarDigital Library
- Navin Budhiraja, Keith Marzullo, Fred B. Schneider, and Sam Toueg. The primary-backup approach. In Distributed Systems, pages 199--216. ACM Press/Addison-Wesley Publishing Co., 2 edition, 1993. Google ScholarDigital Library
- Jacob Burnim, Nicholas Jalbert, Christos Stergiou, and Koushik Sen. Looper: Lightweight detection of infinite loops at runtime. In Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering (ASE09), Auckland, New Zealand, 2009. Google ScholarDigital Library
- Radu Calinescu and Marta Kwiatkowska. Using quantitative analysis to implement autonomic IT systems. In Proceedings of the ACM/IEEE 31st International Conference on Software Engineering (ICSE09), pages 100--110, Vancouver, Canada, 2009. Google ScholarDigital Library
- Carlos Canal, Pascal Poizat, and Gwen Salaün. Model-based adaptation of behavioral mismatching components. IEEE Transactions on Software Engineering (TSE), 34(4):546--563, 2008. Google ScholarDigital Library
- Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco Lo Presti, and Raffaela Mirandola. QoS-driven runtime adaptation of service oriented architectures. In Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE09), pages 131--140, Amsterdam, The Netherlands, 2009. Google ScholarDigital Library
- CASE. Foreword. In Proceedings of the 7th International Workshop on Computer-Aided Software Engineering (CASE95), page ix, Toronto, Canada, 1995.Google Scholar
- Hervé Chang, Leonardo Mariani, and Mauro Pezze. In-field healing of integration problems with COTS components. In Proceedings of the ACM/IEEE 31st International Conference on Software Engineering (ICSE09), pages 166--176, Vancouver, Canada, 2009. Google ScholarDigital Library
- Betty H. C. Cheng, Rogério de Lemos, Holger Giese, Paola Inverardi, et al. Software engineering for self-adaptive systems: A research roadmap. In Software Engineering for Self-Adaptive Systems, volume 5525, pages 1--26. Lecture Notes in Computer Science Hot Topics, 2009. Google ScholarDigital Library
- Siu-Nam Chuang and Alvin T. S. Chan. Dynamic QoS adaptation for mobile middleware. IEEE Transactions on Software Engineering (TSE), 34(6):738--752, 2008. Google ScholarDigital Library
- Giovanni Denaro, Mauro Pezzè, and Davide Tosi. Ensuring interoperable service-oriented systems through engineered self-healing. In Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE09), pages 253--262, Amsterdam, The Netherlands, 2009. Google ScholarDigital Library
- Shlomi Dolev and Reuven Yagel. Towards self-stabilizing operating systems. IEEE Transactions on Software Engineering (TSE), 34(4):564--576, 2008. Google ScholarDigital Library
- Ilenia Epifani, Carlo Ghezzi, Raffaela Mirandola, and Giordano Tamburrelli. Model evolution by run-time parameter adaptation. In Proceedings of the ACM/IEEE 31st International Conference on Software Engineering (ICSE09), pages 111--121, Vancouver, Canada, 2009. Google ScholarDigital Library
- Pascal Felber and Andre Schiper. Optimistic active replication. In Proceedings of the 21st IEEE International Conference on Distributed Computing Systems (ICDCS01), pages 333--341, Phoenix, AZ, USA, 2001. IEEE Computer Society. Google ScholarDigital Library
- William G. J. Halfond, Alex Orso, and Pete Manolios. WASP: Protecting web applications using positive tainting and syntax-aware evaluation. IEEE Transactions on Software Engineering (TSE), 34:65--81, 2008. Google ScholarDigital Library
- IBM. Autonomic computing manifesto. http://www.research.ibm.com/autonomic/manifesto, 2001.Google Scholar
- Richard M. Jones. Fiscal year 2010 National Science Foundation appropriation. The AIP Bulletin of Science Policy News, (146), 2009.Google Scholar
- Jeffrey O. Kephart. Research challenges of autonomic computing. In Proceedings of the 27th ACM/IEEE International Conference on Software Engineering (ICSE05), pages 15--22, St. Louis, MO, USA, 2005. Google ScholarDigital Library
- Jeffrey O. Kephart and David M. Chess. The vision of autonomic computing. IEEE Computer, 36(1):41--50, 2003. Google ScholarDigital Library
- Paul Kontogiorgis and Brent A. Miller. Interview on the state of and IBM's contribution to autonomic computing. Personal communication, January 2010.Google Scholar
- Israel Koren and C. Mani Krishna. Fault-Tolerant Systems. Elsvier, Inc., 2007. Google ScholarDigital Library
- Marco Mamei and Franco Zambonelli. Programming pervasive and mobile computing applications: The TOTA approach. ACM Transactions on Software Engineering and Methodology (TOSEM), 18(4):1--56, 2009. Google ScholarDigital Library
- Brice Morin, Olivier Barais, Gregory Nain, and Jean-Marc Jézéquel. Taming dynamically adaptive systems using models and aspects. In Proceedings of the ACM/IEEE 31st International Conference on Software Engineering (ICSE09), pages 122--132, Vancouver, Canada, 2009. Google ScholarDigital Library
- Press release. Google and IBM announce university initiative to address Internet-scale computing challenges. http://www.google.com/intl/en/press/pressrel/20071008_ibm_univ.html, 2007.Google Scholar
- Press release. National Science Foundation awards millions to fourteen universities for cloud computing research. http://www.nsf.gov/news/news_summ.jsp?cntn_id=114686&govDel=USNSF_51, 2009.Google Scholar
- Franco Raimondi, James Skene, and Wolfgang Emmerich. Efficient online monitoring of web-service SLAs. In Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE08), pages 170--180, Atlanta, GA, USA, 2008. Google ScholarDigital Library
- Andres J. Ramirez, David B. Knoester, Betty H. C. Cheng, and Philip K. McKinley. Applying genetic algorithms to decision making in autonomic computing systems. In Proceedings of the 6th International Conference on Autonomic Computing (ICAC06), pages 97--106, Barcelona, Spain, 2009. Google ScholarDigital Library
- Michele Sama, David S. Rosenblum, Zhimin Wang, and Sebastian Elbaum. Model-based fault detection in context-aware adaptive applications. In Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE08), pages 261--271, Atlanta, GA, USA, 2008. Google ScholarDigital Library
- Claude E. Shannon. A mathematical theory of communication. Bell System Technical Journal, 27:379--423 and 623--656, July and October 1948.Google ScholarCross Ref
- Sylvain Sicard, Fabienne Boyer, and Noel De Palma. Using components for architecture-based management: the self-repair case. In Proceedings of the ACM/IEEE 30th International Conference on Software Engineering (ICSE08), pages 101--110, Leipzig, Germany, 2008. Google ScholarDigital Library
- Yiqiao Wang and John Mylopoulos. Self-repair through reconfiguration: A requirements engineering approach. In Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering (ASE09), Auckland, New Zealand, 2009. Google ScholarDigital Library
- Westley Weimer, Thanh Vu Nguyen, Claire Le Goues, and Stephanie Forrest. Automatically finding patches using genetic programming. In Proceedings of the ACM/IEEE 31st International Conference on Software Engineering (ICSE09), pages 364--374, Vancouver, Canada, 2009. Google ScholarDigital Library
- Andrea Zisman, George Spanoudakis, and James Dooley. A framework for dynamic service discovery. In Proceedings of the 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE08), pages 158--167, L'Aquila, Italy, 2008. Google ScholarDigital Library
Recommendations
Endogenous versus exogenous self-management
SEAMS '08: Proceedings of the 2008 international workshop on Software engineering for adaptive and self-managing systemsSelf-management is considered as one of the crucial means for software systems to deal with changing demands at runtime. Self-management endows a software systems with the ability to adapt its structure or behavior without human intervention. Two ...
Robustness evaluation of the rainbow framework for self-adaptation
SAC '14: Proceedings of the 29th Annual ACM Symposium on Applied ComputingSelf-adaptive (or autonomic) systems incorporate complex software components that act as controllers of a target system by executing actions through effectors, based on information monitored by probes. Despite the growing importance and criticality of ...
Comments