Comparative evaluation of the state-of-the art on approaches to software adaptation - Awang, Nor Hazilawati (IEEE, 2009)
Software needs to evolve to ensure it continuously relevant in supporting the needs of an organization. Thus, software evolution is unavoidable for its survival. Due to rapid changes in business environment and advancement of technology, simplifying software evolution becomes more challenging and may involve high cost. Approaches in simplifying software evolution via software adaptation have been the subject of many current researches. Based on exhaustive literature review, we define four classifications of approaches to software adaptation. The four approaches are Architecture-based, Component-based, Middleware-based and Agent-based. In this paper we present the results of a systematic comparison on the state-of-the-art in software adaptation approaches mentioned earlier. Five evaluation criteria are defined to compare the said approaches. The evaluation criteria used are scalability, context-awareness, heterogeneity, performance and dynamic evolvability. The result of the evaluation is used to determine the best current approach to developing adaptive software in order to simplify software evolution. The evaluation result is also used as input for the development of a framework to simplify software evolution. High-level view of the framework is presented towards the end of the paper.