An architectural design decision-centric approach to architectural evolution

As evolving software gets more complex in each increment, architectural evolution becomes more important for rapid development of software. Architectural evolution is closely related to architectural design decisions in that new design decisions are taken or existing design decisions are reconsidered to evolve the architecture. Nevertheless, the concept of architectural design decisions lacks in the evolution of software architectures. Consequently, the results of the design decisions underlying the architecture are implicitly embedded within the architecture. This leads to some problems such as software inconsistency and regression test. To address these problems, this paper proposes a meta-model of architectural design decisions for making them more explicit. Based on the proposed model, this paper provides an architectural design decision-centric approach to architectural evolution.