Addressing problems beyond classical computing limits is sparking an increasing interest in Quantum Computing. However, despite their adequacy to address specific problems, quantum algorithms cover a limited subset of the functionality required in real-world computing systems. Additionally, they require expensive specialized hardware. To overcome this issue, hybrid (quantum-classical) software systems are emerging as a promising way to integrate both computing paradigms by applying the principles of Service-Oriented Architectures (SOA). Still, the design and deployment of hybrid service-based systems faces unique challenges like the idiosyncrasies and constraints of NISQ computers (e.g., algorithms that can only run in specific machines, disparate quality attribute metrics), and the management of structural and behavioural properties of service-based applications. From the SOA perspective, architectural decisions need to be made by performing a trade-off analysis and providing quantitative guarantees of system configurations under prescribed levels of uncertainty. In this paper, a method to explore the design space of quantum-classical applications is provided by a formalization of an architectural style of hybrid applications. The obtained results demonstrate that the proposed method successfully identifies decision boundaries. It enables the dynamic selection of the most suitable hybrid or classical configuration based on the user's QoS criteria.
Addressing problems beyond classical computing limits is sparking an increasing interest in Quantum Computing. However, despite their adequacy to address specific problems, quantum algorithms cover a limited subset of the functionality required in real-world computing systems. Additionally, they require expensive specialized hardware. To overcome this issue, hybrid (quantum-classical) software systems are emerging as a promising way to integrate both computing paradigms by applying the principles of Service-Oriented Architectures (SOA). Still, the design and deployment of hybrid service-based systems faces unique challenges like the idiosyncrasies and constraints of NISQ computers (e.g., algorithms that can only run in specific machines, disparate quality attribute metrics), and the management of structural and behavioural properties of service-based applications. From the SOA perspective, architectural decisions need to be made by performing a trade-off analysis and providing quantitative guarantees of system configurations under prescribed levels of uncertainty. In this paper, a method to explore the design space of quantum-classical applications is provided by a formalization of an architectural style of hybrid applications. The obtained results demonstrate that the proposed method successfully identifies decision boundaries. It enables the dynamic selection of the most suitable hybrid or classical configuration based on the user's QoS criteria.
Quantum software is an emerging class of software systems, services, and applications that leverage the principles of quantum mechanics through programmable quantum bits (qubits) and quantum gates to perform computations that offer advantages for certain classes of problems. Quantum software architecture enables quantum software developers to abstract away implementation-specific details (i.e., mapping of qubits and quantum gates to high-level architectural components and connectors). Architecture patterns provide proven solutions to recurring design problems, while architecture strategies are approaches that guide the overall design and evolution of a system to meet specific goals. Such patterns and strategies are needed because quantum software systems involve complex hybrid quantum-classical design concerns. However, quantum software practitioners face significant challenges in selecting and implementing appropriate patterns and strategies. To address these challenges, this study proposes decision models for selecting patterns and strategies in six critical design areas in quantum software systems: Communication, Decomposition, Data Processing, Fault Tolerance, Integration and Optimization, and Algorithm Implementation. These decision models are constructed based on data collected from both a mining study (GitHub and Stack Exchange) and an SLR, which were used to identify relevant patterns and strategies with their involved QAs. We then conducted semi-structured interviews with 30 quantum software practitioners to evaluate the familiarity, understandability, completeness, and usefulness of the proposed decision models. The results show that the proposed decision models can aid practitioners in selecting suitable patterns and strategies to address the challenges related to the architecture design of quantum software systems. The dataset is at https://github.com/shamimaaktar1/DMQSA
Quantum computing promises to offer significant computational advantages for certain types of problems, which motivates its integration into current software systems. In this context, Service-Oriented Computing provides a suitable mechanism for encapsulating classical and quantum resources through the concept of hybrid quantum-classical services. Although techniques aimed at obtaining optimal deployments for this type of application are beginning to emerge, the literature still highlights the need for methodologies and tools to describe, validate, and homogenize the deployment structures of hybrid applications. To address this gap, this work proposes a MDE-based approach through the definition of a DSL for specifying deployment schemes for hybrid quantum-classical service applications. The proposal enables the description of the available classical and quantum resources, the services that compose the application, and the assignment of quantum services to QPUs, including the mapping between logical and physical qubits. In addition, a model-to-text transformation is provided to generate YAML artifacts that can be interpreted by deployment processes. Finally, the proposed grammar is instantiated on a hybrid search scenario to illustrate its applicability.
Quantum software engineering (QSE) has emerged as a discipline to address the challenges associated with developing software systems in the context of advancing quantum computing technology. This paper explores architectural design patterns specific to QSE. Building on previous work highlighting the need for high-level patterns, we analyze emerging architectural approaches in quantum computing. We identify key challenges unique to hybrid quantum-classical systems and propose a preliminary taxonomy of QSE architectural patterns. These patterns address recurring design problems in areas such as quantum resource management and classical-quantum integration. We describe several potential patterns and discuss their theoretical applications in hybrid software systems. This work aims to provide a foundation for further research into standardizing QSE architectural practices, with the goal of enhancing various quality characteristics of hybrid software (e.g., modularity or maintainability) in the NISQ era and beyond.
Quantum computing has the potential to revolutionize various industries by solving complex problems beyond the capabilities of classical systems. However, the practical realization of these advancements depends on robust hybrid software capable of adapting to highly dynamic execution environments. Fluctuating resource availability, quantum noise, and hardware constraints in distributed systems present significant challenges, making self-adaptation mechanisms essential for optimizing performance, ensuring reliability, and maintaining scalability. Traditional static approaches to software design are insufficient in such unpredictable settings, requiring runtime adaptation strategies that continuously monitor and adjust system behavior. Frameworks such as autonomic computing models and dynamic software architectures provide viable solutions for managing uncertainty and improving computational efficiency. By integrating self-adaptive capabilities, hybrid quantum software can dynamically respond to execution constraints, enhance system resilience, and support real-world applications, ensuring that quantum computing can effectively complement classical computing to address the growing demands of high-performance computation.
Quantum computing is rapidly progressing from theoretical promise to practical implementation, offering significant computational advantages for tasks in optimization, simulation, cryptography, and machine learning. However, its integration into real-world software systems remains constrained by hardware fragility, platform heterogeneity, and the absence of robust software engineering practices. This article introduces Service-Oriented Quantum (SOQ), a novel paradigm that reimagines quantum software systems through the lens of classical service-oriented computing. Unlike prior approaches such as Quantum Service-Oriented Computing (QSOC), which treat quantum capabilities as auxiliary components within classical systems, SOQ positions quantum services as autonomous, composable, and interoperable entities. We define the foundational principles of SOQ, propose a layered technology stack to support its realization, a reference architecture for defining quantum services based on the good implementation of a classical service, and identify the key research and engineering challenges that must be addressed, including interoperability, hybridity, pricing models, service abstractions, and workforce development. This approach is of vital importance for the advancement of quantum technology because it enables the scalable, modular, and interoperable integration of quantum computing into real-world software systems independently and without relying on a dedicated classical environment to manage quantum processing.
Recent advances in quantum computing have sparked excitement that this new computing paradigm could solve previously intractable problems. However, due to the faulty nature of current quantum hardware and quantum-intrinsic noise, the full potential of quantum computing is still years away. Hybrid quantum-classical computing has emerged as a possible compromise that achieves the best of both worlds. In this paper, we look at hybrid quantum-classical computing from a software engineering perspective and present the first empirical study focused on characterizing and evaluating recurrent issues faced by developers of hybrid quantum-classical applications. The study comprised a thorough analysis of 531 real-world issues faced by developers - including software faults, hardware failures, quantum library errors, and developer mistakes - documented in discussion threads from forums dedicated to quantum computing. By qualitatively analyzing such forum threads, we derive a comprehensive taxonomy of recurring issues in hybrid quantum-classical applications that can be used by both application and platform developers to improve the reliability of hybrid applications. The study considered how these recurring issues manifest and their causes, determining that hybrid applications are crash-dominant (74% of studied issues) and that errors were predominantly introduced by application developers (70% of issues). We conclude by identifying recurring obstacles for developers of hybrid applications and actionable recommendations to overcome them.