704 research outputs found
From Lock Freedom to Progress Using Session Types
Inspired by Kobayashi's type system for lock freedom, we define a behavioral
type system for ensuring progress in a language of binary sessions. The key
idea is to annotate actions in session types with priorities representing the
urgency with which such actions must be performed and to verify that processes
perform such actions with the required priority. Compared to related systems
for session-based languages, the presented type system is relatively simpler
and establishes progress for a wider range of processes.Comment: In Proceedings PLACES 2013, arXiv:1312.221
Polymorphic Endpoint Types for Copyless Message Passing
We present PolySing#, a calculus that models process interaction based on
copyless message passing, in the style of Singularity OS. We equip the calculus
with a type system that accommodates polymorphic endpoint types, which are a
variant of polymorphic session types, and we show that well-typed processes are
free from faults, leaks, and communication errors. The type system is
essentially linear, although linearity alone may leave room for scenarios where
well-typed processes leak memory. We identify a condition on endpoint types
that prevents these leaks from occurring.Comment: In Proceedings ICE 2011, arXiv:1108.014
Type-Based Analysis of Linear Communications
This chapter presents a tool called Hypha for the type-based analysis of
processes that communicate on linear channels. We describe the specification
language used to model the systems under analysis (Section 9.1) followed by
the typing rules on which the tool is based in order to verify two properties
of systems, deadlock freedom and lock freedom (Section 9.2). In the final part
of the chaper we illustrate the expressiveness and the limitations of the tool
discussing a number of examples inspired by representative communication
patterns using in parallel computing (Section 9.3) and then discuss closely
related work (Section 9.4). The tool can be downloaded from the author’s
home page, the type system has been described by Padovani [18] and the
corresponding reconstruction algorithms by Padovani et al. [19, 20]
Contract-based discovery of Web services modulo simple orchestrators
AbstractWeb services are distributed processes exposing a public description of their behavior, or contract. The availability of repositories of Web service descriptions enables interesting forms of dynamic Web service discovery, such as searching for Web services having a specified contract. This calls for a formal notion of contract equivalence satisfying two contrasting goals: being as coarse as possible so as to favor Web services reuse, and guaranteeing successful client/service interaction.We study an equivalence relation that achieves both goals under the assumption that client/service interactions may be mediated by simple orchestrators. In the framework we develop, orchestrators play the role of proofs (in the Curry–Howard sense) justifying an equivalence relation between contracts. This makes it possible to automatically synthesize orchestrators out of Web services contracts
On Projecting Processes into Session Types
We define session types as projections of the behaviour of processes with respect to the operations processes perform on channels. This calls for a parallel composition operator over session types denoting the simultaneous access to a channel by two or more processes. The proposed approach allows us to define a semantically grounded theory of session types that does not require the linear usage of channels. However, type preservation and progress can only be guaranteed for processes that never receive channels they already own. A number of examples show that the resulting framework validates existing session-type theories and unifies them to some extent.</jats:p
On the Fair Termination of Client-Server Sessions
Client-server sessions are based on a variation of the traditional
interpretation of linear logic propositions as session types in which
non-linear channels (those regulating the interaction between a pool of clients
and a single server) are typed by coexponentials instead of the usual
exponentials. Coexponentials enable the modeling of racing interactions,
whereby clients compete to interact with a single server whose internal state
(and thus the offered service) may change as the server processes requests
sequentially. In this work we present a fair termination result for
CSLL, a core calculus of client-server sessions. We design a type
system such that every well-typed term corresponds to a valid derivation in
MALL, the infinitary proof theory of linear logic with least and
greatest fixed points. We then establish a correspondence between reductions in
the calculus and principal reductions in MALL. Fair termination
in CSLL follows from cut elimination in MALL
Session Types = Intersection Types + Union Types
We propose a semantically grounded theory of session types which relies on
intersection and union types. We argue that intersection and union types are
natural candidates for modeling branching points in session types and we show
that the resulting theory overcomes some important defects of related
behavioral theories. In particular, intersections and unions provide a native
solution to the problem of computing joins and meets of session types. Also,
the subtyping relation turns out to be a pre-congruence, while this is not
always the case in related behavioral theories.Comment: In Proceedings ITRS 2010, arXiv:1101.410
- …