Abstract:
Self-adaptation has always been a hot topic in the interdisciplinary field of software engineering and service computing. By perceiving the changes of themselves and the environment, applications dynamically adjust their behaviors and processes to continue achieving service goals efficiently under the circumstances of the non-deterministic changes of environment and requirements. With the recent development of big data and artificial intelligence(AI), traditional model-based control methods in software engineering are no longer suitable for dynamic and complex service computing environments nowadays. In contrast, the data-driven approach does not rely on mathematical models and expert knowledge but is based on probability and mathematical statistics. By applying the feedback data of service operation, the approach gradually learns and understands the complex and changeable environmental feedback, and then learns the model of the adaptive system. Therefore, the data-driven self-adaptive service computing has the characteristics of perceptibility, adaptability, autonomy and collaboration, etc. It is suitable for more complex application scenarios, such as the Internet of things, intelligent transportation and distributed computing. Based on the self-adaptive framework and the related characteristics of cognitive computing, a data-driven intelligent adaptive framework is proposed. And then, we have reviewed the application of representation learning, pattern recognition, decision planning and rule evolution in data-driven adaptive technology in recent years, respectively. It mainly explores the application of machine learning, deep learning and reinforcement learning in these technologies. And finally, it concludes the development of self-adaption and looks forward to the future trends.