An Introduction to Self-Adaptive Software

Widespread popularization of Internet and emergence of many application patterns such as pervasive computing and grid computing have taken lots of challenges to software research and industry: the increasing cost on management and maintenance, the more strict robustness requirements, the even larger gap between released software and runtime software, etc. Under this circumstance, self-adaptive software has proposed series of solutions, trying to adjust itself while keeps running, based on the various collected information and pre-defined policies. This paper presents fundamental concepts, research status and implementation techniques of self-adaptive software, and our preliminary study in this field.