1,138 research outputs found
Reversibility in the higher-order π-calculus
The notion of reversible computation is attracting increasing interest because of its applications in diverse fields, in particular the study of programming abstractions for reliable systems. In this paper, we continue the study un-dertaken by Danos and Krivine on reversible CCS by defining a reversible higher-order π-calculus, called rhoπ. We prove that reversibility in our cal-culus is causally consistent and that the causal information used to support reversibility in rhoπ is consistent with the one used in the causal semantics of the π-calculus developed by Boreale and Sangiorgi. Finally, we show that one can faithfully encode rhoπ into a variant of higher-order π, substantially improving on the result we obtained in the conference version of this paper
Causal Consistency for Reversible Multiparty Protocols
In programming models with a reversible semantics, computational steps can be
undone. This paper addresses the integration of reversible semantics into
process languages for communication-centric systems equipped with behavioral
types. In prior work, we introduced a monitors-as-memories approach to
seamlessly integrate reversible semantics into a process model in which
concurrency is governed by session types (a class of behavioral types),
covering binary (two-party) protocols with synchronous communication. The
applicability and expressiveness of the binary setting, however, is limited.
Here we extend our approach, and use it to define reversible semantics for an
expressive process model that accounts for multiparty (n-party) protocols,
asynchronous communication, decoupled rollbacks, and abstraction passing. As
main result, we prove that our reversible semantics for multiparty protocols is
causally-consistent. A key technical ingredient in our developments is an
alternative reversible semantics with atomic rollbacks, which is conceptually
simple and is shown to characterize decoupled rollbacks.Comment: Extended, revised version of a PPDP'17 paper
(https://doi.org/10.1145/3131851.3131864
Reversible Multiparty Sessions with Checkpoints
Reversible interactions model different scenarios, like biochemical systems
and human as well as automatic negotiations. We abstract interactions via
multiparty sessions enriched with named checkpoints. Computations can either go
forward or roll back to some checkpoints, where possibly different choices may
be taken. In this way communications can be undone and different conversations
may be tried. Interactions are typed with global types, which control also
rollbacks. Typeability of session participants in agreement with global types
ensures session fidelity and progress of reversible communications.Comment: In Proceedings EXPRESS/SOS 2016, arXiv:1608.0269
Computing with Coloured Tangles
We suggest a diagrammatic model of computation based on an axiom of
distributivity. A diagram of a decorated coloured tangle, similar to those that
appear in low dimensional topology, plays the role of a circuit diagram.
Equivalent diagrams represent bisimilar computations. We prove that our model
of computation is Turing complete, and that with bounded resources it can
moreover decide any language in complexity class IP, sometimes with better
performance parameters than corresponding classical protocols.Comment: 36 pages,; Introduction entirely rewritten, Section 4.3 adde
A general approach to derive uncontrolled reversible semantics
Reversible computing is a paradigm where programs can execute backward as well as in the usual forward direction. Reversible computing is attracting interest due to its applications in areas as different as biochemical modelling, simulation, robotics and debugging, among others. In concurrent systems the main notion of reversible computing is called causal-consistent reversibility, and it allows one to undo an action if and only if its consequences, if any, have already been undone. This paper presents a general and automatic technique to define a causal-consistent reversible extension for given forward models. We support models defined using a reduction semantics in a specific format and consider a causality relation based on resources consumed and produced. The considered format is general enough to fit many formalisms studied in the literature on causal-consistent reversibility, notably Higher-Order π-calculus and Core Erlang, an intermediate language in the Erlang compilation. Reversible extensions of these models in the literature are ad hoc, while we build them using the same general technique. This also allows us to show in a uniform way that a number of relevant properties, causal-consistency in particular, hold in the reversible extensions we build. Our technique also allows us to go beyond the reversible models in the literature: we cover a larger fragment of Core Erlang, including remote error handling based on links, which has never been considered in the reversibility literature
Bridging Causal Reversibility and Time Reversibility: A Stochastic Process Algebraic Approach
Causal reversibility blends reversibility and causality for concurrent
systems. It indicates that an action can be undone provided that all of its
consequences have been undone already, thus making it possible to bring the
system back to a past consistent state. Time reversibility is instead
considered in the field of stochastic processes, mostly for efficient analysis
purposes. A performance model based on a continuous-time Markov chain is time
reversible if its stochastic behavior remains the same when the direction of
time is reversed. We bridge these two theories of reversibility by showing the
conditions under which causal reversibility and time reversibility are both
ensured by construction. This is done in the setting of a stochastic process
calculus, which is then equipped with a variant of stochastic bisimilarity
accounting for both forward and backward directions
- …