# QCSHQD: Quantum computing as a service for Hybrid classical-quantum software
development: A Vision

Maryam Tavassoli Sabzevari<EMAIL_ADDRESS>0009-0004-8879-0285 University of OuluPentti Kaiteran Katu,
1OuluFinlandFI-90550 ,  Matteo Esposito<EMAIL_ADDRESS>0000-0002-8451-3668 University of Rome “Tor Vergata”Via del Politecnico,
1RomeLazioItaly00132 ,  Davide Taibi<EMAIL_ADDRESS>0000-0002-3210-3990
University of OuluPentti Kaiteran Katu, 1OuluFinlandFI-90550 and  Arif Ali
Khan<EMAIL_ADDRESS>0000-0002-8479-1481 University of OuluPentti Kaiteran
Katu, 1OuluFinlandFI-90550

(2024)

###### Abstract.

Quantum Computing (QC) is transitioning from theoretical frameworks to an
indispensable powerhouse of computational capability, resulting in extensive
adoption across both industrial and academic domains. QC presents exceptional
advantages, including unparalleled processing speed and the potential to solve
complex problems beyond the capabilities of classical computers. Nevertheless,
academic researchers and industry practitioners encounter various challenges
in harnessing the benefits of this technology. The limited accessibility of QC
resources for classical developers, and a general lack of domain knowledge and
expertise, represent insurmountable barrier, hence to address these
challenges, we introduce a framework- Quantum Computing as a Service for
Hybrid Classical-Quantum Software Development (QCSHQD), which leverages
service-oriented strategies. Our framework comprises three principal
components: an Integrated Development Environment (IDE) for user interaction,
an abstraction layer dedicated to orchestrating quantum services, and a
service provider responsible for executing services on quantum computer. This
study presents a blueprint for QCSHQD, designed to democratize access to QC
resources for classical developers who want to seamless harness QC power. The
vision of QCSHQD paves the way for groundbreaking innovations by addressing
key challenges of hybridization between classical and quantum computers.

Quantum computing; Quantum services; Hybrid Classical-quantum; Hybrid
Framework

††copyright: acmlicensed††journalyear: 2024††doi: XXXXXXX.XXXXXXX††conference:
ACM Symposium on the Foundations of Software Engineering; November 15–19,
2024; Porto de Galinhas, Brazil††booktitle: Proceedings of the 32nd ACM
Symposium on the Foundations of Software Engineering (FSE ’24), November
15–19, 2024, Porto de Galinhas, Brazil††isbn: 978-1-4503-XXXX-X/18/06††ccs:
Theory of computation Design and analysis of algorithms††ccs: Theory of
computation Tree languages††ccs: Hardware Quantum technologies††ccs: Hardware
Quantum computation††ccs: Hardware Emerging technologies

##  1\. Introduction

Quantum computing has received rapidly growing industrial interest. It is
evidenced by the fact that technology giants such as IBM (IBM, 11), Google
(Google, 9), and Microsoft (Microsoft, 18) have heavily invested in and
committed to QC. Moreover, the European Union has invested an expected budget
of one billion euros over ten years in an initiative known as the European
Quantum Technologies Flagship, to position Europe as a leading force in the
quantum revolution111https://tinyurl.com/mr4bxmv5.

Tech giant and government interest has empowered QC and paved the way for
business development in various areas, such as cybersecurity, financial
services, healthcare and aerospace (aithal2023advances, 3). However, the
development of QC applications in a systematic, anticipated, and cost-
effective way is critically challenging and remains an unsolved problem
(ali2022software, 4, 13, 27, 30). The need for advanced approaches to tackle
this problem is essential to enable QC to live up to its promising potential,
therefore, we need advanced solutions to enable QC reaching its full
potential.

Like the classical computing systems, there is a need for quantum software
systems and applications that can exploit the benefits of quantum information
processing by operationalizing quantum computers (khan2023software, 13). This
need is explicitly highlighted in a national agenda for software engineering
research and development presented by Software Engineering Institute
(SEI)-Carnegie Mellon University (carleton2021architecting, 6):”the
development of quantum computing software systems is considered a pivotal
future focus area. This paper presents the objectives of this research area,
which are initially focused on facilitating the development of quantum
software for existing quantum computers and then increasing abstraction as
larger, fully fault-tolerant quantum computing systems become available. A key
challenge is to fully integrate these types of systems into a unified
classical and quantum software development life cycle”. Ensuring robust
support for software components is crucial for harnessing the comprehensive
capabilities of QC. Therefore, the seamless integration of quantum hardware
and software emerges as an essential requirement for fully leveraging the
potential of QC technologies 222https://tinyurl.com/2p9y2a64. In this study,
we presented a Service for Hybrid Classical-Quantum Software Development
(QCSHQD) to bridge the gap between classical developers and QC resources by
exploiting service-oriented computing strategies.

The remaining sections of this paper are organized as follows: Section 2
provides the foundational background and underlying motivations of this idea.
Our vision and its workflow are described in Section 3. Section 4 discusses
the tools and technologies selected for implementing QCSHQD, outlining the
methodologies and approaches to be employed. Finally in Section 5, we draw a
comprehensive conclusion and our plans.

##  2\. Background And Motivation

The word quantum in ”quantum computing” indicates the quantum mechanics that a
system utilize to run computational intensive operations (zhao2020quantum, 30,
19). In Physics, quantum is the smallest unit of any physical entity and
generally it refers to atomic or subatomic particles e.g., electrons, neutrons
and photons. QC leverages the principles of quantum mechanics to process
information and perform specific computational tasks much faster than
conventional computer systems and allows practitioners and researchers, to
probe many possibilities simultaneously. QC is well suited for tasks like
optimization, analysis, simulation, cybersecurity, cryptography, and molecular
modelling etc. (zhao2020quantum, 30, 17, 5).

The key difference between the classical and quantum computer is the qubit
(zhao2020quantum, 30, 14). Differently than classical computer exclusive bits
(0,1), qubits can be in a state that is a superposition of 0 and 1.
Superposition allows for the representation of qubits as a linear combination
of two basis states —0 and —1. Consequently, any qubit can be represented as
$x|0\rangle+y|1\rangle$, where x and y are complex numbers that adhere to the
normalization condition $|x|^{2}+|y|^{2}=1$. This condition ensures that the
probability of finding the qubit in either state upon measurement is one.

The distinct feature of quantum mechanics is the superposition
(zhao2020quantum, 30)(dirac1981principles, 7). Superposition means that a
quantum system at a time could be at all possible states rather than one
specific state. In quantum computers, a quantum register exists in all
possible 0s and 1s superposition states, unlike classical, where the register
has only one value at a time. Therefore, two qubits combine as a whole in a
superposition of four quantum states, i.e. —00—01—10 and —11, where n qubits
can be described as the superposition state of qubits. It is the significant
advantage of quantum computers over classical ones where n bits have a fixed
single state (zhao2020quantum, 30).

Designing quantum applications is particularly challenging due to the inherent
characteristics of quantum mechanics like superposition and entanglement
(horodecki2009quantum, 10). Therefore, a novel scientific field, quantum
software engineering (QSE) (zhao2020quantum, 30, 22, 23), has emerged and
focus on fostering the application of traditional software engineering methods
to quantum software development. A key point of QSE is integrating classical
and quantum systems, which build the so-called hybrid systems
(piattini2020talavera, 23, 30). The requirement for coexistence and
collaboration between classical and quantum infrastructures has led to the
emergence of hybrid systems. (ramouthar2023hybrid, 24). In hybridization,
specific and complex tasks are assigned to quantum devices, while the less
demanding components to classical computing systems, which minimise the risk
of unstable and unreliable applications (weder2020integrating, 29, 28).
However, this hybrid concept of quantum and classical computing poses various
challenges to application developers, who are required to not only effectively
exploit the potentials of quantum hardware and algorithms but also ensure the
development of industry-strengths applications (ahmad2023engineering, 2, 27,
16). It is reasonable to assume that most classical developers and designers
might lack the essential skills and expertise to perform low-level plumbing
activities in quantum computing infrastructures. They need to go through an
intensive learning process to understand pulses, circuits, hamiltonian
parameters, and complex algorithms. Approaches focused on workflows, such as
those mentioned by (weder2020integrating, 29), are crucial for effectively
orchestrating classical applications with quantum circuits. However, these
approaches have limitations in their capacity to systematically reuse modular
and parameterized knowledge and implement a structured lifecycle model.
Moreover, they typically do not consider the specific context of applications
and often overlook factors of quality and resource constraints. What is
required are the methodologies and tools that enable the design, development,
deployment, monitoring, and management of applications which can be executed
on quantum infrastructure without an in-depth understanding of the underlying
principles of quantum mechanics. At the same time, the applications should be
dynamically adaptable and reliable, capable of handling (unexpected) changes
in the underlying quantum hardware infrastructure. We can address the
hybridization challenges by leveraging service-oriented
computing/architectures(ahmad2023engineering, 2, 1, 20, 21).

Figure 1. Proposed QCSHQD Framework

Service oriented architecture (SOA) is an architectural style in which
business and IT systems are designed in terms of services available at an
interface and the outcomes of these services. A service is a logical
representation of a set of activities that has specified outcomes, is self-
contained, it may be composed of other services but consumers of the service
need not be aware of any internal structure (iso_soa, 12).

Following the SOA principles, we introduce a framework aimed at exploiting the
potential of SOA within the QC domain. QCSHQD enables users, i.e., classical
developers, to locate and employ various QC capabilities, which consist of
computing resources and applications provided by service providers. It offers
a strategy for developing quantum applications by exploiting a set of reusable
functional units, which have well-defined interfaces and are implemented using
classical and quantum hybrid computing methodologies.

We now hypothesize a motivating scenario to elaborate the challenges classical
developers face to leverage QC, and also to highlight the importance of our
scientific endeavours. This scenario also aims to show the impacts and
benefits of QCSHQD.

Motivating Scenario: Drug discovery is one of the most significant industries
in health. Various pharmaceutical companies are trying to develop life-
changing medicines for financial purposes or to improve human life
experiences. To this end, they need to simulate molecular interactions and
solve optimization problems, which consume a lot of time and energy with
classical computers due to the complex nature of chemical processes. While the
engineers working in this companies know that by using quantum computers,
these simulations can be done with higher accuracy and speed, they will face
two significant challenges:

  * •

Complexity of Quantum Computing: The team lacks expertise in quantum mechanics
and finds the quantum computing landscape more complex than classical
computing. This gap in knowledge makes it difficult for them to leverage
quantum computing for their project.

  * •

Accessibility of Quantum Resources: Even if they had the necessary knowledge,
gaining access to quantum computing resources is another hurdle. Quantum
computers are not widely accessible, and interfacing with them requires
specific tools, methods, and processes.

We introduce QCSHQD to address such challenges. Our framework offers a
solution to make QC resources available as a service to classical developers,
eliminating the need for them to have expertise in quantum mechanics. Our
framework strives for making QC practical and easily accessible within
software development scenarios.

##  3\. The Vision

We introduce QCSHQD, a middleware allowing developers to use QC services in
their current classical software development setup. QCSHQD aims to simplify
the process of connecting to and using quantum services, so developers can
delegate complex computational tasks to QC.

QCSHQD consists of three key components: the Local Integrated Development
Environment (IDE) - a dedicated space for classical developers to work; the
abstraction layer- responsible for managing quantum services; and the service
provider- primarily tasked with the execution of the invoked services. Figure
1 presents QCSHQD workflow, structured in six steps, to streamline access to
QC services for users. According to our design, the workflow starts when the
developers need the available QC services, which they iteratively invoke using
the local IDE interface (1) by defining the input parameters and the
optimization parameters of the service (See Figure 1). Next based on the
specified parameters, the abstraction layers takes these information and
translate using input translator (2) into a form that quantum computer can
process. Based on the translated parameters, the quantum computer recommender
(3) identifies the quantum computer that is available and optimal to execute a
given request (valencia2021hybrid, 26). Once the quantum computer is selected,
the service manager requests the required information to deploy the service to
the selected quantum computer (4). After the execution of the service, the
abstraction layer receives the response (quantum data) from the quantum
computer (5) and decode/translate the quantum results back into a classical
format (6), as shown in Figure 1, which the developers can access using the
IDE interface.

For the interaction across the above components, the abstraction layer
functions as an intelligent intermediary/middleware and simplifies the
complexity of hybridization between classical and quantum computers (See
Figure 1).

##  4\. Implementation and Execution Roadmap

This section details the tools and methodologies for implementing QCSHQD. We
plan to extend the PyDev plugin333https://www.pydev.org/ for Eclipse to
develop the IDE. Furthermore, for version control and research data
management, the project will integrate Git 444https://git-scm.com/, which can
be effectively used within the Eclipse environment through existing Git
plugins.

The abstraction layer design is based on the work of (valencia2021hybrid, 26)
and (weder2021hybrid, 28) through OpenAPI555https://www.openapis.org/ and
TOSCA-based orchestration (lipton2017oasis, 15). The role of a TOSCA-based
orchestration mechanism, (weder2021hybrid, 28, 15) will be automating the
process of translating classical input to quantum-compatible formats,
selecting appropriate quantum computers, handling the deployment of quantum
computing services, interpreting the quantum data and translating them back
into classical representation of the results. The OpenAPI offers a
standardized specification for developing and generating APIs to ensure
seamless task execution and data integrity. The importance of OpenAPI not only
can be defined in users’ understanding and exploring services’ capabilities,
but it will also facilitate services development. Its specification needs to
be modified to support quantum services (romero2023enabling, 25), therefore,
we plan to utilize OpenAPI with an extension, considering custom properties
tailored specifically for defining quantum applications. These custom
properties serve as a means to incorporate supplementary information into the
API contract definition, expanding the scope of the specification
(romero2023enabling, 25).

Our primary deployment targets are QC services available on the cloud as well
as real-world QC infrastructure, such as VTT quantum computer HELMI connected
with CSC LUMI666https://www.csc.fi/lumi for QC provider, which depends on the
evolving situation of QC.

Future efforts will be put into defining and evaluating the existing process
for developing quantum software based on the QCSHQD. To anticipate this task,
we benefit from continuous software engineering practices for team
collaboration, short development iterations, and continuous delivery
(fitzgerald2017continuous, 8).

###  4.1. Potential Limitations

QC is still a new domain, and technologies are quickly evolving. Therefore, in
this work, we foresee a set of possible scenarios that might impact the
proposed road-map.

  * •

The integration of quantum computing services with classical systems may
encounter compatibility issues due to the quantum infrastructure readiness.

  * •

Allocation of quantum resources in a cloud-based service model could be
complex, in case of high demand for quantum computing power.

  * •

Scalability: As the demand for quantum computing resources grows, the
framework might face scalability issues.

  * •

Evolution of Quantum Technologies: The rapidly evolving nature of quantum
computing technologies may outpace the development of the proposed framework,
necessitating continuous updates and adaptations.

##  5\. Conclusion

We have introduced QCSHQD, aiming to broaden access to QC resources for
classical developers. Through adopting service-oriented computing strategies,
QCSHQD streamlines the integration of QC capabilities and reduces the
complexity associated with quantum programming. The proposed roadmap for
QCSHQD implementation employs modern tools, positioning QCSHQD as a bridge
that enables classical developers, regardless of their QC expertise, to
exploit the extensive capabilities of QC resources. Future efforts will focus
on implementing QCSHQD, followed by conducting a thorough evaluation of its
efficiency and practical applicability. Future efforts will also be put into
investigating the impact of our QCSHQD framework on the existing quantum
software development process.

## References

  * (1) Aakash Ahmad, Ahmed B Altamimi and Jamal Aqib  “A Reference Architecture for Quantum Computing as a Service”  In _arXiv preprint arXiv:2306.04578_ , 2023  DOI: 10.36227/techrxiv.23276279.v1
  * (2) Aakash Ahmad et al.  “Engineering Software Systems for Quantum Computing as a Service: A Mapping Study”  In _arXiv preprint arXiv:2303.14713_ , 2023  DOI: 10.48550/arXiv.2303.14713
  * (3) PS Aithal  “Advances and New Research Opportunities in Quantum Computing Technology by Integrating it with Other ICCT Underlying Technologies”  In _International Journal of Case Studies in Business, IT and Education (IJCSBE)_ 7.3, 2023, pp. 314–358
  * (4) Shaukat Ali, Tao Yue and Rui Abreu  “When software engineering meets quantum computing”  In _Communications of the ACM_ 65.4 ACM New York, NY, USA, 2022, pp. 84–88  DOI: 10.1145/3512340
  * (5) Francesco Bova, Avi Goldfarb and Roger G Melko  “Commercial applications of quantum computing”  In _EPJ quantum technology_ 8.1 Springer Berlin Heidelberg, 2021, pp. 2
  * (6) A Carleton et al.  “Architecting the future of software engineering: A national agenda for software engineering research and development”  In _Softw. Eng. Inst., Pittsburgh, PA, USA, AD1152714_ , 2021
  * (7) Paul Adrien Maurice Dirac  “The principles of quantum mechanics”  Oxford university press, 1981
  * (8) Brian Fitzgerald and Klaas-Jan Stol  “Continuous software engineering: A roadmap and agenda”  In _Journal of Systems and Software_ 123 Elsevier, 2017, pp. 176–189  DOI: 10.1016/J.JSS.2015.06.063
  * (9) Google  “Google. Cirq.”, 2022  URL: https://quantumai.google/cirq/google/concepts
  * (10) Ryszard Horodecki, Paweł Horodecki, Michał Horodecki and Karol Horodecki  “Quantum entanglement”  In _Reviews of modern physics_ 81.2 APS, 2009, pp. 865  DOI: 10.1103/RevModPhys.81.865
  * (11) IBM  “Qiskit is the open-source toolkit for useful quantum”, 2021  URL: https://qiskit.org/
  * (12) ISO/IEC  “Information technology — Reference Architecture for Service Oriented Architecture (SOA RA) — Part 3: Service Oriented Architecture ontology” ISO/IEC Standard 18384-3, 2016
  * (13) Arif Ali Khan et al.  “Software architecture for quantum computing systems: A systematic review”  In _Journal of Systems and Software_ 201 Elsevier, 2023, pp. 111682  DOI: 10.1016/j.jss.2023.111682
  * (14) Alexei Yu Kitaev, Alexander Shen and Mikhail N Vyalyi  “Classical and quantum computation”  American Mathematical Soc., 2002
  * (15) P Lipton, C Lauwers and D Tamburri  “Oasis topology and orchestration specification for cloud applications (tosca) tc”  In _March2017_ , 2017
  * (16) Thomas Lubinski et al.  “Advancing hybrid quantum–classical computation with real-time execution”  In _Frontiers in Physics_ 10 Frontiers, 2022, pp. 940293  DOI: 10.48550/ARXIV.2206.12950
  * (17) Sam McArdle et al.  “Quantum computational chemistry”  In _Reviews of Modern Physics_ 92.1 APS, 2020, pp. 015003  DOI: 10.1103/RevModPhys.92.015003
  * (18) Microsoft  “Q# and the quantum development kit.”, 2021  URL: https://azure.microsoft.com/en-us/resources/development-kit/quantum-computing
  * (19) Michael A Nielsen and Isaac L Chuang  “Quantum computation and quantum information”  Cambridge university press, 2010
  * (20) Michael P Papazoglou, Paolo Traverso, Schahram Dustdar and Frank Leymann  “Service-oriented computing: a research roadmap”  In _International Journal of Cooperative Information Systems_ 17.02 World Scientific, 2008, pp. 223–255  DOI: 10.1142/S0218843008001816
  * (21) Mike P. Papazoglou, Paolo Traverso, Schahram Dustdar and Frank Leymann  “Service-Oriented Computing: State of the Art and Research Challenges”  In _Computer_ 40.11, 2007, pp. 38–45  DOI: 10.1109/MC.2007.400
  * (22) Mario Piattini et al.  “Toward a quantum software engineering”  In _IT Professional_ 23.1 IEEE, 2021, pp. 62–66  DOI: 10.1109/MITP.2020.3019522
  * (23) Mario Piattini et al.  “The talavera manifesto for quantum software engineering and programming.”  In _QANSWER_ , 2020, pp. 1–5
  * (24) Ravindra Ramouthar and Huseyin Seker  “Hybrid Quantum Algorithms and Quantum Software Development Frameworks”  In _ScienceOpen Preprints_ ScienceOpen, 2023  DOI: 10.14293/PR2199.000298.v1
  * (25) Javier Romero-Alvarez et al.  “Enabling Continuous Deployment Techniques for Quantum Services”  In _Authorea Preprints_ Authorea, 2023  DOI: 10.22541/au.168998413.35984731/v1
  * (26) David Valencia et al.  “Hybrid classical-quantum software services systems: Exploration of the rough edges”  In _International Conference on the Quality of Information and Communications Technology_ , 2021, pp. 225–238  Springer  DOI: 10.1007/978-3-030-85347-1˙17
  * (27) Benjamin Weder, Johanna Barzen, Frank Leymann and Daniel Vietz  “Quantum software development lifecycle”  In _Quantum Software Engineering_ Springer, 2022, pp. 61–83  DOI: 10.1007/978-3-031-05324-5“˙4
  * (28) Benjamin Weder, Johanna Barzen, Frank Leymann and Michael Zimmermann  “Hybrid quantum applications need two orchestrations in superposition: a software architecture perspective”  In _2021 IEEE International Conference on Web Services (ICWS)_ , 2021, pp. 1–13  IEEE  DOI: 10.1109/ICWS53863.2021.00015
  * (29) Benjamin Weder, Uwe Breitenbücher, Frank Leymann and Karoline Wild  “Integrating quantum computing into workflow modeling and execution”  In _2020 IEEE/ACM 13th International Conference on Utility and Cloud Computing (UCC)_ , 2020, pp. 279–291  IEEE  DOI: 10.1109/UCC48980.2020.00046
  * (30) Jianjun Zhao  “Quantum software engineering: Landscapes and horizons”  In _arXiv preprint arXiv:2007.07047_ , 2020