Early advances in the field of quantum computing have provided new opportunities to tackle intricate problems in areas as diverse as mathematics, physics, or healthcare. However, the technology required to construct such systems where different pieces of quantum and classical software collaborate is currently lacking. For this reason, significant advancements in quantum service-oriented computing are necessary to enable developers to create and operate quantum services and microservices comparable to their classical counterparts. Therefore, the core objective of this work is to establish the necessary technological infrastructure that enables the application of the benefits and lessons learned from service-oriented computing to the domain of quantum software engineering. To this end, we propose a pipeline for the continuous deployment of services. Additionally, we have validated the proposal by making use of a modification of the OpenAPI specification, the GitHub Actions, and AWS.
Early advances in the field of quantum computing have provided new opportunities to tackle intricate problems in areas as diverse as mathematics, physics, or healthcare. However, the technology required to construct such systems where different pieces of quantum and classical software collaborate is currently lacking. For this reason, significant advancements in quantum service-oriented computing are necessary to enable developers to create and operate quantum services and microservices comparable to their classical counterparts. Therefore, the core objective of this work is to establish the necessary technological infrastructure that enables the application of the benefits and lessons learned from service-oriented computing to the domain of quantum software engineering. To this end, we propose a pipeline for the continuous deployment of services. Additionally, we have validated the proposal by making use of a modification of the OpenAPI specification, the GitHub Actions, and AWS.
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 Early advances in quantum computing have provided new opportunities to tackle intricate problems in diverse areas such as cryptography, optimization, and simulation. However, current methodologies employed in quantum computing often require, among other things, a broad understanding of quantum hardware and low‐level programming languages, posing challenges to software developers in effectively creating and implementing quantum services. This study advocates the adoption of software engineering principles in quantum computing, thereby establishing a higher level of hardware abstraction that allows developers to focus on application development. With this proposal, developers can design and deploy quantum services with less effort, which is similar to the facilitation provided by service‐oriented computing for the development of conventional software services. This study introduces a continuous deployment strategy adapted to the development of quantum services that covers the creation and deployment of such services. For this purpose, an extension of the OpenAPI specification is proposed, which allows the generation of services that implement quantum algorithms. The proposal was validated through the creation of an application programming interface with diverse quantum algorithm implementations and evaluated through a survey of various developers and students who were introduced to the tool with positive results.
Abstract Quantum computing is advancing by leaps and bounds to become a commercial reality. This revolutionary new technology aims to improve essential areas such as cybersecurity, financial services, and medicine. The growth of this technology has encouraged different research centers and big companies such as IBM, Amazon, Microsoft, and Google to dedicate considerable efforts to the development of new technologies that bring quantum computing to the market. However, these technologies are not yet mature and create a major problem of vendor lock-in. Therefore, new techniques and tools are needed to facilitate access to this technology and to allow developers to increase the level of abstraction at which they work. In this chapter, we perform a technical comparison between different quantum computing service providers using a case study by performing empirical tests based on the Traveling Salesman Problem. This study highlights the differences between the major providers. To address these differences and reduce the vendor lock-in effect, we made three proposals: an extension of the Quantum API Gateway to support the different vendors; a code generator making use of a modification of the OpenAPI specification; and a workflow to automate the continuous deployment of these services making use of GitHub Actions. This would allow programmers to deploy quantum code without specific knowledge of the major vendors, which would facilitate access and simplify the development of quantum applications.
The new and revolutionary quantum computation aims to advance in important fields such as AI, cybersecurity, and medicine. The development of this technology has encouraged several research centers and companies such as Amazon, IBM, Google or Microsoft to devote considerable efforts to the development of new technologies that bring quantum computing to the market. Currently, access to this technology is provided through the Infrastructure as a Service paradigm and with hybrid systems that combine classical and quantum computing. In order to create these systems, significant advances in serviceoriented quantum computing are required to enable developers to create and operate quantum services with the same level of quality and security as their classical counterparts. Therefore, the project presented in this paper is primarily aimed at providing techniques and methodologies for quantum software development by applying the lessons learned from classical software engineering.
This book is an analysis of quantum computing, covering everything from its foundational principles to practical applications in the development of quantum services. It offers a technical and complex overview to provide the necessary knowledge to any researcher, scientist or developer who wants to get into service-oriented quantum computing. The field of quantum computing has evolved rapidly in recent years, with the potential to revolutionize the way we approach complex problems in various fields. This comprehensive guide covers the fundamental principles of quantum computing and its practical applications in the development of quantum services. Beyond theoretical knowledge, the book goes on to explore some of the challenges that quantum software developers face in today’s landscape. It addresses issues related to low-level abstractions and the absence of integration, deployment and quality assurance mechanisms in quantum software engineering. Also, it explores the principles of service-oriented computing applied to quantum computing, revealing architectural patterns adapted to quantum computing and discussing standardization and accessibility in this field. It also provides insight into streamlining the deployment process through a DevOps approach for continuous deployment of quantum services. This book will serve as a guide for all researchers, scientists and developers by providing them with an understanding of the current limitations and problems in quantum computing-oriented software development, and how to address them with software engineering techniques and tools applied to quantum computing.
The advent of quantum computing has ushered in a new era of technological innovation, promising unprecedented computational power and efficiency. As quantum technology matures, the need for robust, scalable, and efficient software development practices becomes increasingly critical. This paper proposes a novel DevOps framework tailored specifically for quantum software development, addressing unique challenges posed by quantum computing. The proposed architecture incorporates continuous integration and continuous deployment (CI/CD) pipelines, optimized for quantum algorithms, facilitating seamless integration and deployment of quantum applications. Key components include a Quantum Circuit Service for circuit design and optimization, a Quantum CI Service for continuous integration, and a comprehensive testing suite encompassing unit, integration, functional, and probabilistic testing. The framework emphasizes the use of large language models (LLMs) for automated microservice code generation, Kubernetes (K8s) cluster deployment for scalable infrastructure management, and a central quantum artifacts registry for efficient version control and resource management. A significant portion of this paper is dedicated to addressing the unique aspects of quantum computing, including the probabilistic nature of quantum algorithms, the need for specialized testing strategies, and the integration of classical and quantum software components. The proposed framework not only enhances the efficiency and reliability of quantum software development but also provides a structured approach to managing the complexities associated with quantum computing.