Modeling Quantum programs: challenges, initial results, and research directions

Quantum programming languages provide necessary constructs to program quantum computers. To write such programs, one needs to understand the characteristics of quantum computers such as superposition and entanglement, which are novel as compared to programming with classical computers. Understanding these characteristics requires an understanding of quantum physics. Thus, there is a need to build high-level modeling abstractions of quantum programs for software engineers who are used to program on classical computers to understand and model quantum programs at a high-level of abstraction and independent of quantum platforms. To this end, we present some ideas for developing such quantum software modeling languages, by presenting a conceptual model of quantum programs and an example of modeling the state-based behavior of quantum entanglement program. Moreover, we present some open issues in the area of modeling quantum programs.

[1]  Robert Wille,et al.  IBM’s Qiskit Tool Chain: Working with and Developing for Real Quantum Computers , 2019, 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[2]  John Preskill,et al.  Quantum Computing in the NISQ era and beyond , 2018, Quantum.

[3]  M. Serrao,et al.  Quantum Computer Architecture: Towards Full-Stack Quantum Accelerators , 2019, 2020 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[4]  W. W. Hansen,et al.  Nuclear Induction , 2011 .

[5]  Hector G. Perez-Gonzalez,et al.  Towards a Quantum Software Modeling Language , 2020, ICSE.

[6]  Isaac L. Chuang,et al.  Quantum Computation and Quantum Information (10th Anniversary edition) , 2011 .

[7]  Martin Lukac,et al.  Quantum Finite State Machines as Sequential Quantum Circuits , 2009, 2009 39th International Symposium on Multiple-Valued Logic.

[8]  A. C. Cem Say,et al.  Quantum Finite Automata: A Modern Introduction , 2014, Computing with New Resources.

[9]  James P. Crutchfield,et al.  Quantum automata and quantum grammars , 2000, Theor. Comput. Sci..

[10]  Paul Adrien Maurice Dirac,et al.  A new notation for quantum mechanics , 1939, Mathematical Proceedings of the Cambridge Philosophical Society.

[11]  B. Demuth,et al.  THE DRESDEN OCL TOOLKIT AND ITS ROLE IN INFORMATION SYSTEMS DEVELOPMENT , 2004 .

[12]  Sunita Garhwal,et al.  Quantum Programming Language: A Systematic Review of Research Topic and Top Cited Languages , 2019, Archives of Computational Methods in Engineering.

[13]  Jianjun Zhao,et al.  Quantum Software Engineering: Landscapes and Horizons , 2020, ArXiv.

[14]  Ralf Lämmel,et al.  Partial Evaluation of OCL Expressions , 2017, 2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[15]  Mehrdad Sabetzadeh,et al.  Practical Constraint Solving for Generating System Test Data , 2019, ACM Trans. Softw. Eng. Methodol..

[16]  Fabio Baruffa,et al.  Intel Quantum Simulator: a cloud-ready high-performance simulator of quantum circuits , 2020, Quantum Science and Technology.

[17]  Lionel C. Briand,et al.  Generating Test Data from OCL Constraints with Search Techniques , 2013, IEEE Transactions on Software Engineering.

[18]  Shenggen Zheng,et al.  Experimental demonstration of quantum finite automaton , 2019, npj Quantum Information.

[19]  Dominik Bork,et al.  A survey of modeling language specification techniques , 2020, Inf. Syst..

[20]  Gerhard W. Dueck,et al.  Quantum Circuit Simplification and Level Compaction , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[21]  Martin Rötteler,et al.  Q#: Enabling Scalable Quantum Computing and Development with a High-level DSL , 2018, RWDSL2018.

[22]  Ryan LaRose,et al.  Overview and Comparison of Gate Level Quantum Software Platforms , 2018, Quantum.

[23]  Elham Kashefi,et al.  Verification of Quantum Computation: An Overview of Existing Approaches , 2017, Theory of Computing Systems.