  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.
