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结果表明,量子软件代表了一类新的软件密集型系统;然而,现有的过程和符号可被裁剪,以推导出架构活动并开发量子软件的建模语言。映射到量子门的量子比特可被表示为实现量子软件的架构组件和连接器。工具链可整合可复用知识和人员角色(例如量子领域工程师、量子代码开发者),以实现架构过程的自动化和定制化。本SLR的结果有助于研究人员和实践者提出待检验的新假设、推导参考架构,并利用以架构为中心的原则和实践来工程化新兴及下一代量子软件。