In the realm of classical software engineering, model-driven optimization has been widely used for different problems such as (re)modularization of software systems. In this paper, we investigate how techniques from model-driven optimization can be applied in the context of quantum software engineering. In quantum computing, creating executable quantum programs is a highly non-trivial task which requires significant expert knowledge in quantum information theory and linear algebra. Although different approaches for automated quantum program synthesis exist—e.g., based on reinforcement learning and genetic programming—these approaches represent tailor-made solutions requiring dedicated encodings for quantum programs. This paper applies the existing model-driven optimization approach MOMoT to the problem of quantum program synthesis. We present the resulting platform for experimenting with quantum program synthesis and present a concrete demonstration for a well-known Quantum algorithm.
In the realm of classical software engineering, model-driven optimization has been widely used for different problems such as (re)modularization of software systems. In this paper, we investigate how techniques from model-driven optimization can be applied in the context of quantum software engineering. In quantum computing, creating executable quantum programs is a highly non-trivial task which requires significant expert knowledge in quantum information theory and linear algebra. Although different approaches for automated quantum program synthesis exist—e.g., based on reinforcement learning and genetic programming—these approaches represent tailor-made solutions requiring dedicated encodings for quantum programs. This paper applies the existing model-driven optimization approach MOMoT to the problem of quantum program synthesis. We present the resulting platform for experimenting with quantum program synthesis and present a concrete demonstration for a well-known Quantum algorithm.
Several researchers have recently highlighted the convenience of adopting and adapting the techniques and tools of Software Engineering for the development of programs in the eld of Quantum Computing. Model-driven engineering is one of the techniques that has generated the best results in the eld of Software Engineering in the last twenty years, so it seems sensible to explore the benet of applying this technique in the eld of quantum programming, given the conceptual dierences that exist between quantum and classical programming primitives. In this context, the Boolean satisability problem has received attention as quantum programming provides a solution that reduces to polynomial the search for solutions to the problem. This work addresses the consideration of applying model-driven engineering to ease the generation of quantum programs and make it more aordable. To demonstrate the feasibility of the approach, we apply it to solve the Boolean satisability problem by taking advantage of the benets of model compilation, in terms of obtaining a quantum circuit that minimizes the number of gates involved in the solution, thus limiting the possible de-coherence of the quantum system.
Quantum technologies are emerging. Dedicated languages for programming Quantum machines are emerging as well and already used in different settings. Orthogonal to this development, Model-Driven Engineering (MDE) is explored to ease the development of software systems by applying modeling techniques such as Domain-Specific Modeling Languages and generative techniques such as code generation. In this position paper, we argue for a dedicated research line which deals with the exploration of how MDE may be applied for Quantum technologies. This combination would allow to speed- up the development of Quantum software, open the door for domain experts to utilize Quantum technologies, and may provide an additional abstraction layer over existing Quantum hardware architectures and programming languages. We outline several research challenges which we derived from a demonstration case of how to exploit domain-specific modeling for social network analysis on Quantum technologies.
Quantum simulation is a leading candidate for demonstrating practical quantum advantage over classical computation, as it is believed to provide exponentially more compute power than any classical system. It offers new means of studying the behaviour of complex physical systems, for which conventionally software-intensive simulation codes based on numerical high-performance computing are used. Instead, quantum simulations map properties and characteristics of subject systems, for instance chemical molecules, onto quantum devices that then mimic the system under study.
Currently, the use of these techniques is largely limited to fundamental science, as the overall approach remains tailored for specific problems: We lack infrastructure and modelling abstractions that are provided by the software engineering community for other computational domains.
In this paper, we identify critical gaps in the quantum simulation software stack-particularly the absence of general-purpose frameworks for model specification, Hamiltonian construction, and hardware-aware mappings. We advocate for a modular model-driven engineering (MDE) approach that supports different types of quantum simulation (digital and analogue), and facilitates automation, performance evaluation, and reusability. Through an example from high-energy physics, we outline a vision for a quantum simulation framework capable of supporting scalable, cross-platform simulation workflows.
The development of quantum programs is becoming a reality due to the rapid advancement of quantum computing. Over the past few years, a multitude of hardware platforms, algorithms, and programming languages have emerged to support this paradigm. By the very nature of Quantum Mechanics principles, there is an enormous change of philosophy when building quantum programs, which operate in a probabilistic space, unlike the deterministic behaviour shown by classical programming languages. These conceptual differences can be overcome by using techniques and tools of Software Engineering. In this paper, we apply Model-Driven Engineering techniques in a systematic way to ease the generation of quantum programs and we apply it to solve the satisfiability problem, very important in many engineering domains like verification of discrete systems and test of integrated circuits. To that aim, we contribute with a metamodel for representing quantum circuits and a model-to-text transformation to generate working IBM Qiskit code. This model-driven infrastructure is employed to automatically generate quantum programs from SAT equations through a model-to-model transformation that embeds Grover’s algorithm. Besides, we provide formulas for calculating the number of required quantum elements from SAT equations, crucial in the current context of limited quantum resources. The interoperability with other tools and the extensibility to target additional quantum platforms is guaranteed thanks to the use of a model-based toolchain. We cover several usage scenarios to validate the approach, providing exemplary SAT equations, the generated Qiskit code and the results of executing this code in IBM Quantum infrastructure.
Quantum computing has made significant progress in recent years, attracting immense interest not only in research laboratories but also in various industries. However, the application of quantum computing to solve real-world problems is still hampered by a number of challenges, including hardware limitations and a relatively under-explored landscape of quantum algorithms, especially when compared to the extensive development of classical computing. The design of quantum circuits, in particular parameterized quantum circuits (PQCs), which contain learnable parameters optimized by classical methods, is a non-trivial and time-consuming task requiring expert knowledge. As a result, research on the automated generation of PQCs, known as quantum architecture search (QAS), has gained considerable interest. QAS focuses on the use of machine learning and optimization-driven techniques to generate PQCs tailored to specific problems and characteristics of quantum hardware. In this paper, we provide an overview of QAS methods by examining relevant research studies in the field. We discuss the main challenges in designing and performing an automated search for an optimal PQC, and survey ways to address them to ease future research.
Programming for quantum computers is complicated and time-consuming, because quantum operations are counterintuitive and their combined effects are difficult to understand. Existing tools allow automatic synthesis of quantum programs, which releases the burden of handwriting. However, many existing systems arrange predetermined operators in successive manner to gradually reduce the gap with requirements; these methods are quick but often produce lengthy programs, and they are difficult to adopt for new operators. Other systems depend on stochastic or heuristic search; they identify near-optimal programs for certain cases, but it is not easy to tune the algorithms for a wide range of cases. We propose a system that produces compact programs for most cases and easily evolves with new operators. The system automatically learns the roles of available operators by composing various possible programs. Based on the knowledge, it selects a subset of operators most appropriate for requirements and uses them to compose a program. The learning is geared toward concise programs; thus, the system tends to produce programs with the fewest operators possible. We implemented the system and evaluated it by synthesizing over 400 programs. In comparison with a state-of-the-art system, the proposed system produced programs with approximately 40-times fewer operators at the cost of increased synthesis time from seconds to minutes. We also observed that the system successfully adopted new operators by learning their differences from existing operators and utilizing them in right places. We believe that the system provides a basis of utilizing machine learning for quantum program synthesis.