14 research outputs found
Reversing place transition nets
Petri nets are a well-known model of concurrency and provide an ideal setting for the study of fundamental aspects in concurrent systems. Despite their simplicity, they still lack a satisfactory causally reversible semantics. We develop such semantics for Place/Transitions Petri nets (P/T nets) based on two observations. Firstly, a net that explicitly expresses causality and conflict among events, for example an occurrence net, can be straightforwardly reversed by adding a reverse transition for each of its forward transitions. Secondly, given a P/T net the standard unfolding construction associates with it an occurrence net that preserves all of its computation. Consequently, the reversible semantics of a P/T net can be obtained as the reversible semantics of its unfolding. We show that such reversible behaviour can be expressed as a finite net whose tokens are coloured by causal histories. Colours in our encoding resemble the causal memories that are typical in reversible process calculi.Fil: Melgratti, Hernan Claudio. Consejo Nacional de Investigaciones CientÃficas y Técnicas. Oficina de Coordinación Administrativa Ciudad Universitaria. Instituto de Investigación en Ciencias de la Computación. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Instituto de Investigación en Ciencias de la Computación; ArgentinaFil: Mezzina, Claudio Antares. Università Degli Studi Di Urbino Carlo Bo; ItaliaFil: Ulidowski, And Irek. University of Leicester; Reino Unid
Reversing Place Transition Nets
Petri nets are a well-known model of concurrency and provide an ideal setting
for the study of fundamental aspects in concurrent systems. Despite their
simplicity, they still lack a satisfactory causally reversible semantics. We
develop such semantics for Place/Transitions Petri nets (P/T nets) based on two
observations. Firstly, a net that explicitly expresses causality and conflict
among events, for example an occurrence net, can be straightforwardly reversed
by adding a reverse transition for each of its forward transitions. Secondly,
given a P/T net the standard unfolding construction associates with it an
occurrence net that preserves all of its computation. Consequently, the
reversible semantics of a P/T net can be obtained as the reversible semantics
of its unfolding. We show that such reversible behaviour can be expressed as a
finite net whose tokens are coloured by causal histories. Colours in our
encoding resemble the causal memories that are typical in reversible process
calculi
A new operational representation of dependencies in Event Structures
The execution of an event in a complex and distributed system where the
dependencies vary during the evolution of the system can be represented in many
ways, and one of them is to use Context-Dependent Event structures. Event
structures are related to Petri nets. The aim of this paper is to propose what
can be the appropriate kind of Petri net corresponding to Context-Dependent
Event structures, giving an operational flavour to the dependencies represented
in a Context/Dependent Event structure. Dependencies are often operationally
represented, in Petri nets, by tokens produced by activities and consumed by
others. Here we shift the perspective using contextual arcs to characterize
what has happened so far and in this way to describe the dependencies among the
various activities
An Axiomatic Approach to Reversible Computation
Undoing computations of a concurrent system is beneficial inmany situations, e.g., in reversible debugging of multi-threaded programsand in recovery from errors due to optimistic execution in parallel dis-crete event simulation. A number of approaches have been proposed forhow to reverse formal models of concurrent computation including pro-cess calculi such as CCS, languages like Erlang, prime eventstructuresand occurrence nets. However it has not been settled what properties areversible system should enjoy, nor how the various properties that havebeen suggested, such as the parabolic lemma and the causal-consistencyproperty, are related. We contribute to a solution to these issues by usinga generic labelled transition system equipped with a relationcapturingwhether transitions are independent to explore the implications betweenthese properties. In particular, we show how they are derivable from aset of axioms. Our intention is that when establishing properties of someformalism it will be easier to verify the axioms rather than proving prop-erties such as the parabolic lemma directly. We also introduce two newnotions related to causal consistent reversibility, namely causal safetyand causal liveness, and show that they are derivable from our axioms
A new operational representation of dependencies in Event Structures
The execution of an event in a complex and distributed system where the
dependencies vary during the evolution of the system can be represented in many
ways, and one of them is to use Context-Dependent Event structures. Event
structures are related to Petri nets. The aim of this paper is to propose what
can be the appropriate kind of Petri net corresponding to Context-Dependent
Event structures, giving an operational flavour to the dependencies represented
in a Context/Dependent Event structure. Dependencies are often operationally
represented, in Petri nets, by tokens produced by activities and consumed by
others. Here we shift the perspective using contextual arcs to characterize
what has happened so far and in this way to describe the dependencies among the
various activities
revTPL: The Reversible Temporal Process Language
Reversible debuggers help programmers to find the causes of misbehaviours in
concurrent programs more quickly, by executing a program backwards from the
point where a misbehaviour was observed, and looking for the bug(s) that caused
it. Reversible debuggers can be founded on the well-studied theory of
causal-consistent reversibility, which only allows one to undo an action
provided that its consequences, if any, are undone beforehand.
Causal-consistent reversibility yields more efficient debugging by reducing the
number of states to be explored when looking backwards. Till now,
causal-consistent reversibility has never considered time, which is a key
aspect in real-world applications. Here, we study the interplay between
reversibility and time in concurrent systems via a process algebra. The
Temporal Process Language (TPL) by Hennessy and Regan is a well-understood
extension of CCS with discrete-time and a timeout operator. We define revTPL, a
reversible extension of TPL, and we show that it satisfies the properties
expected from a causal-consistent reversible calculus. We show that,
alternatively, revTPL can be interpreted as an extension of reversible CCS with
time
Reversible Computation: Extending Horizons of Computing
This open access State-of-the-Art Survey presents the main recent scientific outcomes in the area of reversible computation, focusing on those that have emerged during COST Action IC1405 "Reversible Computation - Extending Horizons of Computing", a European research network that operated from May 2015 to April 2019. Reversible computation is a new paradigm that extends the traditional forwards-only mode of computation with the ability to execute in reverse, so that computation can run backwards as easily and naturally as forwards. It aims to deliver novel computing devices and software, and to enhance existing systems by equipping them with reversibility. There are many potential applications of reversible computation, including languages and software tools for reliable and recovery-oriented distributed systems and revolutionary reversible logic gates and circuits, but they can only be realized and have lasting effect if conceptual and firm theoretical foundations are established first