Abbasi, Aakash Ahmad (2015) A pattern language for evolution reuse in component-based software architectures. PhD thesis, Dublin City University.
Abstract
Context: Modern software systems are prone to a continuous evolution under frequently varying requirements and changes in operational environments. Architecture-Centric Software Evolution (ACSE) enables changes in a system’s structure and behaviour while maintaining a global view of the software to address evolution-centric trade-offs. Lehman’s law of continuing change demands for long-living and continuously evolving architectures to prolong the productive life and economic value of software. Also some industrial research shows that evolution reuse can save approximately 40% effort of change implementation in ACSE process. However, a systematic review of existing research suggests a lack of solution(s) to support a continuous integration of
reuse knowledge in ACSE process to promote evolution-off-the-shelf in software architectures.
Objectives: We aim to unify the concepts of software repository mining and software evolution to discover evolution-reuse knowledge that can be shared and reused to guide ACSE.
Method: We exploit repository mining techniques (also architecture change mining) that investigates architecture change logs to discover change operationalisation and patterns. We apply
software evolution concepts (also architecture change execution) to support pattern-driven reuse in ACSE. Architecture change patterns support composition and application of a pattern language that exploits patterns and their relations to express evolution-reuse knowledge. Pattern language composition is enabled with a continuous discovery of patterns from architecture change logs and
formalising relations among discovered patterns. Pattern language application is supported with an incremental selection and application of patterns to achieve reuse in ACSE. The novelty of the research lies with a framework PatEvol that supports a round-trip approach for a continuous acquisition (mining) and application (execution) of reuse knowledge to enable ACSE. Prototype
support enables customisation and (semi-) automation for the evolution process.
Results: We evaluated the results based on the ISO/IEC 9126 - 1 quality model and a case study based validation of the architecture change mining and change execution processes. We observe consistency and reusability of change support with pattern-driven architecture evolution. Change patterns support efficiency for architecture evolution process but lack a fine-granular
change implementation. A critical challenge lies with the selection of appropriate patterns to form a pattern language during evolution.
Conclusions: The pattern language itself continuously evolves with an incremental discovery of new patterns from change logs over time. A systematic identification and resolution of change anti-patterns define the scope for future research.
Metadata
Item Type: | Thesis (PhD) |
---|---|
Date of Award: | November 2015 |
Refereed: | No |
Supervisor(s): | Pahl, Claus |
Uncontrolled Keywords: | Software Evolution; Software Architecture; Architecture-Centric Software Evolution; Software Repository Mining; Pattern Discovery; Change Patterns; Pattern Language |
Subjects: | UNSPECIFIED |
DCU Faculties and Centres: | Research Institutes and Centres > Lero: The Irish Software Engineering Research Centre DCU Faculties and Schools > Faculty of Engineering and Computing > School of Computing |
Use License: | This item is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 3.0 License. View License |
ID Code: | 20757 |
Deposited On: | 13 Nov 2015 12:14 by Claus Pahl . Last Modified 19 Jul 2018 15:06 |
Documents
Full text available as:
Preview |
PDF
- Requires a PDF viewer such as GSview, Xpdf or Adobe Acrobat Reader
5MB |
Downloads
Downloads
Downloads per month over past year
Archive Staff Only: edit this record