Skip to main content

A Design-Based Model of Reversible Computation

  • Conference paper
Unifying Theories of Programming (UTP 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4010))

Included in the following conference series:

Abstract

We investigate, within the UTP framework of Hoare He Designs, the effect of seeing computation as an essentially reversible process. We describe the theoretical link between reversibility and the minimum power requirements of a computation, and we review Zuliani’s work on Reversible Probabilistic Guarded Command Language. We propose an alternative formalisation of reversible computing which accommodates backtracking. To obtain a basic backtracking language able to search for a single result we exploit the already recognised properties of non-deterministic choice, using it as provisional choice rather than implementor’s choice. We add a “prospective values” formalism which can describe programs that return all the possible results of a search, and we show how to formally describe the premature termination of such a search, a mechanism analogous to the “cut” of Prolog. An appendix describes some aspects of the wp calculus in terms of Designs, as needed for our proofs.

Support for the programming structures described has been incorporated in a reversible virtual machine for i386 platforms with Posix compatibility.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abrial, J.-R., Mussat, W.J.: On Using Conditional Definitions in Formal Theories. In: Bert, D., Bowen, J., Henson, M., Robinson, K. (eds.) B 2002 and ZB 2002. LNCS, vol. 2272, p. 242. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  2. Bennett, C.: The Logical Reversibility of Computation. IBM Journal of Research and Development 6 (1973)

    Google Scholar 

  3. Bennett, C.: The Thermodynamics of Computation. International Journal of Theoretical Physics 21, 905–940 (1982)

    Article  Google Scholar 

  4. Feynman, R.P.: Lectures on Computation. Westview Press (1996)

    Google Scholar 

  5. Floyd, R.W.: Non-deterministic Algorithms. Journal of the ACM 14(4) (1967)

    Google Scholar 

  6. Frank, M.P.: Reversibility for Efficiant Computing. PhD thesis. MIT (1999)

    Google Scholar 

  7. Hehner, E.C.R.: Bunch theory: A simple set theory for computer science. Information Processing Letters 12(1), 26–31 (1981)

    Article  MathSciNet  MATH  Google Scholar 

  8. Hehner, E.C.R.: A Practical Theory of Programming. Springer, Heidelberg (1993)

    MATH  Google Scholar 

  9. Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice Hall, Englewood Cliffs (1998)

    Google Scholar 

  10. Landauer, R.: Irreversibility and Heat Generated in the Computing Process. IBM J R&D 5 (1961)

    Google Scholar 

  11. Lecerf, Y.: Machines de Turing Reversibles. Comptes rendus de l’Académie Française des Sciences 257(1963) (1963)

    Google Scholar 

  12. Morgan, C.: The specification statement. ACM Transactions on Programming Systems 10(3) (1988)

    Google Scholar 

  13. Morgan, C., McIver, A.: pGCL: Formal Reasoning for Random Algorithms. South African Computer J. 22, 14–27 (1999)

    Google Scholar 

  14. Morris, J., Bunkenburg, A.: A theory of bunches. Acta Informatica 37(8) (2001)

    Google Scholar 

  15. Paige, R.F., Hehner, E.C.R.: Bunches for Object Oriented, Current and Real Time Specification. In: Wing, J.M., Woodcock, J.C.P., Davies, J. (eds.) FM 1999. LNCS, vol. 1708, p. 530. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  16. Stoddart, W.J., Dunne, S.E., Galloway, A.J.: Undefined Expressions and Logic in Z and B. Formal Methods in System Design 15(3) (1999)

    Google Scholar 

  17. Szilard, L.: On the Decrease of Entropy in a Thermodynamic System by the intervention of Intelligent Beings. Z. Phys. 53 (1929)

    Google Scholar 

  18. von Neumann, J.: Theory of Self Reproducing Automata. University of Illinois Press (1966); The remark was originally made in a talk given in 1949. Edited and completed by Arthur Burks

    Google Scholar 

  19. Zeyda, F., Stoddart, W.J., Dunne, S.E.: The Refinement of Reversible Computations. In: Muntean, T., Sere, K. (eds.) 2nd International Workshop on Refinement of Critical Systems (2003), Available from: www.esil.univ-mrs.fr/~spc/rcs03/rcs03

  20. Zeyda, F., Stoddart, B., Dunne, S.: A Prospective-value Semantics for the GSL. In: Treharne, H., King, S., C. Henson, M., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455, pp. 187–202. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  21. Zuliani, P.: Logical reversibility. IBM J R&D 45(6) (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Stoddart, B., Zeyda, F., Lynas, R. (2006). A Design-Based Model of Reversible Computation. In: Dunne, S., Stoddart, B. (eds) Unifying Theories of Programming. UTP 2006. Lecture Notes in Computer Science, vol 4010. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11768173_4

Download citation

  • DOI: https://doi.org/10.1007/11768173_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-34750-7

  • Online ISBN: 978-3-540-34752-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics