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
id ES_f0d08e8a56cc47f6a1afa711cb9ff5a3
oai_identifier_str oai:repositorio.upct.es:10317/12159
network_acronym_str ES
network_name_str España
repository_id_str
spelling Engineering the development of quantum programs: Application to the Boolean satisfiability problemAlonso Cáceres, DiegoSánchez Palma, PedroSánchez Rubio, Francisco JesúsQuantum computingModel-driven engineeringBoolean satisfiabilityIngeniería Eléctrica3313 Tecnología E Ingeniería Mecánicas3306 Ingeniería y Tecnología EléctricasThe 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.We acknowledge the use of IBM Quantum services for this work. The views expressed in this paper are those of the authors, and do not reflect the official policy or position of IBM or the IBM Quantum team.ELSEVIERUniversidad Politécnica de Cartagena202320232022info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionapplication/pdfapplication/pdfhttp://hdl.handle.net/10317/12159reponame:Repositorio Digital UPCTinstname:Universidad Politécnica de Cartagena(UPCT)Ingléshttps://www.sciencedirect.com/science/article/pii/S0965997822001211Atribución-NoComercial-SinDerivadas 3.0 Españahttp://creativecommons.org/licenses/by-nc-nd/3.0/es/info:eu-repo/semantics/openAccessoai:repositorio.upct.es:10317/121592026-05-15T06:39:02Z
dc.title.none.fl_str_mv Engineering the development of quantum programs: Application to the Boolean satisfiability problem
title Engineering the development of quantum programs: Application to the Boolean satisfiability problem
spellingShingle Engineering the development of quantum programs: Application to the Boolean satisfiability problem
Alonso Cáceres, Diego
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
title_short Engineering the development of quantum programs: Application to the Boolean satisfiability problem
title_full Engineering the development of quantum programs: Application to the Boolean satisfiability problem
title_fullStr Engineering the development of quantum programs: Application to the Boolean satisfiability problem
title_full_unstemmed Engineering the development of quantum programs: Application to the Boolean satisfiability problem
title_sort Engineering the development of quantum programs: Application to the Boolean satisfiability problem
dc.creator.none.fl_str_mv Alonso Cáceres, Diego
Sánchez Palma, Pedro
Sánchez Rubio, Francisco Jesús
author Alonso Cáceres, Diego
author_facet Alonso Cáceres, Diego
Sánchez Palma, Pedro
Sánchez Rubio, Francisco Jesús
author_role author
author2 Sánchez Palma, Pedro
Sánchez Rubio, Francisco Jesús
author2_role author
author
dc.contributor.none.fl_str_mv Universidad Politécnica de Cartagena
dc.subject.none.fl_str_mv 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
topic 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
description 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.
publishDate 2022
dc.date.none.fl_str_mv 2022
2023
2023
dc.type.none.fl_str_mv info:eu-repo/semantics/article
info:eu-repo/semantics/publishedVersion
format article
status_str publishedVersion
dc.identifier.none.fl_str_mv http://hdl.handle.net/10317/12159
url http://hdl.handle.net/10317/12159
dc.language.none.fl_str_mv Inglés
language_invalid_str_mv Inglés
dc.relation.none.fl_str_mv https://www.sciencedirect.com/science/article/pii/S0965997822001211
dc.rights.none.fl_str_mv Atribución-NoComercial-SinDerivadas 3.0 España
http://creativecommons.org/licenses/by-nc-nd/3.0/es/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Atribución-NoComercial-SinDerivadas 3.0 España
http://creativecommons.org/licenses/by-nc-nd/3.0/es/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
application/pdf
dc.publisher.none.fl_str_mv ELSEVIER
publisher.none.fl_str_mv ELSEVIER
dc.source.none.fl_str_mv reponame:Repositorio Digital UPCT
instname:Universidad Politécnica de Cartagena(UPCT)
instname_str Universidad Politécnica de Cartagena(UPCT)
reponame_str Repositorio Digital UPCT
collection Repositorio Digital UPCT
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1869424043301535744
score 15.300719