Engineering the development of quantum programs: Application to the Boolean satisfiability problem

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, th...

Descripción completa

Detalles Bibliográficos
Autores: Alonso Cáceres, Diego, Sánchez Palma, Pedro, Sánchez Rubio, Francisco Jesús
Tipo de recurso: artículo
Estado:Versión publicada
Fecha de publicación:2022
País:España
Institución:Universidad Politécnica de Cartagena(UPCT)
Repositorio:Repositorio Digital UPCT
OAI Identifier:oai:repositorio.upct.es:10317/12159
Acceso en línea:http://hdl.handle.net/10317/12159
Access Level:acceso abierto
Palabra clave:Quantum computing
Model-driven engineering
Boolean satisfiability
Ingeniería Eléctrica
3313 Tecnología E Ingeniería Mecánicas
3306 Ingeniería y Tecnología Eléctricas
Descripción
Sumario: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.