A design-based model of reversible computation 

W. J. (Bill) Stoddart, F. (Frank) Zeyda, R. (Robert) Lynas

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    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.
    Original languageEnglish
    Title of host publicationUnifying Theories of Programming
    Subtitle of host publicationUTP 2006
    Editors Dunne, Stoddart
    Place of PublicationBerlin
    PublisherSpringer Verlag
    Pages63-83
    Volume4010
    ISBN (Electronic)9783540347521
    ISBN (Print)9783540347507
    DOIs
    Publication statusPublished - 2006

    Publication series

    NameLecture Notes in Computer Science
    Volume4010

    Fingerprint Dive into the research topics of 'A design-based model of reversible computation '. Together they form a unique fingerprint.

  • Cite this

    Stoddart, W. J. B., Zeyda, F. F., & Lynas, R. R. (2006). A design-based model of reversible computation . In Dunne, & Stoddart (Eds.), Unifying Theories of Programming: UTP 2006 (Vol. 4010, pp. 63-83). (Lecture Notes in Computer Science; Vol. 4010). Springer Verlag. https://doi.org/10.1007/11768173_4