17,920 research outputs found
A Universal Session Type for Untyped Asynchronous Communication
In the simply-typed lambda-calculus we can recover the full range of expressiveness of the untyped lambda-calculus solely by adding a single recursive type U = U -> U. In contrast, in the session-typed pi-calculus, recursion alone is insufficient to recover the untyped pi-calculus, primarily due to linearity: each channel just has two unique endpoints. In this paper, we show that shared channels with a corresponding sharing semantics (based on the language SILL_S developed in prior work) are enough to embed the untyped asynchronous pi-calculus via a universal shared session type U_S. We show that our encoding of the asynchronous pi-calculus satisfies operational correspondence and preserves observable actions (i.e., processes are weakly bisimilar to their encoding). Moreover, we clarify the expressiveness of SILL_S by developing an operationally correct encoding of SILL_S in the asynchronous pi-calculus
Linearity, Persistence and Testing Semantics in the Asynchronous Pi-Calculus
International audienceIn [CSVV06] the authors studied the expressiveness of persistence in the asynchronous pi calculus (Api) wrt weak barbed congruence. The study is incomplete because it ignores the issue of divergence. In this paper we present an expressiveness study of persistence in the asynchronous pi-calculus (Api) wrt DeNicola and Hennesy's testing scenario which is sensitive to divergence. We consider Api and theree sub-languages of it, each capturing one source of persistence: the persistent-input calculus (PIApi), the persistent-output calculus (POApi) and persistent calculus (PApi). In [CSVV06] the authors showed encodings from Api into semipersistent calculi are correct wrt weak barbed congruence. In this paper we prove that, under some general conditions, there cannot be an encoding from Api into a (semi)-persistent calculus preserving the must testing semantics. [CSVV06 ] C. Palamidessi, V. Saraswat, F. Valencia and B. Victor. On the Expressiveness of Linearity vs Persistence in the Asynchronous Pi Calculus. LICS 2006:59-68,2006
Linearity, Persistence and Testing Semantics in the Asynchronous Pi-Calculus
International audienceIn [CSVV06] the authors studied the expressiveness of persistence in the asynchronous pi calculus (Api) wrt weak barbed congruence. The study is incomplete because it ignores the issue of divergence. In this paper we present an expressiveness study of persistence in the asynchronous pi-calculus (Api) wrt DeNicola and Hennesy's testing scenario which is sensitive to divergence. We consider Api and theree sub-languages of it, each capturing one source of persistence: the persistent-input calculus (PIApi), the persistent-output calculus (POApi) and persistent calculus (PApi). In [CSVV06] the authors showed encodings from Api into semipersistent calculi are correct wrt weak barbed congruence. In this paper we prove that, under some general conditions, there cannot be an encoding from Api into a (semi)-persistent calculus preserving the must testing semantics. [CSVV06 ] C. Palamidessi, V. Saraswat, F. Valencia and B. Victor. On the Expressiveness of Linearity vs Persistence in the Asynchronous Pi Calculus. LICS 2006:59-68,2006
Uniqueness Typing for Resource Management in Message-Passing Concurrency
We view channels as the main form of resources in a message-passing
programming paradigm. These channels need to be carefully managed in settings
where resources are scarce. To study this problem, we extend the pi-calculus
with primitives for channel allocation and deallocation and allow channels to
be reused to communicate values of different types. Inevitably, the added
expressiveness increases the possibilities for runtime errors. We define a
substructural type system which combines uniqueness typing and affine typing to
reject these ill-behaved programs
Trees from Functions as Processes
Levy-Longo Trees and Bohm Trees are the best known tree structures on the
{\lambda}-calculus. We give general conditions under which an encoding of the
{\lambda}-calculus into the {\pi}-calculus is sound and complete with respect
to such trees. We apply these conditions to various encodings of the
call-by-name {\lambda}-calculus, showing how the two kinds of tree can be
obtained by varying the behavioural equivalence adopted in the {\pi}-calculus
and/or the encoding
Static Safety for an Actor Dedicated Process Calculus by Abstract Interpretation
The actor model eases the definition of concurrent programs with non uniform
behaviors. Static analysis of such a model was previously done in a data-flow
oriented way, with type systems. This approach was based on constraint set
resolution and was not able to deal with precise properties for communications
of behaviors. We present here a new approach, control-flow oriented, based on
the abstract interpretation framework, able to deal with communication of
behaviors. Within our new analyses, we are able to verify most of the previous
properties we observed as well as new ones, principally based on occurrence
counting
Divergences on projective modules and non-commutative integrals
A method of constructing (finitely generated and projective) right module
structure on a finitely generated projective left module over an algebra is
presented. This leads to a construction of a first order differential calculus
on such a module which admits a hom-connection or a divergence. Properties of
integrals associated to this divergence are studied, in particular the formula
of integration by parts is derived. Specific examples include inner calculi on
a noncommutative algebra, the Berezin integral on the supercircle and integrals
on Hopf algebras.Comment: 13 pages; v2 construction of projective modules has been generalise
Affine Sessions
Session types describe the structure of communications implemented by
channels. In particular, they prescribe the sequence of communications, whether
they are input or output actions, and the type of value exchanged. Crucial to
any language with session types is the notion of linearity, which is essential
to ensure that channels exhibit the behaviour prescribed by their type without
interference in the presence of concurrency. In this work we relax the
condition of linearity to that of affinity, by which channels exhibit at most
the behaviour prescribed by their types. This more liberal setting allows us to
incorporate an elegant error handling mechanism which simplifies and improves
related works on exceptions. Moreover, our treatment does not affect the
progress properties of the language: sessions never get stuck
- âŠ