# Capturing Software Architecture Knowledge for Pattern-Driven Design

arXiv: https://arxiv.org/abs/2005.08393 · HTML: https://mlsanity.com/paper/2005.08393/

## Key facts

- Cited by 6 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 17 May 2020.

## Built on by (most cited first, 6 of 6)

- [Understanding User Intent Modeling for Conversational Recommender Systems: A Systematic Literature Review](https://mlsanity.com/paper/2308.08496/) (2023)
- [Unified Architecture Metamodel of Information Systems Developed by Generative AI](https://mlsanity.com/paper/2604.00171/) (2026)
- [A Decision Model for Decentralized Autonomous Organization Platform Selection: Three Industry Case Studies](https://mlsanity.com/paper/2107.14093/) (2021)
- [Empirical Evaluation of AI-Assisted Software Package Selection: A Knowledge Graph Approach](https://mlsanity.com/paper/2508.05693/) (2025)
- [Evidence-Driven Decision Support for AI Model Selection in Research Software Engineering](https://mlsanity.com/paper/2512.11984/) (2025)
- [SAKE: Software Architectural Knowledge Evaluation Benchmark for Large Language Models](https://mlsanity.com/paper/2606.29520/) (2026)

## Abstract (arXiv)

Context: Software architecture is a knowledge-intensive field. One mechanism for storing architecture knowledge is the recognition and description of architectural patterns. Selecting architectural patterns is a challenging task for software architects, as knowledge about these patterns is scattered among a wide range of literature. Method: We report on a systematic literature review, with the aim of building a decision model for the architectural pattern selection problem. Moreover, twelve experienced practitioners at software-producing organizations evaluated the usability and usefulness of the extracted knowledge.newline Results: An overview is provided of 29 patterns and their effects on 40 quality attributes. Furthermore, we report in which systems the 29 patterns are applied and in which combinations. The practitioners confirmed that architectural knowledge supports software architects with their decision-making process to select a set of patterns for a new problem. We investigate the potential trends among architects to select patterns. Conclusion: With the knowledge available, architects can more rapidly select and eliminate combinations of patterns to design solutions. Having this knowledge readily available supports software architects in making more efficient and effective design decisions that meet their quality concerns.
