Bridging Causal Consistent and Time Reversibility: A Stochastic Process Algebraic Approach

. Causal consistent reversibility blends causality and reversibility. For a concurrent system, it says that an action can be undone provided that this has no consequences, thereby making it possible to bring the system back to a past consistent state. Time reversibility is instead considered in the performance evaluation field, mostly for efficient analysis purposes. A continuous-time Markov chain is time reversible if its stochastic behavior remains the same when the direction of time is reversed. We study how to bridge these two theories of reversibility by showing the conditions under which both causal consistent reversibility and time reversibility can be ensured by construction. This is done in the setting of a stochastic process calculus, which is then equipped with a notion of stochastic bisimilarity accounting for both forward and backward directions.

[1]  Ivan Lanese,et al.  A General Approach to Derive Uncontrolled Reversible Semantics , 2020, CONCUR.

[2]  Claudio Antares Mezzina,et al.  Towards Bridging Time and Causal Reversibility , 2020, FORTE.

[3]  Ivan Lanese,et al.  An Axiomatic Approach to Reversible Computation , 2020, FoSSaCS.

[4]  Ivan Lanese,et al.  Static versus dynamic reversibility in CCS , 2019, Acta Informatica.

[5]  Anna Philippou,et al.  Distributed Antenna Selection for Massive MIMO Using Reversing Petri Nets , 2019, IEEE Wireless Communications Letters.

[6]  Michael P. Frank,et al.  Physical Foundations of Landauer's Principle , 2018, RC.

[7]  Jean-Bernard Stefani,et al.  Checkpoint/Rollback vs Causally-Consistent Reversibility , 2018, RC.

[8]  Markus Schordan,et al.  Generation of Reversible C++ Code for Optimistic Parallel Discrete Event Simulation , 2018, New Generation Computing.

[9]  Ivan Lanese,et al.  A Theory of Reversibility for Erlang , 2018, J. Log. Algebraic Methods Program..

[10]  Ivan Lanese,et al.  CauDEr: A Causal-Consistent Reversible Debugger for Erlang , 2018, FLOPS.

[11]  Ulrik Pagh Schultz,et al.  Modelling reversible execution of robotic assembly , 2018, Robotica.

[12]  John C. Mitchell,et al.  Reversing Steps in Membrane Systems Computations , 2017, Int. Conf. on Membrane Computing.

[13]  Maciej Koutny,et al.  Reversible computation vs. reversibility in Petri nets , 2016, Sci. Comput. Program..

[14]  Sabina Rossi,et al.  Quantitative Analysis of Concurrent Reversible Computations , 2015, FORMATS.

[15]  Germán Vidal,et al.  Concolic Execution in Functional Programming by Program Instrumentation , 2015, LOPSTR.

[16]  K. Perumalla,et al.  Reverse computation for rollback-based fault tolerance in large parallel systems , 2014, Cluster Computing.

[17]  Ivan Lanese,et al.  Causal-Consistent Reversible Debugging , 2014, FASE.

[18]  Daniele Varacca,et al.  A Compositional Semantics for the Reversible p-Calculus , 2013, 2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science.

[19]  Ivan Lanese,et al.  Concurrent Flexible Reversibility , 2013, ESOP.

[20]  Irek Ulidowski,et al.  A Reversible Process Calculus and the Modelling of the ERK Signalling Pathway , 2012, RC.

[21]  Ivan Lanese,et al.  A Reversible Abstract Machine and Its Space Overhead , 2012, FMOODS/FORTE.

[22]  E. Lutz,et al.  Experimental verification of Landauer’s principle linking information and thermodynamics , 2012, Nature.

[23]  Matthew Hennessy,et al.  Communicating transactions , 2010, CONCUR 2010.

[24]  Robert Glück,et al.  A reversible programming language and its invertible self-interpreter , 2007, PEPM '07.

[25]  Iain C. C. Phillips,et al.  Reversing algebraic process calculi , 2006, J. Log. Algebraic Methods Program..

[26]  Vincent Danos,et al.  Transactions in RCCS , 2005, CONCUR.

[27]  James R. Jackson,et al.  Jobshop-Like Queueing Systems , 2004, Manag. Sci..

[28]  Vincent Danos,et al.  Reversible Communicating Systems , 2004, CONCUR.

[29]  Peter G. Harrison,et al.  Turning back time in Markovian process algebra , 2003, Theor. Comput. Sci..

[30]  Charles H. Bennett,et al.  Notes on Landauer's Principle, Reversible Computation, and Maxwell's Demon , 2002, physics/0210005.

[31]  Jane Hillston,et al.  A compositional approach to performance modelling , 1996 .

[32]  William J. Stewart,et al.  Introduction to the numerical solution of Markov Chains , 1994 .

[33]  J. Hillston The nature of synchronisation , 1994 .

[34]  Jos C. M. Baeten,et al.  A Congruence Theorem for Structured Operational Semantics with Predicates , 1993, CONCUR.

[35]  Rocco De Nicola,et al.  Back and Forth Bisimulations , 1990, CONCUR.

[36]  George B. Leeman A formal approach to undo operations in programming languages , 1986, TOPL.

[37]  Brigitte Plateau,et al.  On the stochastic structure of parallelism and synchronization models for distributed algorithms , 1985, SIGMETRICS '85.

[38]  Anthony Unwin,et al.  Reversibility and Stochastic Networks , 1980 .

[39]  Robert Glück,et al.  Towards a Unified Language Architecture for Reversible Object-Oriented Programming , 2021, RC.

[40]  B. Nordstrom FINITE MARKOV CHAINS , 2005 .

[41]  S. Wittevrongel,et al.  Queueing systems , 2019, Autom..

[42]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[43]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[44]  R. Landauer,et al.  Irreversibility and heat generation in the computing process , 1961, IBM J. Res. Dev..