The QPath Blog


qSOA®: technology for dynamic integration of quantum-classical hybrid software systems


José Luis Hevia
aQuantum CTO

Once again, we are witnessing the birth of a new technology that is set to change the world as computers, the Internet and mobile devices have already done: quantum technology applied to computing. This technology provides us with an unparalleled processing capacity that will revolutionize the way we process information, taking the systems we know to a new level of efficiency, capabilities, and results. But for this to happen, we need to address – starting now – definitions of principles, best practices, platforms, and products that make it possible to integrate this new technology into classic IT.

Such spectacular machines and their potential services, which use quantum mechanics, will be in the deepest layer of an IT infrastructure (the backend, wherever it is hosted or a cloud service) until the technology can go out on the street miniaturized and packaged… and this brings us to the way in which design principles and software product architectures must be conceived.

To be able to access quantum services centrally, the computing principle does not change: we need access via a communications network, an access protocol to the services of the new system and to apply best practices at all levels of access (security, traceability, governance…) that have already been in place and well-tested for a long time. 

QuantumPath® has the capacity to accompany this new emerging technology in all its steps, wrapping its hardware power and its elementary interconnection services in an ecosystem of services, tools and products that make possible a quick absorption of the technology. So that it can be transformed into potentially useful products for business processes.

QuantumPath® is a platform that offers everything necessary for the design and construction of hybrid quantum solutions. It provides a series of services, tools and products that allow design teams to abstract, design and build the necessary pieces to create new solutions and integrate classic software with quantum software in the most natural way possible, so that their inclusion has a direct impact on the usability of the case to be solved.

For this, QuantumPath® provides qSOA®, a technology that is positioned at the service layer of a computer system, which makes it possible to exploit the quantum services platform using an API. A set of well-defined functions running on a reliable, flexible, secure, scalable, and high-performance platform, with which a classical system can access quantum products as if they were just another piece of classical software, accessing the use case and not its complexities. But that’s not all: from qSOA® it is also possible to interact with the quantum platform to define new quantum products in a totally dynamic way and adapted in real time to actual problems. And all this, using tools that respond perfectly to a distributed model of software components: standards, security, encryption, scalability, etc.


Figure 1 qSOA® in the QuantumPath® service model and its impact on the architecture of hybrid platforms

qSOA® proposes a clear, efficient, concrete, secure and open standards-based architecture for interfacing classical systems to quantum systems, using well-known and common tools in the field of software systems. With qSOA® we endow quantum asset developments with a high-level wrapper that makes it possible for classical technology to “talk directly” to quantum technology, leaving architecture elements, technical complexities, optimizations, translations, mappings… “inside the box”. By simplifying the integration model, we accelerate the inclusion of quantum technology into the classical infrastructure in a natural, unforced way…, extending to the quantum domain concepts already tested and consolidated in Software Engineering.

Version 1 of qSOA® provided one of the pillars of QuantumPath®: access via API to the quantum use cases developed in the system for their exploitation (controlling their life cycle with the assisted graphical toolset). The API in this context, allows access to the execution of flows and the obtaining of results. A very concrete and specialized model to simplify the access to the use case in the first line.

qSOA® V2 extends this functionality by incorporating automated access to the life cycle of the asset itself, i.e., being able to dynamically expand the catalogue of assets (circuits and dynamic flows, controlling their states, compilations and transpilations fully automatically) through the computer systems that act as clients and overcome the design barriers in terms of cubit resolution. Once the barrier of the number of cubits supported by a given quantum technology has been overcome, the creation of algorithms will itself become exponential: in this context, high qubit resolution, algorithm generation by machine learning or artificial intelligence processes will be the protagonists. The good news for QPath® developers is that we have already prepared the system for this.

Thanks to QuantumPath® agnostic technology and its metalanguages, with the new version of qSOA® developers “only” need to compose the circuits as DNA strands through the systems. A coherent sequence of elements in plain text format that focuses on the circuit and not on all the technical elements that surround it, as well as its tools, complexities, versions, and different formats set proprietary by a manufacturer. As manufacturers will change their APIs, their capabilities, and their requirements (identifying themselves as the lowest level backend), qSOA® will act as an “umbrella” thanks to its interconnection with QuantumPath® Core services. If each designed flow corresponds to a “Quantum Use Case”, from qSOA® you will be able to access that use case always in the same way, without being affected by the provider’s elements. Whether created dynamically or with QuantumPath® design tools.

qSOA® has been conceived, designed, and implemented to be extremely concrete, so it is not an API with hundreds of functions. On the contrary, it makes the integration process extremely concrete, parameterizable and controlled. And this has been achieved based on well-tested architectures, designed to be secure, under principles of high performance and scalability that provide tools to development teams that allow them to prepare now to lead the way and be efficient in the evolution of the same.


Figure 2 qSOA®  different classic technologies connected to the API

qSOA® makes it possible to access the quantum system with any classical technology, be it, for example, Python, Java, or .NET, and for developers, researchers, R&D teams, etc. to have the most complete proposal possible to make their way in the development of hybrid classical/quantum software systems ready for industry. It is not about a series of isolated notebooks, it is not about jobs disconnected from an operating system to connect them “handcrafted” at home, but about a coherent and complete “industrial” information system that can focus on the whole process and not only on single pieces that will then have to be composed in some way. We want to “work on the book” as a whole, and each “chapter” can be properly treated as a whole, with quality and guarantees. And this with the tools that best suit each job.

To briefly show the use of the qSOA® API, let’s put in context that has been developed as a use case, a QRNG type algorithm (quantum random number generator based on gate technology). Previously the designer has performed the asset generation necessary to build the solution and has marked the algorithm flow as “published” so that it can be exploited by qSOA®. The Jupiter notebook code that would make the call would look like this:

g_experimentName = 'QRNG Experiment'

g_idSolution = QRNG_SOLUTION

g_idFlow = QRNG_FLOW

#Listamos todos los QPU asociados a la solucion

deviceList = qsoa.getQuantumDeviceList(q_idSolution)

print('Device List:', deviceList)

#Device List: {'14': 'AMAZON BRAKET 25qbits Local Simulator', '15': #'AMAZON BRAKET GATES Managed state vector simulator SV1', '10': 'I#BM Cloud Q_Santiago 5qbits computer', '2': 'QISKIT Local Simulator#', '4': 'IBM Cloud Q_Jakarta 7qbits computer', '6': 'IBM Cloud Qua#ntum 32qbits simulator', '1': 'Q# Local Simulator Framework', '8': #'QuTECH Cloud 26qbits Single-Node Simulator'}

g_idDevice = 14 #elegimos Simulador AMAZON BRAKET puertas

g_application = qsoa.runQuantumApplication(g_experimentName, g_idSolution, g_idFlow,


resapp_execution = qsoa.getQuantumExecutionResponse(g_application)

print('Exit Code:', resapp_execution.getExitCode())

print('Exit Message:', resapp_execution.getExitMessage())

print('Solution Name:', resapp_execution.getSolutionName())

print('Flow Name:', resapp_execution.getFlowName())

print('Device Name:', resapp_execution.getDeviceName())

print('Histogram:', resapp_execution.getHistogram())

print('Duration:', resapp_execution.getDuration())

#Exit Code: OK

#Exit Message: None

#Solution Name: QPATH.QRNG


#Device Name: amazon_braket_universal_identification

#Histogram: {'QPATH_QRNG_RandomCircuit_1_0': {'010': 117, '001': 128, #'000': 109, '110': 124, '101': 129, '100': 131, '111': 139, '011': #123}}

#Duration: 92343867

qSOA® and QuantumPath® are our technology proposal to build industry-ready classical-quantum solutions. It is a clear path that allows us to approach the incorporation of quantum technology to classical computing in a reliable, fast way and based on the best principles of computer engineering. It aims to enable the multidisciplinary work of all professionals who design and develop quantum algorithms to be integrated into a complete ecosystem. 

All this allows taking advantage of the implementation of hybrid software systems from minute 1. The practical adoption of quantum computing in the current technological context is hybrid. Let’s not wait for the future to integrate these technologies when, with architectures such as qSOA®, it is already within our reach to provide the industry with real solutions to start accessing the advantages of quantum computing.