Evolving Software Systems Towards Adaptability
Mehdi Amoui · 2009
The increasing demand for autonomic computing calls for modernizing existing software into self-adaptive ones. However, evolving legacy software to cover adaptive behaviors is a risky and error-prone task due to the extensive changes it requires in the majority cases. The focus of this research is to propose a cost-efficient systematic approach for evolving software according to adaptation requirements. The novelty of this research is a new evolution process to assist with adding adaptive features to an existing software. Such a process includes unique properties and novel concepts of self-adaptive software, namely: a co-evolutionary model of self-adaptive software, and primitive effecting operations. Our proposed approach formulates the problem of defining software specifications as an optimization problem of finding a mapping from goal/action models to a set of primitive operations that can be added to the original software by a set of transformations.