As quantum computers mature, the complexity of quantum software increases. As we move from the initial standalone quantum algorithms toward complex solutions combining quantum algorithms with traditional software, new software engineering methods and abstractions are needed. Nowadays, quantum computers are usually offered in the cloud, under a pay-per-use model, leading to the adoption of the service-oriented good practices that dominate the cloud today. However, specific adaptations are needed to reap the benefits of service-oriented computing while dealing with quantum hardware limitations. In this article, we propose the Quantum API Gateway—an adaptation of the API Gateway pattern that takes into account the fact that quantum services cannot be deployed as traditional services. Instead, the Quantum API Gateway recommends the best quantum computer to run a specific quantum service at run time. As proof of concept, we provide an implementation of the Quantum API Gateway for the Amazon Braket platform.
As quantum computers mature, the complexity of quantum software increases. As we move from the initial standalone quantum algorithms toward complex solutions combining quantum algorithms with traditional software, new software engineering methods and abstractions are needed. Nowadays, quantum computers are usually offered in the cloud, under a pay-per-use model, leading to the adoption of the service-oriented good practices that dominate the cloud today. However, specific adaptations are needed to reap the benefits of service-oriented computing while dealing with quantum hardware limitations. In this article, we propose the Quantum API Gateway—an adaptation of the API Gateway pattern that takes into account the fact that quantum services cannot be deployed as traditional services. Instead, the Quantum API Gateway recommends the best quantum computer to run a specific quantum service at run time. As proof of concept, we provide an implementation of the Quantum API Gateway for the Amazon Braket platform.
Quantum computers (QCs) aim to disrupt the status-quo of computing -- replacing traditional systems and platforms that are driven by digital circuits and modular software -- with hardware and software that operates on the principle of quantum mechanics. QCs that rely on quantum mechanics can exploit quantum circuits (i.e., quantum bits for manipulating quantum gates) to achieve "quantum computational supremacy" over traditional, i.e., digital computing systems. Currently, the issues that impede mass-scale adoption of quantum systems are rooted in the fact that building, maintaining, and/or programming QCs is a complex and radically distinct engineering paradigm when compared to challenges of classical computing and software engineering. Quantum service orientation is seen as a solution that synergises the research on service computing and quantum software engineering (QSE) to allow developers and users to build and utilise quantum software services based on pay-per-shot utility computing model. The pay-per-shot model represents a single execution of instruction on quantum processing unit and it allows vendors (e.g., Amazon Braket) to offer their QC platforms, simulators, software services etc. to enterprises and individuals who do not need to own or maintain quantum systems. This research contributes by 1) developing a reference architecture for enabling quantum computing as a service, 2) implementing microservices with the quantum-classic split pattern as an architectural use-case, and 3) evaluating the reference architecture based on feedback by 22 practitioners. In the QSE context, the research focuses on unifying architectural methods and service-orientation patterns to promote reuse knowledge and best practices to tackle emerging and futuristic challenges of architecting and implementing Quantum Computing as a Service (QCaaS).
Quantum computers (QCs) aim to disrupt the status-quo of computing - replacing traditional systems and platforms that are driven by digital circuits and modular software - with hardware and software that operate on the principle of quantum mechanics. QCs that rely on quantum mechanics can exploit quantum circuits (i.e., quantum bits for manipulating quantum gates) to achieve ‘quantum computational supremacy’ over traditional, i.e., digital computing systems. Currently, the issues that impede mass-scale adoption of quantum systems are rooted in the fact that building, maintaining, and/or programming QCs is a complex and radically distinct engineering paradigm when compared to the challenges of classical computing and software engineering. Quantum service orientation is seen as a solution that synergises the research on service computing and quantum software engineering (QSE) to allow developers and users to build and utilise quantum software services based on pay-per-shot utility computing model. The pay-per-shot model represents a single execution of instruction on quantum processing unit and it allows vendors (e.g., Amazon Braket) to offer their QC platforms, simulators, and software services to end-users. This research contributes by (i) developing a reference architecture for enabling Quantum Computing as a Service (QCaaS), (ii) implementing microservices with the quantum-classic split pattern as an architectural use-case, and (iii) evaluating the architecture based on practitioners’ feedback. The proposed reference architecture follows a layered software pattern to support the three phases of service lifecycle namely development, deployment, and split of quantum software services. In the QSE context, the research focuses on unifying architectural methods and service-orientation patterns to promote reuse knowledge and best practices to tackle emerging and futuristic challenges of architecting QCaaS.
The rapid advancements in quantum computing have opened new possibilities for solving complex problems in various fields, including cryptography, optimization, and simulation. However, the current approaches to quantum computing often require a deep understanding of quantum hardware and low-level programming languages, making it difficult for software developers to create and deploy quantum services. This paper argues for the adaptation of Service-Oriented Computing principles to quantum computing, enabling a level of abstraction from hardware that allows developers to focus on application development. This will allow developers to create and deploy quantum services, similarly to how Service-Oriented Computing has made it easier to develop traditional software services. This paper presents a Continuous Deployment approach for quantum service development, which involves the generation and deployment of quantum services. To do that, we propose an extension of the OpenAPI specification to generate services implementing a quantum algorithm. To validate the feasibility of the proposed process, we use a variety of quantum algorithm implementations to test their generation and deployment of quantum services.
Abstract After decades of advances, mainly theoretical, in recent years quantum computing has begun to show its first practical applications. This new and revolutionary technology aims to enhance essential areas such as cybersecurity, financial services, or medicine. The growth of this technology has encouraged different research centers and big companies such as IBM, Amazon, and Google to dedicate considerable efforts to developing new technologies that bring quantum computing to the market. However, these technologies are not yet mature and create a significant vendor lock-in problem. Therefore, new tools are needed that facilitate access to this technology and that allow developers to increase the abstraction level at which they work. Given that the integration of quantum software should not be very different from that of classical services, we can take advantage of the knowledge acquired and use current techniques of service-oriented computing. In this work, we have carried out a technical comparison between different quantum computing service providers using a case study, by performing empirical tests based on the Travelling Salesman Problem. This study highlights the differences between the main providers. To address these differences and reduce the vendor lock-in effect, we propose an extension of the Quantum API Gateway to support the different providers and the casuistry that each one presents. This would allow programmers to deploy quantum code without vendor-specific knowledge of the major providers, which would facilitate access and simplify the development of quantum applications.
Quantum systems have started to emerge as a disruptive technology and enabling platforms - exploiting the principles of quantum mechanics - to achieve quantum supremacy in computing. Academic research, industrial projects (e.g., Amazon Braket), and consortiums like 'Quantum Flagship' are striving to develop practically capable and commercially viable quantum computing (QC) systems and technologies. Quantum Computing as a Service (QCaaS) is viewed as a solution attuned to the philosophy of service-orientation that can offer QC resources and platforms, as utility computing, to individuals and organisations who do not own quantum computers. To understand the quantum service development life cycle and pinpoint emerging trends, we used evidence-based software engineering approach to conduct a systematic mapping study (SMS) of research that enables or enhances QCaaS. The SMS process retrieved a total of 55 studies, and based on their qualitative assessment we selected 9 of them to investigate (i) the functional aspects, design models, patterns, programming languages, deployment platforms, and (ii) trends of emerging research on QCaaS. The results indicate three modelling notations and a catalogue of five design patterns to architect QCaaS, whereas Python (native code or frameworks) and Amazon Braket are the predominant solutions to implement and deploy QCaaS solutions. From the quantum software engineering (QSE) perspective, this SMS provides empirically grounded findings that could help derive processes, patterns, and reference architectures to engineer software services for QC.
Abstract The development that quantum computing technologies are achieving is beginning to attract the interest of companies that could potentially be users of quantum software. Thus, it is perfectly feasible that during the next few years hybrid systems will start to appear integrating both the classical software systems of companies and new quantum ones providing solutions to problems that still remain unmanageable today. A natural way to support such integration is Service-Oriented Computing. While conceptually the invocation of a quantum software service is similar to that of a classical one, technically there are many differences and technological limitations, which refer to platform independence, decoupling, scalability, etc. To highlight these differences and the difficulties to develop quality quantum services, this paper takes a well-known problem to which a quantum solution can be provided, integer factorization, making use of the Amazon Braket quantum service platform. The exercise of trying to provide the factorization as a quantum service is carried out following the best practices, design patterns and standards existing in the implementation of classical services. This case study is used to highlight the rough edges and limitations that arise in the integration of classical-quantum hybrid systems using service-oriented computing. The conclusion of the study allows us to point out directions in which to focus research efforts in order to achieve effective quantum service-oriented computing.