Natural Computing

, Volume 10, Issue 4, pp 1313–1343 | Cite as

Distributed quantum programming



In this paper we explore the structure and applicability of the Distributed Measurement Calculus (DMC), an assembly language for distributed measurement-based quantum computations. We describe the formal language’s syntax and semantics, both operational and denotational, and state several properties that are crucial to the practical usability of our language, such as equivalence of our semantics, as well as compositionality and context-freeness of DMC programs. We show how to put these properties to use by constructing a composite program that implements distributed controlled operations, in the knowledge that the semantics of this program does not change under the various composition operations. Our formal model is the basis of a quantum virtual machine construction for distributed quantum computations, which we elaborate upon in the latter part of this work. This virtual machine embodies the formal semantics of DMC such that programming execution no longer needs to be analysed by hand. Far from a literal translation, it requires a substantial concretisation of the formal model at the level of data structures, naming conventions and abstraction mechanisms. At the same time we provide automatisation techniques for program specification where possible to obtain an expressive and user-friendly programming environment.


Quantum computing Measurement-based quantum computing Distributed computing Formal models Virtual machines 



This work is based on earlier research with V. Danos, E. Kashefi and P. Panangaden. The first author is supported by the Flemish Fund for Scientific Research (FWO) and the second by the CRYPTASC project, funded by the Institute for the encouragement of Scientific Research and Innovation of Brussels (IRSIB/IWOIB).


  1. Adão P, Mateus P (2005) A process algebra for reasoning about quantum security. In: Selinger P (ed) Proceedings of the 3rd workshop on quantum programming languages (QPL04), pp 3–20Google Scholar
  2. Bennett C, Brassard G (1984) Quantum cryptography: public key distribution and coin tossing. In: Proceedings of the IEEE international conference on computers, systems and signal processing, Bangalore, IndiaGoogle Scholar
  3. Bose S, Vedral V, Knight PL (1998) Multiparticle generalization of entanglement swapping. Phys Rev A 57(2):822–829CrossRefGoogle Scholar
  4. Brock J, Ackerman W (1981) Scenarios: a model of non-determinate computation. In: Diaz J, Ramos I (eds) Formalizations of programming concepts, vol 107. Springer-Verlag, New YorkGoogle Scholar
  5. Danos V, D’Hondt E, Kashefi E, Panangaden P (2005) Distributed measurement-based quantum computation. In: Selinger P (ed) Proceedings of the 3rd international workshop on quantum programming languages (QPL 2005), volume 170 of ENTCS, pp 73–94, quant-ph/0506070Google Scholar
  6. Danos V, Kashefi E, Panangaden P (2007) The measurement calculus. JACM 54(2). doi: 10.1145/1219092.1219096. quant-ph/0704.1263v1
  7. Desmet B, D’Hondt E, Costanza P, D’Hondt T (2006) Simulation of quantum computations in Lisp. In: Lisp workshop at ECOOP (submitted)Google Scholar
  8. D’Hondt E (2005) Distributed quantum computation—a measurement-based approach. PhD thesis, Vrije Universiteit BrusselGoogle Scholar
  9. Gay SJ, Nagarajan R (2004) Communicating quantum processes. In: Selinger P (ed) Proceedings of the 2nd workshop on quantum programming languages (QPL04), Turku, Finland. Turku Centre for Computer Science, TUCS General Publication no. 33Google Scholar
  10. Gay SJ, Nagarajan R, Papanikolaou N (2005) Probabilistic model-checking of quantum protocols. In: Proceedings of the 2nd international workshop on developments in computational models (DCM 2006)Google Scholar
  11. Gordon M, Thies W, and Amarasinghe S (2006) Exploiting coarse-grained task, data, and pipeline parallelism in stream programs. ACM SIGOPS Oper Syst Rev 40(5):162CrossRefGoogle Scholar
  12. Jorrand P, Lalire M (2005) Toward a quantum process algebra. In: Proceedings of the first conference on computing frontiers. ACM Press, pp 111–119Google Scholar
  13. Lalire M, Jorrand P (2004) A process algebraic approach to concurrent and distributed quantum computation: operational semantics. In: Selinger P (ed) Proceedings of the 2nd workshop on Quantum Programming Languages (QPL04), Turku, Finland. Turku Centre for Computer Science, TUCS General Publication no. 33Google Scholar
  14. McCarthy J (1960) Recursive functions of symbolic expressions and their computation by machine. Commun ACM 3:184–195Google Scholar
  15. Nielsen MA, Chuang I (2000) Quantum computation and quantum information. Cambridge University Press, CambridgeMATHGoogle Scholar
  16. Raedt KD, Michielsen K, Raedt HD, Trieu B, Arnold G, Richter M, Lippert T, Watanabe H, Ito N (2006) Massive parallel quantum computer simulator. quant-ph/0608239Google Scholar
  17. Raussendorf R, Browne DE, Briegel HJ (2003) Measurement-based quantum computation on cluster states. Phys Rev A 68(2):022312CrossRefGoogle Scholar
  18. Selinger P (2003) Towards a quantum programming language. Math Struct Comput Sci 14(4):527–586Google Scholar
  19. Svore KM, Aho AV, Cross AW, Chuang IL, Markov IL (2006) A layered software architecture for quantum computing design tools. IEEE Comput 39(1):74–83CrossRefGoogle Scholar
  20. Verhaegen S (2009) Stream programming for quantum computing. Master’s thesis, Vrije Universiteit BrusselGoogle Scholar
  21. Yimsiriwattana A, Lomonaco SJ (2005) Generalized GHZ states and distributed quantum computing. AMS Contemp Math 381:131–147Google Scholar
  22. Zukowski M, Zeilinger A, Horne MA, Ekert A (1993) “Event-ready detectors” Bell experiment via entanglement swapping. Phys Rev Lett 71(26):4287–4290CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media B.V. 2010

Authors and Affiliations

  1. 1.Software Languages LabVrije Universiteit BrusselElseneBelgium

Personalised recommendations