🤖 AI Summary
Quantum software architecture design lacks systematic guidance, leading to difficulties in selecting appropriate patterns and strategies. Method: This paper proposes the first architecture decision model covering six domains—communication, decomposition, data processing, fault tolerance, integration optimization, and algorithm implementation—grounded in an integrated empirical study (mining GitHub and Stack Exchange, plus semi-structured interviews with 16 practitioners) and a systematic literature review. The model explicitly links architectural decisions to quality attributes. Contribution/Results: Validated by industry practitioners, the model significantly improves the efficiency and accuracy of quantum software architecture decisions. All supporting datasets are publicly released to enable reproducible research.
📝 Abstract
Quantum software represents disruptive technologies in terms of quantum-specific software systems, services, and applications - leverage the principles of quantum mechanics via programmable quantum bits (Qubits) that manipulate quantum gates (QuGates) - to achieve quantum supremacy in computing. Quantum software architecture enables quantum software developers to abstract away implementation-specific details (i.e., mapping of Qubits and QuGates to high-level architectural components and connectors). Architectural patterns and strategies can provide reusable knowledge and best practices to engineer quantum software systems effectively and efficiently. However, quantum software practitioners face significant challenges in selecting and implementing appropriate patterns and strategies due to the complexity of quantum software systems and the lack of guidelines. To address these challenges, this study proposes decision models for selecting patterns and strategies in six critical design areas in quantum software systems: Communication, Decomposition, Data Processing, Fault Tolerance, Integration and Optimization, and Algorithm Implementation. These decision models are constructed based on data collected from both a mining study (i.e., GitHub and Stack Exchange) and a Systematic Literature Review, which were used to identify relevant patterns and strategies with their involved Quality Attributes (QAs). We then conducted semi-structured interviews with 16 quantum software practitioners to evaluate the familiarity, understandability, completeness, and usefulness of the proposed decision models. The results show that the proposed decision models can aid practitioners in selecting suitable patterns and strategies to address the challenges related to the architecture design of quantum software systems. The dataset is available at [6], allowing the community to reproduce and build upon our findings.