Runtime View
In this section, we document the runtime view, which describes the concrete behavior and interaction of the building blocks across various scenarios. This provides valuable insights into the requirements of the components and enables us to better understand key properties of its execution process.
Info
Learn more about runtime view documentation for software architecture in the arc42 guide.
Quantum Software Application Execution
Here we visualise a concrete example from our scenario-based analysis to illustrate a quantum software application is executed across different layers. This scenario covers an application in material simulation, check out the scenario's documentation for the details.
A common misconception
Note that this diagram does not characterise any deployment properties. For example, the VQE algorithm and COBYLA optimiser depicted in the application layer do not necessarily have to be executed in a python environment and could also be compiled to be executed in a cloud, high-performance, or other runtime environment. See Deployment View for deployment concerns.
Interaction between the System and Physical Layers
In the building block view, we argue for the need of a common interface between the System Layer and the Physical Layer, and we call this interface the Common Quantum Device Interface. It serves two main tasks for the System Layer:
- Querying device data: Some compilation passes in the System Layer need to access device meta data such as the qubit topology, decoherence times or calibration data.
- Submitting quantum jobs: The host application needs to submit compiled quantum workloads to the quantum device for execution.
From the perspective of the Physical Layer, all functionality is shielded from the System Layer through the Common Quantum Device Interface, which acts as a facade. The sequence diagram below illustrates how the Physical and System Layers typically interact using the Common Quantum Device Interface:
QEC Decoding Loop
Quantum Error Correction (QEC) will likely play a crucial role in making quantum computers fault tolerant. To realise QEC in practice, syndrome measurements must be executed, syndromes must be decoded, and corrections must be applied at a high pace to reduce the logical error rate effectively1. The decoding loop is executed repeatedly during the execution of the encoded quantum program, so the syndrome measurements have to be realised as mid-circuit measurements.
We visualise the decoding loop in the following sequence diagram:
-
Higgott, O. & Gidney, C. Sparse Blossom: correcting a million errors per core second with minimum-weight matching. Quantum 9, 1600 (2025). ↩