Subscribe

Issue No.04 - July/August (2011 vol.37)

pp: 466-485

Mingsheng Ying , University of Technology, Sydney and Tsinghua University, Beijing

Yuan Feng , University of Technology, Sydney and Tsinghua University, Beijing

DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2010.94

ABSTRACT

Several high-level quantum programming languages have been proposed in the previous research. In this paper, we define a low-level flowchart language for quantum programming, which can be used in implementation of high-level quantum languages and in design of quantum compilers. The formal semantics of the flowchart language is given, and the notion of correctness for programs written in this language is introduced. A structured quantum programming theorem is presented, which provides a technique of translating quantum flowchart programs into programs written in a high-level language, namely, a quantum extension of the while-language.

INDEX TERMS

Quantum programming, flowchart language, while-language, structured programming.

CITATION

Mingsheng Ying, Yuan Feng, "A Flowchart Language for Quantum Programming",

*IEEE Transactions on Software Engineering*, vol.37, no. 4, pp. 466-485, July/August 2011, doi:10.1109/TSE.2010.94REFERENCES

- [1] S. Abramsky and B. Coecke, "A Categorical Semantics of Quantum Protocols,"
Proc. 19th IEEE Symp. Logic in Computer Science, pp. 415-425, 2004.- [2] T. Altenkirch and J. Grattage, "A Functional Quantum Programming Language,"
Proc. 20th Ann. IEEE Symp. Logic in Computer Science, pp. 249-258, 2005.- [3] K.R. Apt and E.-R. Olderog,
Verification of Sequential and Concurrent Programs, Springer, 1997.- [4] A. Baltag and S. Smets, "LQP: The Dynamic Logic of Quantum Information,"
Math. Structures in Computer Science, vol. 16, pp. 491-525, 2006.- [5] S. Bettelli, T. Calarco, and L. Serafini, "Toward an Architecture for Quantum Programming,"
The European Physical J. D, vol. 25, pp. 181-200, 2003.- [6] O. Brunet and P. Jorrand, "Dynamic Quantum Logic for Quantum Programs,"
Int'l J. Quantum Information, vol. 2, pp. 45-54, 2004.- [7] R. Chadha, P. Mateus, and A. Sernadas, "Reasoning about Imperative Quantum Programs,"
Electronic Notes in Theoretical Computer Science, vol. 158, pp. 19-39, 2006.- [8] D.C. Cooper, "Böhm and Jacopini's Reduction of Flow Charts,"
Comm. ACM, vol. 10, pp. 463-473, 1967.- [9] V. Danos, E. Kashefi, and P. Panangaden, "The Measurement Calculus,"
J. ACM, vol. 54, p. 8, 2007.- [10] E. D'Hondt and P. Panangaden, "Quantum Weakest Preconditions,"
Math. Structures in Computer Science, vol. 16, pp. 429-451, 2006.- [11] Y. Feng, R.Y. Duan, Z.F. Ji, and M.S. Ying, "Proof Rules for the Correctness of Quantum Programs,"
Theoretical Computer Science, vol. 386, pp. 151-166, 2007.- [12] S.J. Gay, "Quantum Programming Languages: Survey and Bibliography,"
Math. Structures in Computer Science, vol. 16, pp. 581-600, 2006.- [13] E.H. Knill, "Conventions for Quantum Pseudocode," Technical Report LAUR-96-2724, Los Alamos Nat'l Laboratory, 1996.
- [14] D.E. Knuth, "Structured Programming with go to Statements,"
ACM Computing Surveys, vol. 6, pp. 261-301, 1974.- [15] J. Loeckx and K. Sieber,
The Foundations of Program Verification, John Wiley, 1987.- [16]
Semantic Techniques in Quantum Computation, I. Mackie and S. Gay, eds. Cambridge Univ. Press, 2010.- [17] M.A. Nielsen and I.L. Chuang,
Quantum Computation and Quantum Information. Cambridge Univ. Press, 2000.- [18] R. Nagarajan, N. Papanikolaou, and D. Williams, "Simulating and Compiling Code for the Sequential Quantum Random Access Machine,"
Electronic Notes in Theoretical Computer Science, vol. 170, pp. 101-124, 2007.- [19] B. Ömer, "Structural Quantum Programming," PhD thesis, Technical Univ. of Vienna, 2003.
- [20] P. Panangaden,
Labelled Markov Processes. World Scientific, 2009.- [21] J.W. Sanders and P. Zuliani, "Quantum Programming,"
Proc., Math. Program Construction, pp. 88-99, 2000.- [22] P. Selinger, "Towards a Quantum Programming Language,"
Math. Structures in Computer Science, vol. 14, pp. 527-586, 2004.- [23] P. Selinger, "A Brief Survey of Quantum Programming Languages,"
Proc. Seventh Int'l Symp. Functional and Logic Programming, pp. 1-6, 2004.- [24] K.M. Svore, A.V. Aho, A.W. Cross, I.L. Chuang, and I.L. Markov, "A Layered Software Architecture for Quantum Computing Design Tools,"
Computer, vol. 39, pp. 74-83, 2006.- [25] A. Tafliovich and E.C.R. Hehner, "Quantum Predicative Programming,"
Proc. Eighth Int'l Conf. Math. of Program Construction, pp. 433-454, 2006.- [26] A. Tafliovich and E.C.R. Hehner, "Programming with Quantum Communication,"
Electronic Notes in Theoretical Computer Science, vol. 253, pp. 99-118, 2009.- [27] J. von Neumann, "On Infinite Direct Product,"
Compositio Mathematica, vol. 6, pp. 1-77, 1938.- [28] M.S. Ying,
Topology in Process Calculus: Approximate Correctness and Infinite Evolution of Concurrent Programs. Springer, 2001.- [29] M.S. Ying, "Hoare Logic for Quantum Programs," http://xxx.lanl.gov/abs0906.4586, 2010.
- [30] M.S. Ying, R.Y. Duan, Y. Feng, and Z.F. Ji, "Predicate Transformer Semantics of Quantum Programs,"
Semantic Techniques in Quantum Computation, I. Mackie and S. Gay, eds., pp. 311-360, Cambridge Univ. Press, 2010.- [31] M.S. Ying and Y. Feng, "Quantum Loop Programs,"
Acta Informatica, vol. 47, pp. 221-250, 2010.- [32] M.S. Ying, Y. Feng, R.Y. Duan, and Z.F. Ji, "An Algebra of Quantum Processes,"
ACM Trans. Computational Logic, vol. 10, p. 19, 2009.- [33] P. Zuliani, "Compiling Quantum Programs,"
Acta Informatica, vol. 41, pp. 435-473, 2005.- [34] P. Zuliani, "Reasoning about Faulty Quantum Programs,"
Acta Informatica, vol. 46, pp. 403-432, 2009. |