Quantum computing systems rely on the principles of quantum mechanics to perform a multitude of computationally challenging tasks more efficiently than their classical counterparts. The architecture of software-intensive systems can empower architects who can leverage architecture-centric processes, practices, description languages, etc., to model, develop, and evolve quantum computing software (quantum software for short) at higher abstraction levels. We conducted a systematic literature review (SLR) to investigate (i) architectural process, (ii) modeling notations, (iii) architecture design patterns, (iv) tool support, and (iv) challenging factors for quantum software architecture. Results of the SLR indicate that quantum software represents a new genre of software-intensive systems; however, existing processes and notations can be tailored to derive the architecting activities and develop modeling languages for quantum software. Quantum bits (Qubits) mapped to Quantum gates (Qugates) can be represented as architectural components and connectors that implement quantum software. Tool-chains can incorporate reusable knowledge and human roles (e.g., quantum domain engineers, quantum code developers) to automate and customize the architectural process. Results of this SLR can facilitate researchers and practitioners to develop new hypotheses to be tested, derive reference architectures, and leverage architecture-centric principles and practices to engineer emerging and next generations of quantum software.
翻译:量子计算系统依靠量子力学原理执行多种具有挑战性的计算任务,比经典计算系统更有效率。软件密集型系统的体系结构能够赋予架构师用于在更高级别上建模、开发和演变量子计算软件(简称量子软件)的架构中心过程、实践、描述语言等能力。我们进行了系统性文献综述(SLR)以研究量子软件架构的(i)体系结构过程、(ii)建模符号、(iii)体系结构设计模式、(iv)工具支持,以及(v)挑战性因素。SLR的结果表明,量子软件代表一种新的软件密集型系统类型,然而现有的过程和符号可以针对量子软件推导体系结构活动并开发建模语言。量子位(Qubits)映射到量子门(Qugates)可以被表示为实现量子软件的架构组件和连接器。工具链可以整合可重用的知识和人员角色(例如量子领域工程师、量子代码开发者)以自动化和定制化体系结构过程。本文的SLR结果能够帮助研究人员和实践者提出新的假设、推导参考体系结构,并利用架构中心原则和实践工程化新兴和下一代量子软件。