Abstract
Self-adaptive software, a software which can modify its structure or behavior by itself to satisfy its requirements in response to changes in an environment, is a promising approach to software systems for dynamic environments. To develop the self-adaptive software, adaptation logic is need to be designed in addition to application logic. In this paper, we survey self-adaptation design for self-adaptive software, which is one of recent trends in software engineering research area. We show problems and existing works for each activity in Monitor-Analyze-Plan-Execute-Knowledge loop model, which is a representative modeling approach of adaptation logic.