17,920 research outputs found

    A Universal Session Type for Untyped Asynchronous Communication

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

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

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

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

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

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

    Full text link
    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

    Full text link
    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
    • 

    corecore