Process calculi as a tool for studying coordination, contracts and session types

  title={Process calculi as a tool for studying coordination, contracts and session types},
  author={Mario Bravetti and Gianluigi Zavattaro},
  journal={J. Log. Algebraic Methods Program.},
Abstract We recall techniques, mainly based on the theory of process calculi, that we used to prove results in twenty years of research, spanning across the old and the new millennium, on the expressiveness of coordination languages and on behavioural contracts for Service-Oriented Computing. Then, we show how such techniques recently contributed to the clarification of aspects that were unclear about session types, in particular, asynchronous session subtyping that was considered decidable… Expand
4 Citations

Topics from this paper

Asynchronous session subtyping as communicating automata refinement
This work shows the existence of a fully abstract interpretation of session types into a fragment of contracts that maps session subtyping into binary compliance-preserving CFSMs/behavioural contract refinement. Expand
Behavioural Types for Memory and Method Safety in a Core Object-Oriented Language
A type-based analysis ensuring memory safety and object protocol completion in the Java-like language Mungo, which entwines usage checking, controlling the order in which methods are called, with a static check determining whether references may contain null values. Expand
Programming Languages and Systems: 18th Asian Symposium, APLAS 2020, Fukuoka, Japan, November 30 – December 2, 2020, Proceedings
Two new approaches are proposed for automating the very labor-intensive and therefore time-heavy and therefore expensive and expensive process of scientific research called “model-driven” research. Expand
A Sound Algorithm for Asynchronous Session Subtyping and its Implementation
This work presents an algorithm for checking subtyping which is sound, but not complete (in some cases it terminates without returning a decisive verdict), and provides a tool that implements this algorithm and an empirical evaluation of the time and space cost. Expand


Subtyping for session types in the pi calculus
The syntax, operational semantics and typing rules of an extended pi calculus are formalized, it is proved that typability guarantees absence of run-time communication errors, and the typing rules are transformed into a practical typechecking algorithm. Expand
On the boundary between decidability and undecidability of asynchronous session subtyping
This work shows decidability of a fragment that does not impose any limitation on communication buffers and allows both the compared types to include multiple choices for either input or output, thus yielding a fragment which is more significant from an applicability viewpoint. Expand
On the Preciseness of Subtyping in Session Types
This paper formalises preciseness (i.e. both soundness and completeness) of subtyping for mobile processes and studies it for the synchronous and the asynchronous session calculi and proposes an asynchronous subtyped system which is sound and complete for the asynchronous calculus. Expand
A Process Algebra Based on LINDA
A testing scenario for PAL is defined, a process algebra is obtained by embedding the Linda primitives for interprocess communication in a CSP like process description language and a proof system is presented which is sound and complete with respect to the behavioural relation. Expand
The Must Preorder Revisited
The induced contract preorder turns out to be valuable in searching and querying registries of Web services, it shows interesting connections with the must preorder, and it exhibits good precongruence properties when choreographies of Web service are considered. Expand
Undecidability of asynchronous session subtyping
The (un)decidability of subtyping for session types in asynchronously communicating systems is investigated and it is evince that further restrictions on the structure of types make the core subtyped relation decidable. Expand
Global Principal Typing in Partially Commutative Asynchronous Sessions
A theory of multiparty session types for the *** -calculus through asynchronous communication subtyping is generalised, which allows a programmer to choose between a top-down and a bottom-up style of communication programming, ensuring the same desirable properties of typable processes. Expand
Foundations of Session Types and Behavioural Contracts
This article surveys the main accomplishments of the last 20 years within behavioural types within session types and behavioural contracts. Expand
A process algebraic view of shared dataspace coordination
An incremental and uniform presentation of a collection of process calculi featuring coordination primitives for the shared dataspace coordination model (inspired by Linda, JavaSpace, TSpaces, and the like) is provided. Expand
A Theory for Strong Service Compliance
This work investigates, in a process algebraic setting, a new notion of compliance that is called strong service compliance: composed services are strong compliant if their composition is both deadlock and livelock free and whenever a message can be sent to invoke a service, this service is ensured to be ready to serve the invocation. Expand