University of Leicester
Browse

Reversing Parallel Programs with Blocks and Procedures

Download (212.66 kB)
journal contribution
posted on 2019-05-14, 13:18 authored by James Hoey, Irek Ulidowski, Shoji Yuen
We show how to reverse a while language extended with blocks, local variables, procedures and the interleaving parallel composition. Annotation is defined along with a set of operational semantics capable of storing necessary reversal information, and identifiers are introduced to capture the interleaving order of an execution. Inversion is defined with a set of operational semantics that use saved information to undo an execution. We prove that annotation does not alter the behaviour of the original program, and that inversion correctly restores the initial program state.

Funding

The authors acknowledge partial support of COST Action IC1405 on Reversible Computation - extending horizons of computing. The third author is supported by JSPS KAKENHI grant numbers 17H01722 and 17K19969.

History

Citation

Electronic Proceedings in Theoretical Computer Science, 2018 (276), pp. 69-86 (18)

Author affiliation

/Organisation/COLLEGE OF SCIENCE AND ENGINEERING/Department of Informatics

Source

Combined Workshop on Expressiveness in Concurrency and Structural Operational Semantics (EXPRESS/SOS 2018)

Version

  • AM (Accepted Manuscript)

Published in

Electronic Proceedings in Theoretical Computer Science

Publisher

Open Publishing Association

issn

2075-2180

Copyright date

2018

Available date

2019-05-14

Publisher version

https://arxiv.org/abs/1808.08651v1

Language

en

Usage metrics

    University of Leicester Publications

    Categories

    No categories selected

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC