Evolution Patterns: Designing and Reusing Architectural Evolution Knowledge to Introduce Architectural Styles
This work addresses the recurring need for better support in evolving software architectures, particularly for domain-specific applications, though it appears incremental in nature.
The paper tackled the problem of supporting architectural evolution in software-intensive systems by introducing evolution patterns, which formalize and reuse architectural evolution knowledge, specifically for introducing architectural styles, and validated the approach through implementation in an Eclipse plugin.
Software architectures are critical in the successful development and evolution of software-intensive systems. While formal and automated support for architectural descriptions has been widely addressed, their evolution is equally crucial, but significantly less well-understood and supported. In order to face a recurring evolution need, we introduce the concept of evolution pattern. It formalises an architectural evolution through both a set of concepts and a reusable evolution process. We propose it through the recurring need of introducing an architectural style on existing software architectures. We formally describe and analyse the feasibility of architectural evolution patterns, and provide a practical validation by implementing them in COSABuilder, an Eclipse plugin for the COSA architectural description language.