ACM Home Page
Please provide us with feedback. Feedback
Self-adaptive software: Landscape and research challenges
Full text PdfPdf (359 KB)
Source
ACM Transactions on Autonomous and Adaptive Systems (TAAS) archive
Volume 4 ,  Issue 2  (May 2009) table of contents
Article No. 14  
Year of Publication: 2009
ISSN:1556-4665
Authors
Mazeiar Salehie  University of Waterloo, Waterloo, Canada
Ladan Tahvildari  University of Waterloo, Waterloo, Canada
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 162,   Downloads (12 Months): 682,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1516533.1516538
What is a DOI?

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
 
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
 
10
 
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
 
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
 
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
 
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
 
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
 
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
 
35
 
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
 
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
 
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
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
 
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
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
 
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

Collaborative Colleagues:
Mazeiar Salehie: colleagues
Ladan Tahvildari: colleagues