Self-adaptation for Sustainable Software and Its Application in Current Approaches - An SLR
摘要
The role of sustainable approaches has never been as important as it is today, especially with the rising concerns of climate change. Since software is everywhere, sustainability is a key aspect also for software systems. In recent years, the software engineering community is considering more and more the reduction of the overall energy consumption as a key goal for software systems during their execution. To address sustainability from the software engineering perspective, various approaches have been proposed, self-adaptation being one of them. Self-adaptation enables software to be context-aware and self-aware, hence, to change its functioning and performance based on the current execution conditions. From the sustainability point of view, self-adaptation ensures flexibility and efficiency in resource and energy management, for example based on current energy sources, energy consumers, tasks to be executed, and user expectations. In this research, we perform a systematic literature review (SLR) on (1) the use of self-adaptation for achieving sustainability, and (2) the existing approaches in various application domains. Identified studies show that self-adaptation is an effective approach to reach sustainability, mainly reflected in the key abilities of ensuring performance, efficient resource management, and adaptability.