Reversible Computation in Petri Nets

04/10/2018
by   Anna Philippou, et al.
0

Reversible computation is an unconventional form of computing where any executed sequence of operations can be executed in reverse at any point during computation. It has recently been attracting increasing attention in various research communities as on the one hand it promises low-power computation and on the other hand it is inherent or of interest in a variety of applications. In this paper, we propose a reversible approach to Petri nets by introducing machinery and associated operational semantics to tackle the challenges of the three main forms of reversibility, namely, backtracking, causal reversing and out-of-causal-order reversing. Our proposal concerns a variation of Petri nets where tokens are persistent and are distinguished from each other by an identity which allows for transitions to be reversed spontaneously in or out of causal order. Our design decisions are influenced by applications in biochemistry but the methodology can be applied to a wide range of problems that feature reversibility. In particular, to demonstrate the applicability of our approach we use an example of a biochemical system and an example of a transaction-processing system both of which naturally embed reversible behaviour.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset