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),以调查(一) 建筑过程,(二) 建模标记,(三) 建筑设计模式,(四) 工具支持,以及(四) 量子软件结构的挑战性因素。SLR的结果表明,量子软件代表了软件密集系统的新基因;然而,现有的流程和说明可以专门设计成设计建筑活动,并开发量子软件软件的模型语言。 量子比特(Qubits)被绘制到量子门(Qugates),可以作为建筑构件和连接器使用量子软件。工具链可以包含可再使用的知识与人的作用(例如量域工程师、量子代码设计师),可以将新的流程和定型机机的系统设计师和定型结构系统设计系统化,可以将新结构的流程发展为自我测试,并发展新结构的流程。