2013/01/01 by Aakash Ahmad, Pooyan Jamshidi, Ahmad, Aakash +5
Computer Science · #Advanced Software Engineering Methodologies #Model-Driven Software Engineering Techniques #Software Engineering Research
paper · doi:10.14279/tuj.eceasst.59.931
openalex publication_date 2013/01/01 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/29
Architecture-centric software evolution enables change in a system’s structure and behaviour while maintaining a global view of the software to address evolution-centric trade-offs. The existing solutions for architectural maintenance and evolution fall short of exploiting generic and reusable expertise to address recurring evolution problems. We present a pattern language as a collection of interconnected change patterns that enable reuse-driven and consistent evolution of component-based software architectures. Pattern interconnections represent possible relationships among patterns (such as variants or related patterns) in the language. In general, we introduce architecture change mining (pattern language development) as a complementary and integrated phase to facilitate reuse-driven architecture change execution (pattern language application). We evaluate the language applicability to support pattern-driven reuse in architecture evolution of a payment system case study. We also analyse the precision and recall factor as a measure of selecting the most appropriate pattern(s) from the language collection. The pattern language itself continuously evolves with an incremental discovery of new patterns from change logs over time