|
ABSTRACT
Software systems dealing with distributed applications in changing environments normally require human supervision to continue operation in all conditions. These (re-)configuring, troubleshooting, and in general maintenance tasks lead to costly and time-consuming procedures during the operating phase. These problems are primarily due to the open-loop structure often followed in software development. Therefore, there is a high demand for management complexity reduction, management automation, robustness, and achieving all of the desired quality requirements within a reasonable cost and time range during operation. Self-adaptive software is a response to these demands; it is a closed-loop system with a feedback loop aiming to adjust itself to changes during its operation. These changes may stem from the software system's self (internal causes, e.g., failure) or context (external events, e.g., increasing requests from users). Such a system is required to monitor itself and its context, detect significant changes, decide how to react, and act to execute such decisions. These processes depend on adaptation properties (called self-* properties), domain characteristics (context information or models), and preferences of stakeholders. Noting these requirements, it is widely believed that new models and frameworks are needed to design self-adaptive software. This survey article presents a taxonomy, based on concerns of adaptation, that is, how, what, when and where, towards providing a unified view of this emerging area. Moreover, as adaptive systems are encountered in many disciplines, it is imperative to learn from the theories and models developed in these other areas. This survey article presents a landscape of research in self-adaptive software by highlighting relevant disciplines and some prominent research projects. This landscape helps to identify the underlying research gaps and elaborates on the corresponding challenges.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
Youssif Al-Nashif , Aarthi Arun Kumar , Salim Hariri , Yi Luo , Ferenc Szidarovsky , Guangzhi Qu, Multi-Level Intrusion Detection System (ML-IDS), Proceedings of the 2008 International Conference on Autonomic Computing, p.131-140, June 02-06, 2008
[doi> 10.1109/ICAC.2008.25]
|
| |
3
|
|
| |
4
|
|
| |
5
|
|
| |
6
|
Appleby, K., Fakhouri, S., Fong, L., Goldszmidt, G., Kalantar, M., Krishnakumar, S., Pazel, D., Pershing, J., and Rochwerger, B. 2001. Oceano—SLA-based management of a computing utility. In Proceedings of the IFIP/IEEE International Symposium on Integrated Network Management. 855--868.
|
| |
7
|
|
| |
8
|
Asadollahi, R., Salehie, M., and Tahvildari, L. 2009. Starmx: A framework for developing self-managing java-based systems. In Proceedings of the ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems. TBA.
|
 |
9
|
Ozalp Babaoglu , Geoffrey Canright , Andreas Deutsch , Gianni A. Di Caro , Frederick Ducatelle , Luca M. Gambardella , Niloy Ganguly , Márk Jelasity , Roberto Montemanni , Alberto Montresor , Tore Urnes, Design patterns from biology for distributed computing, ACM Transactions on Autonomous and Adaptive Systems (TAAS), v.1 n.1, p.26-66, September 2006
[doi> 10.1145/1152934.1152937]
|
| |
10
|
Ozalp Babaoglu , Márk Jelasity , Alberto Montresor , Christof Fetzer , Stefano Leonardi , Aad van Moorsel , Maarten van Steen, Self-star Properties in Complex Information Systems: Conceptual and Practical Foundations (Lecture Notes in Computer Science), Springer-Verlag New York, Inc., Secaucus, NJ, 2005
|
| |
11
|
Badr, N., Taleb-Bendiab, A., and Reilly, D. 2004. Policy-based autonomic control service. In Proceedings of the IEEE International Workshop on Policies for Distributed Systems and Networks. 99.
|
| |
12
|
D. F. Bantz , C. Bisdikian , D. Challener , J. P. Karidis , S. Mastrianni , A. Mohindra , D. G. Shea , M. Vanover, Autonomic personal computing, IBM Systems Journal, v.42 n.1, p.165-176, January 2003
|
| |
13
|
Bernon, C., Gleizes, M., Peyruqueou, S., and Picard, G. 2003. Adelfe: A methodology for adaptive multi-agent systems engineering. Engineering Societies in the Agents World III. Lecture Notes in Computer Science, vol. 2577. 156--169.
|
| |
14
|
V. Bhat , M. Parashar , Hua Liu , M. Khandekar , N. Kandasamy , S. Abdelwahed, Enabling Self-Managing Applications using Model-based Online Control Strategies, Proceedings of the 2006 IEEE International Conference on Autonomic Computing, p.15-24, June 12-16, 2006
[doi> 10.1109/ICAC.2006.1662377]
|
| |
15
|
Bigus, J. P., Schlosnagle, D. A., Pilgrim, J. R., Mills, W. N., and Diao, Y. 2002. Able: A toolkit for building multiagent autonomic systems. IBM Syst. J. 41, 3, 350--371.
|
| |
16
|
|
| |
17
|
Boutilier, C., Das, R., Kephart, J. O., and Walsh, W. E. 2003. Towards cooperative negotiation for decentralized resource allocation in autonomic computing systems. In Proceedings of the International Joint Conference on Artificial Intelligence. 1458--1459.
|
 |
18
|
Jeremy S. Bradbury , James R. Cordy , Juergen Dingel , Michel Wermelinger, A survey of self-management in dynamic software architecture specifications, Proceedings of the 1st ACM SIGSOFT workshop on Self-managed systems, p.28-33, October 31-November 01, 2004, Newport Beach, California
[doi> 10.1145/1075405.1075411]
|
| |
19
|
Brown, A., Kar, G., and Keller, A. 2001. An active approach to characterizing dynamic dependencies for problem determination in a distributed environment. In Proceedings of the Integrated Network Management. 377--390.
|
| |
20
|
|
| |
21
|
Frank Buschmann , Regine Meunier , Hans Rohnert , Peter Sommerlad , Michael Stal, Pattern-oriented software architecture: a system of patterns, John Wiley & Sons, Inc., New York, NY, 1996
|
| |
22
|
|
| |
23
|
|
| |
24
|
|
 |
25
|
|
 |
26
|
|
| |
27
|
Cim. Common information model standard. http://www.dmtf.org/standards/cim/.
|
 |
28
|
|
| |
29
|
|
| |
30
|
Dilman, M. and Raz, D. 2002. Efficient reactive monitoring. IEEE J. Select. Areas Comm. 20, 4, 668--676.
|
 |
31
|
Simon Dobson , Spyros Denazis , Antonio Fernández , Dominique Gaïti , Erol Gelenbe , Fabio Massacci , Paddy Nixon , Fabrice Saffre , Nikita Schmidt , Franco Zambonelli, A survey of autonomic communications, ACM Transactions on Autonomous and Adaptive Systems (TAAS), v.1 n.2, p.223-259, December 2006
[doi> 10.1145/1186778.1186782]
|
| |
32
|
Dowling, J. 2004. The decentralised coordination of self-adaptive components for autonomic distributed systems. Ph.D. thesis, Department of Computer Science, Trinity College Dublin.
|
 |
33
|
|
 |
34
|
Gary Duzan , Joseph Loyall , Richard Schantz , Richard Shapiro , John Zinky, Building adaptive distributed applications with middleware and aspects, Proceedings of the 3rd international conference on Aspect-oriented software development, p.66-73, March 22-24, 2004, Lancaster, UK
[doi> 10.1145/976270.976280]
|
| |
35
|
Jacqueline Floch , Svein Hallsteinsen , Erlend Stav , Frank Eliassen , Ketil Lund , Eli Gjorven, Using Architecture Models for Runtime Adaptability, IEEE Software, v.23 n.2, p.62-70, March 2006
[doi> 10.1109/MS.2006.61]
|
| |
36
|
|
| |
37
|
|
| |
38
|
|
 |
39
|
|
 |
40
|
|
| |
41
|
|
| |
42
|
Greenwood, P. and Blair, L. 2004. Using dynamic aspect-oriented programming to implement an autonomic system. In Proceedings of the Dynamic Aspects Workshop. 76--88.
|
| |
43
|
|
| |
44
|
Horn, P. 2001. Autonomic computing: IBM's perspective on the state of information technology. http://www-1.ibm.com/industries/government/doc/content/bin/auto.pdf.
|
| |
45
|
|
 |
46
|
|
| |
47
|
Hutchison, D., Coulson, G., Campbell, A., and Blair, G. S. 1994. Quality of service management in distributed systems. MPG 94-02, Lencater U. 273--302.
|
| |
48
|
Ibm. 2005. Autonomic computing toolkit: Developers guide. Tech. Rep. SC30-4083-03.
|
| |
49
|
Ibm-ac. 2001. Autonomic computing 8 elements. http://www.research.ibm.com/autonomic/overview/elements.html.
|
| |
50
|
Ibm btm. Build to manage tool. http://www.ibm.com/developerworks/eclipse/btm.
|
| |
51
|
Ibm ref. arch. 2005. An architectural blueprint for autonomic computing. IBM white paper. http://www-03.ibm.com/autonomic/pdfs/ACBlueprintWhitePaperV7.pdf.
|
| |
52
|
Ieee-iso/iec 14764. 2006. Standard for software maintenance - IEEE 14764-2006 - ISO/IEC 14764. URL = http://ieeexplore.ieee.org/iel5/11168/35960/01703974.pdf.
|
| |
53
|
Iso/Iec 9126-1. 2001. ISO/IEC 9126-1 Standard: Software Eng. -Product quality - Part 1: Quality model, International Standard Organization, 2001.
|
| |
54
|
Mark Jelasity , Ozalp Babaoglu , Robert Laddaga , Radhika Nagpal , Franco Zambonelli , Emin Gun Sirer , Hakima Chaouchi , Mikhaill Smirnov, Interdisciplinary Research: Roles for Self-Organization, IEEE Intelligent Systems, v.21 n.2, p.50-58, March 2006
[doi> 10.1109/MIS.2006.30]
|
| |
55
|
Kaiser, G. E., Parekh, J., Gross, P., and Valetto, G. 2003. Kinesthetics extreme: An external infrastructure for monitoring distributed legacy systems. In Proceedings of the Active Middleware Services. 22--31.
|
| |
56
|
|
| |
57
|
Karsai, G., Lédeczi, Á., Sztipanovits, J., Péceli, G., Simon, G., and Kovácsházy, T. 2001. An approach to self-adaptive software based on supervisory control. In Proceedings of the International Workshop on Self-Adaptive Software. 24--38.
|
| |
58
|
|
| |
59
|
|
| |
60
|
Keeney, R. L. and Raiffa, H. 1976. Decisions with Multiple Objectives. Wiley.
|
 |
61
|
|
| |
62
|
|
| |
63
|
|
| |
64
|
|
| |
65
|
|
 |
66
|
|
| |
67
|
|
| |
68
|
|
| |
69
|
|
| |
70
|
Laddaga, R. 1997. Self-adaptive software. Tech. Rep. 98-12, DARPA BAA.
|
| |
71
|
|
| |
72
|
|
| |
73
|
|
| |
74
|
|
| |
75
|
Laddaga, R., Robertson, P., and Shrobe, H. E. 2001. Results of the 2nd International workshop on self-adaptive software. In Proceedings of the International Workshop on Self-Adaptive Software. 281--290.
|
| |
76
|
|
 |
77
|
|
| |
78
|
|
| |
79
|
Lieberherr, K. J. and Palsberg, J. 1993. Engineering adaptive software. Projest Proposal, ftp://ftp.ccs.neu.edu/pub/people/lieber/proposal.ps.
|
 |
80
|
|
| |
81
|
|
| |
82
|
Joseph P. Loyall , David E. Bakken , Richard E. Schantz , John A. Zinky , David A. Karr , Rodrigo Vanegas , Kenneth R. Anderson, QoS Aspect Languages and Their Runtime Integration, Selected Papers from the 4th International Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers, p.303-318, May 28-30, 1998
|
| |
83
|
|
| |
84
|
Maes, P. 1990. Situated agents can have goals. Robot. Auton. Syst. 6, 49--70.
|
 |
85
|
|
| |
86
|
McCann, J. A. and Huebscher, M. C. 2004. Evaluation issues in autonomic computing. In Proceedings of the Conference on Grid and Cooperative Computing Workshops. 597--608.
|
| |
87
|
|
| |
88
|
|
| |
89
|
|
| |
90
|
Mark H. Klein , Rick Kazman , Leonard J. Bass , S. Jeromy Carrière , Mario Barbacci , Howard F. Lipson, Attribute-Based Architecture Styles, Proceedings of the TC2 First Working IFIP Conference on Software Architecture (WICSA1), p.225-244, February 22-24, 1999
|
 |
91
|
|
| |
92
|
Mukhija, A. and Glinz, M. 2005. Runtime adaptation of applications through dynamic recomposition of components. In Proceedings of the International Conference on Architecture of Computing Systems. 124--138.
|
| |
93
|
|
| |
94
|
|
| |
95
|
Northrop, L. 2006. Ultra-large-scale systems: The software challenges of the future. Tech. rep., Carnegie Mellon University. July. http://www.sei.cmu.edu/uls/.
|
| |
96
|
Nowicki, T., Squillante, M. S., and Wu, C. W. 2005. Fundamentals of dynamic decentralized optimization in autonomic computing systems. In Lecture Notes in Computer Science, vol. 3460. 204--218.
|
| |
97
|
Peyman Oreizy , Michael M. Gorlick , Richard N. Taylor , Dennis Heimbigner , Gregory Johnson , Nenad Medvidovic , Alex Quilici , David S. Rosenblum , Alexander L. Wolf, An Architecture-Based Approach to Self-Adaptive Software, IEEE Intelligent Systems, v.14 n.3, p.54-62, May 1999
[doi> 10.1109/5254.769885]
|
| |
98
|
|
| |
99
|
|
| |
100
|
|
 |
101
|
|
| |
102
|
Patrascu, R., Boutilier, C., Das, R., Kephart, J. O., Tesauro, G., and Walsh, W. E. 2005. New approaches to optimization and utility elicitation in autonomic computing. In Proceedings of the Conference on Artificial Intelligence. 140--145.
|
| |
103
|
|
| |
104
|
|
| |
105
|
|
 |
106
|
|
| |
107
|
|
 |
108
|
|
| |
109
|
Porcarelli, S., Castaldi, M., Giandomenico, F. D., Bondavalli, A., and Inverardi, P. 2003. A framework for reconfiguration-based fault-tolerance in distributed systems. In Proceedings of the ICSE Workshop on Architecting Dependable Systems II. 167--190.
|
| |
110
|
Qu, G. and Hariri, S. 2007. Autonomic Computing: Concepts, Infrastructures, and Applications. CRC, Chapter Anomaly-based self-protection against network attacks, 493--521.
|
| |
111
|
|
| |
112
|
Robertson, P. and Laddaga, R. 2005. Model based diagnosis and contexts in self adaptive software. In Proceedings of the Conference on Self-* Properties in Complex Information Systems. 112--127.
|
 |
113
|
|
| |
114
|
|
| |
115
|
|
| |
116
|
|
| |
117
|
|
| |
118
|
Sadjadi, S. M., McKinley, P. K., Cheng, B. H. C., and Stirewalt, R. E. K. 2004. TRAP/J: Transparent generation of adaptable Java programs. Lecture Notes in Computer Science, vol. 3291. 1243--1261.
|
| |
119
|
Salehie, M., Li, S., Asadollahi, R., and Tahvildari, L. 2009. Change support in adaptive software: A case study for fine-grained adaptation. In Proceedings of the IEEE Conference and Workshops on Engineering of Autonomic and Autonomous Systems. 35--44.
|
 |
120
|
Mazeiar Salehie , Sen Li , Ladan Tahvildari, Employing aspect composition in adaptive software systems: a case study, Proceedings of the 1st workshop on Linking aspect technology and evolution, p.17-21, March 03-03, 2009, Charlottesville, Virginia, USA
[doi> 10.1145/1509847.1509851]
|
 |
121
|
|
| |
122
|
|
| |
123
|
|
 |
124
|
|
| |
125
|
Schmidt, D. C. and Cleeland, C. 1999. Applying patterns to develop extensible orb middleware. IEEE Comm. Mag. 37, 54--63.
|
| |
126
|
Scott, J., Neema, S., Bapty, T., and Abbott, B. 2000. Hardware/software runtime environment for dynamically reconfigurable systems. Tech. Rep. ISIS-2000-06, Vanderbilt Univ.
|
| |
127
|
Serugendo, G. D. M., Foukia, N., Hassas, S., Karageorgos, A., Mostéfaoui, S. K., Rana, O. F., Ulieru, M., Valckenaers, P., and van Aart, C. 2003. Self-organisation: Paradigms and app. In Proceedings of the Engineering Self-Organising Applications Workshop. 1--19.
|
| |
128
|
Shiftone jrat. JRat (Java Runtime Analysis Toolkit). http://jrat.sourceforge.net/.
|
| |
129
|
Sloman, M. 1994. Policy driven management for distributed systems. J. Netw. Syst. Manage. 2, 4.
|
 |
130
|
|
| |
131
|
|
| |
132
|
Sterritt, R. 2003. Autonomic computing: the natural fusion of soft computing and hard computing. In Proceedings of the IEEE International Conference on Systems, Management and Cybernetics. vol. 5. 4754--4759.
|
| |
133
|
Sterritt, R. and Bustard, D. W. 2003. Autonomic computing—a means of achieving dependability? In Proceedings of the IEEE Symposium and Workshops on Engineering of Computer-Based Systems 247--251.
|
| |
134
|
Sterritt, R., Parashar, M., Tianfield, H., and Unland, R. 2005. A concise introduction to autonomic computing. Adv. Eng. Informatics 19, 181--187.
|
 |
135
|
|
 |
136
|
|
| |
137
|
|
| |
138
|
|
| |
139
|
Gerald Tesauro , David M. Chess , William E. Walsh , Rajarshi Das , Alla Segal , Ian Whalley , Jeffrey O. Kephart , Steve R. White, A Multi-Agent Systems Approach to Autonomic Computing, Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, p.464-471, July 19-23, 2004, New York, New York
[doi> 10.1109/AAMAS.2004.23]
|
| |
140
|
Tuttle, S., Batchellor, V., Hansen, M. B., and Sethuraman, M. 2003. Centralized risk management using tivoli risk manager 4.2. Tech. rep., IBM Tivoli Software.
|
| |
141
|
Tziallas, G. and Theodoulidis, B. 2004. A controller synthesis algorithm for building self-adaptive software. Inform. Softw. Tech. 46, 11, 719--727.
|
| |
142
|
|
| |
143
|
Verma, K. and Sheth, A. P. 2005. Autonomic web processes. In Proceedings of the International Conference on Service-Oriented Computing. Lecture Notes in Computer Science, vol. 3826. 1--11.
|
| |
144
|
|
| |
145
|
Westerinen, A., Schnizlein, J., Strassner, J., Scherling, M., Quinn, B., Perry, J., Herzog, S., Huynh, A.-N., and Carlson, M. 2000. Policy terminology. IETF, Internet Draft draftietf-policy-terminology-00.txt.
|
 |
146
|
|
| |
147
|
White, J., Schmidt, D. C., and Gokhale, A. S. 2005. Simplifying autonomic enterprise java bean applications via model-driven development: A case study. In Proceedings of the International Conference on Model Driven Engineering Languages and Systems 601--615.
|
| |
148
|
|
| |
149
|
|
| |
150
|
|
|