Journal of Logical and Algebraic Methods in Programming · 2015 · 29 citations · 23 references
ComputingComputer ScienceDistributed SystemsFormal MethodsTheory Of ComputationConcurrency VerificationInterprocess CommunicationReversible ProcessesCommunication-centric Programming ModelsConcurrent Program VerificationDistributed Systems VerificationRollbackRollback MechanismsStatic VerificationUndo MechanismsVerification Of Concurrent Programs
In this work, we incorporate reversibility into structured communication-based programming, to allow parties of a session to automatically undo, in a rollback fashion, the effect of previously executed interactions. This permits to take different computation paths along the same session, as well as to revert the whole session and start a new one. Our aim is to define a theoretical basis for examining the interplay in concurrent systems between reversible computation and session-based interaction. We thus propose ReSπ a session-based variant of π-calculus using memory devices to keep track of the computation history of sessions in order to reverse it. We show how a session type discipline of π-calculus is extended to ReSπ, and illustrate its practical advantages for static verification of safe composition in communication-centric distributed software performing reversible computations. We also show how a fully reversible characterisation of the calculus extends to committable sessions, where computation can go forward and backward until the session is committed by means of a specific irreversible action.
23
Wojciech Penczek · Science of Computer Programming · 1990 · 4K citations
A calculus of mobile processes, I
Robin Milner, Joachim Parrow, David Walker · Information and Computation · 1992 · 2.8K citations · Full text
A calculus of mobile processes, II
Robin Milner, Joachim Parrow, David Walker · Information and Computation · 1992 · 1.7K citations · Full text
A Theory of Communicating Sequential Processes
Stephen Brookes, C. A. R. Hoare, A. W. Roscoe · Journal of the ACM · 1984 · 1.2K citations · Full text
Process algebra for synchronous communication
J.A. Bergstra, Jan Willem Klop · Information and Control · 1984 · 880 citations · Full text