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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Bennett, C.: The Logical Reversibility of Computation. IBM Journal of Research and Development 6 (1973)
Bennett, C.: The Thermodynamics of Computation. International Journal of Theoretical Physics 21, 905–940 (1982)
Feynman, R.P.: Lectures on Computation. Westview Press (1996)
Floyd, R.W.: Non-deterministic Algorithms. Journal of the ACM 14(4) (1967)
Frank, M.P.: Reversibility for Efficiant Computing. PhD thesis. MIT (1999)
Hehner, E.C.R.: Bunch theory: A simple set theory for computer science. Information Processing Letters 12(1), 26–31 (1981)
Hehner, E.C.R.: A Practical Theory of Programming. Springer, Heidelberg (1993)
Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice Hall, Englewood Cliffs (1998)
Landauer, R.: Irreversibility and Heat Generated in the Computing Process. IBM J R&D 5 (1961)
Lecerf, Y.: Machines de Turing Reversibles. Comptes rendus de l’Académie Française des Sciences 257(1963) (1963)
Morgan, C.: The specification statement. ACM Transactions on Programming Systems 10(3) (1988)
Morgan, C., McIver, A.: pGCL: Formal Reasoning for Random Algorithms. South African Computer J. 22, 14–27 (1999)
Morris, J., Bunkenburg, A.: A theory of bunches. Acta Informatica 37(8) (2001)
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)
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)
Szilard, L.: On the Decrease of Entropy in a Thermodynamic System by the intervention of Intelligent Beings. Z. Phys. 53 (1929)
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
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
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)
Zuliani, P.: Logical reversibility. IBM J R&D 45(6) (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)