747 research outputs found
Multiparty Sessions based on Proof Nets
We interpret Linear Logic Proof Nets in a term language based on Solos
calculus. The system includes a synchronisation mechanism, obtained by a
conservative extension of the logic, that enables to define non-deterministic
behaviours and multiparty sessions.Comment: In Proceedings PLACES 2014, arXiv:1406.331
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
Session Types in Abelian Logic
There was a PhD student who says "I found a pair of wooden shoes. I put a
coin in the left and a key in the right. Next morning, I found those objects in
the opposite shoes." We do not claim existence of such shoes, but propose a
similar programming abstraction in the context of typed lambda calculi. The
result, which we call the Amida calculus, extends Abramsky's linear lambda
calculus LF and characterizes Abelian logic.Comment: In Proceedings PLACES 2013, arXiv:1312.221
PLACES'10: The 3rd Workshop on Programmng Language Approaches to concurrency and Communication-Centric Software
Paphos, Cyprus. March 201
A New Linear Logic for Deadlock-Free Session-Typed Processes
The Ď -calculus, viewed as a core concurrent programming language, has been used as the target of much research on type systems for concurrency. In this paper we propose a new type system for deadlock-free session-typed Ď -calculus processes, by integrating two separate lines of work. The first is the propositions-as-types approach by Caires and Pfenning, which provides a linear logic foundation for session types and guarantees deadlock-freedom by forbidding cyclic process connections. The second is Kobayashiâs approach in which types are annotated with priorities so that the type system can check whether or not processes contain genuine cyclic dependencies between communication operations. We combine these two techniques for the first time, and define a new and more expressive variant of classical linear logic with a proof assignment that gives a session type system with Kobayashi-style priorities. This can be seen in three ways: (i) as a new linear logic in which cyclic structures can be derived and a CYCLE -elimination theorem generalises CUT -elimination; (ii) as a logically-based session type system, which is more expressive than Caires and Pfenningâs; (iii) as a logical foundation for Kobayashiâs system, bringing it into the sphere of the propositions-as-types paradigm
On Negotiation as Concurrency Primitive
We introduce negotiations, a model of concurrency close to Petri nets, with
multiparty negotiation as primitive. We study the problems of soundness of
negotiations and of, given a negotiation with possibly many steps, computing a
summary, i.e., an equivalent one-step negotiation. We provide a complete set of
reduction rules for sound, acyclic, weakly deterministic negotiations and show
that, for deterministic negotiations, the rules compute the summary in
polynomial time
Behavioral types in programming languages
A recent trend in programming language research is to use behav- ioral type theory to ensure various correctness properties of large- scale, communication-intensive systems. Behavioral types encompass concepts such as interfaces, communication protocols, contracts, and choreography. The successful application of behavioral types requires a solid understanding of several practical aspects, from their represen- tation in a concrete programming language, to their integration with other programming constructs such as methods and functions, to de- sign and monitoring methodologies that take behaviors into account. This survey provides an overview of the state of the art of these aspects, which we summarize as the pragmatics of behavioral types
Client-Server Sessions in Linear Logic
We introduce coexponentials, a new set of modalities for Classical Linear
Logic. As duals to exponentials, the coexponentials codify a distributed form
of the structural rules of weakening and contraction. This makes them a
suitable logical device for encapsulating the pattern of a server receiving
requests from an arbitrary number of clients on a single channel. Guided by
this intuition we formulate a system of session types based on Classical Linear
Logic with coexponentials, which is suited to modelling client-server
interactions. We also present a session-typed functional programming language
for server-client programming, which we translate to our system of
coexponentials
Timed Session Types
Timed session types formalise timed communication protocols between two
participants at the endpoints of a session. They feature a decidable compliance
relation, which generalises to the timed setting the progress-based compliance
between untimed session types. We show a sound and complete technique to decide
when a timed session type admits a compliant one. Then, we show how to
construct the most precise session type compliant with a given one, according
to the subtyping preorder induced by compliance. Decidability of subtyping
follows from these results
- âŚ