Formal Quantum Software Engineering: Introducing the Formal Methods of Software Engineering to Quantum Computing

11/14/2021
by   Carmelo R. Cartiere, et al.
0

Quantum computing (QC) represents the future of computing systems, but the tools for reasoning about the quantum model of computation, in which the laws obeyed are those on the quantum mechanical scale, are still a mix of linear algebra and Dirac notation; two subjects more suitable for physicists, rather than computer scientists and software engineers. On this ground, we believe it is possible to provide a more intuitive approach to thinking and writing about quantum computing systems, in order to simplify the design of quantum algorithms and the development of quantum software. In this paper, we move the first step in such direction, introducing a specification language as the tool to represent the operations of a quantum computer via axiomatic definitions, by adopting the same symbolisms and reasoning principles used by formal methods in software engineering. We name this approach formal quantum software engineering (F-QSE). This work assumes familiarity with the basic principles of quantum mechanics (QM), with the use of Zed (Z) which is a formal language of software engineering (SE), and with the notation and techniques of first-order logic (FOL) and functional programming (FP).

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/07/2022

Quantum Computing for Software Engineering: Prospects

Quantum computers (QCs) are maturing. When QCs are powerful enough, they...
research
03/30/2021

Modelling Quantum Circuits with UML

None of the quantum computing applications imagined will ever become a r...
research
08/06/2021

Dezyne: Paving the Way to Practical Formal Software Engineering

Designing software that controls industrial equipment is challenging, es...
research
06/30/2020

Towards a Quantum Software Modeling Language

We set down the principles behind a modeling language for quantum softwa...
research
03/08/2021

Langar: An Approach to Evaluate Reo Programming Language

Reo is a formal coordination language. In order to assess and evaluate i...
research
03/23/2023

Paraconsistent Transition Systems

Often in Software Engineering, a modeling formalism has to support scena...
research
12/17/2015

On A Testing and Implementation of Quantum Gate and Measurement Emulator (QGAME)

Today, people are looking forward to get an awesome computational power....

Please sign up or login with your details

Forgot password? Click here to reset