14 research outputs found

    Reversing place transition nets

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    corecore