8,628 research outputs found
The Buffered \pi-Calculus: A Model for Concurrent Languages
Message-passing based concurrent languages are widely used in developing
large distributed and coordination systems. This paper presents the buffered
-calculus --- a variant of the -calculus where channel names are
classified into buffered and unbuffered: communication along buffered channels
is asynchronous, and remains synchronous along unbuffered channels. We show
that the buffered -calculus can be fully simulated in the polyadic
-calculus with respect to strong bisimulation. In contrast to the
-calculus which is hard to use in practice, the new language enables easy
and clear modeling of practical concurrent languages. We encode two real-world
concurrent languages in the buffered -calculus: the (core) Go language and
the (Core) Erlang. Both encodings are fully abstract with respect to weak
bisimulations
A synchronous pi-calculus
The SL synchronous programming model is a relaxation of the Esterel
synchronous model where the reaction to the absence of a signal within an
instant can only happen at the next instant. In previous work, we have
revisited the SL synchronous programming model. In particular, we have
discussed an alternative design of the model including thread spawning and
recursive definitions, introduced a CPS translation to a tail recursive form,
and proposed a notion of bisimulation equivalence. In the present work, we
extend the tail recursive model with first-order data types obtaining a
non-deterministic synchronous model whose complexity is comparable to the one
of the pi-calculus. We show that our approach to bisimulation equivalence can
cope with this extension and in particular that labelled bisimulation can be
characterised as a contextual bisimulation
Feasible reactivity in a synchronous pi-calculus
Reactivity is an essential property of a synchronous program. Informally, it
guarantees that at each instant the program fed with an input will `react'
producing an output. In the present work, we consider a refined property that
we call ` feasible reactivity'. Beyond reactivity, this property guarantees
that at each instant both the size of the program and its reaction time are
bounded by a polynomial in the size of the parameters at the beginning of the
computation and the size of the largest input. We propose a method to annotate
programs and we develop related static analysis techniques that guarantee
feasible reactivity for programs expressed in the S-pi-calculus. The latter is
a synchronous version of the pi-calculus based on the SL synchronous
programming model
Determinacy in a synchronous pi-calculus
To appear in the book `From semantics to computer science: essays in honor of Gilles Kahn', Cambridge University Press.The S-pi-calculus is a synchronous pi-calculus which is based on the SL model. The latter is a relaxation of the Esterel model where the reaction to the absence of a signal within an instant can only happen at the next instant. In the present work, we present and characterise a compositional semantics of the S-pi-calculus based on suitable notions of labelled transition system and bisimulation. Based on this semantic framework, we explore the notion of determinacy and the related one of (local) confluence
Structural Rewriting in the pi-Calculus
We consider reduction in the synchronous pi-calculus with replication, without sums. Usual definitions of reduction in the pi-calculus use a closure w.r.t. structural congruence
of processes. In this paper we operationalize structural congruence by providing a reduction relation for pi-processes which also performs necessary structural conversions explicitly by
rewrite rules. As we show, a subset of structural congruence axioms is sufficient. We show that our rewrite strategy is equivalent to the usual strategy including structural congruence w.r.t.the observation of barbs and thus w.r.t. may- and should-testing equivalence in the pi-calculus
Cut Reduction in Linear Logic as Asynchronous Session-Typed Communication
Prior work has shown that intuitionistic linear logic can be seen as a
session-type discipline for the pi-calculus, where cut reduction in
the sequent calculus corresponds to synchronous process reduction. In
this paper, we exhibit a new process assignment from the asynchronous,
polyadic pi-calculus to exactly the same proof rules. Proof-theoretically, the difference between these interpretations can
be understood through permutations of inference rules that preserve
observational equivalence of closed processes in the synchronous case.
We also show that, under this new asynchronous interpretation, cut
reductions correspond to a natural asynchronous buffered session
semantics, where each session is allocated a separate communication
buffer
Observing Success in the Pi-Calculus
A contextual semantics - defined in terms of successful termination and may- and should-convergence - is analyzed in the synchronous pi-calculus with replication and a constant Stop to denote success.
The contextual ordering is analyzed, some nontrivial process equivalences are proved, and proof tools for showing contextual equivalences are provided. Among them are a context lemma and new notions of sound applicative similarities for may- and should-convergence. A further result is that contextual equivalence in the pi-calculus with Stop conservatively extends barbed testing equivalence in the (Stop-free) pi-calculus and thus results on contextual equivalence can be transferred to the (Stop-free) pi-calculus with barbed testing equivalence
On the Expressiveness of Pure Safe Ambients
We consider the Pure Safe Ambient Calculus, which is Levi and Sangiorgi's Safe Ambient Calculus (a variant of Cardelli and Gordon's Mobile Ambient Calculus) restricted to its mobility primitives, and we focus on its expressiv- e power. Since it has no form of communication or substitution, we show how these notions can be simulated by mobility and modifications in the hierarchical structure of ambients. As a main result, we use these techniques to design an encoding of the synchronous pi-calculus into pure ambients, and we study its correctness, thus showing that pure ambients are as expressive as the pi-calculus. In order to simplify the proof and give an intuitive understanding of the encoding, we design an intermediate language: the pi-calculus with Explicit Substitutions and Channels, which is an extension of the pi-calculus in which communication and substitution are broken into simpler steps, and we show that is has the same expressive power as the pi-calculus
Compositional Event Structure Semantics of the Internal pi-Calculus
Accepté à CONCUR 2007International audienceWe propose the first compositional event structure semantics for a fully expressive pi-calculus, generalising Winskel's event structures for CCS. The pi-calculus we model is the piI-calculus with recursive definitions and summations. First we model the synchronous calculus, introducing a notion of dynamic renaming to the standard operators on event structures. Then we model the asynchronous calculus, for which a new additional operator, called rooting, is necessary for representing causality due to new name binding. The semantics are shown to be operationally adequate and sound with respect to bisimulation
On the Expressiveness of Joining
The expressiveness of communication primitives has been explored in a common
framework based on the pi-calculus by considering four features: synchronism
(asynchronous vs synchronous), arity (monadic vs polyadic data), communication
medium (shared dataspaces vs channel-based), and pattern-matching (binding to a
name vs testing name equality vs intensionality). Here another dimension
coordination is considered that accounts for the number of processes required
for an interaction to occur. Coordination generalises binary languages such as
pi-calculus to joining languages that combine inputs such as the Join Calculus
and general rendezvous calculus. By means of possibility/impossibility of
encodings, this paper shows coordination is unrelated to the other features.
That is, joining languages are more expressive than binary languages, and no
combination of the other features can encode a joining language into a binary
language. Further, joining is not able to encode any of the other features
unless they could be encoded otherwise.Comment: In Proceedings ICE 2015, arXiv:1508.04595. arXiv admin note:
substantial text overlap with arXiv:1408.145
- …