Architecture-centric evolution process based on Dedal
Based on Dedal, we develop an architecture-centric software evolution process.
In this work, we highlight evolution from two aspects.
- Architecture-centric evolution. The evolution is based on architecture models (three levels). Architectures are the underlying logical foundation of software evolution.
Evolution is not only applied on runtime system but also can be initiated at any of the three levels of software architecture.
- Autonomous evolution. Evolution is autonomous, indicating that human involvement in the evolution process is absent, or at least greatly minimized.
The evolution process (shown in Fig. 1) contains three phases:
- Evolution planning to analyze the change impact and check its consistency in each
abstraction level of software,
- Evolution implementation to prepare, test the change and implement it in implementation environment,
- Evolution re-engineering to propagate change to unchanged levels and version software if necessary.

Fig.1:Component-based software evolution process based on Dedal
This evolution process is controlled by evolution management which contains architecture evolution management module and implementation evolution management module to govern the architecture models and implementation respectively.