A partially deadlock-free typed process calculus
- 1 March 1998
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 20 (2), 436-482
- https://doi.org/10.1145/276393.278524
Abstract
We propose a novel static type system for a process calculus, which ensures both partial deadlock-freedom and partial confluence. The key novel ideas are (1) introduction of the order of channel use as type information, and (2) classification of communication channels into reliable and unreliable channels based on their usage and a guarantee of the usage by the type system. We can ensure that communication on reliable channels never causes deadlock and also that certain reliable channels never introduce nondeterminism. With the type system, for example, the simply typed lambda-calculus can be encoded into the deadlock-free and confluent fragment of our process calculus; we can therefore recover behavior of the typed lambda-calculus in the level of process calculi. We also show that typical concurrent objects can also be encoded into the deadlock-free fragment.Keywords
This publication has 10 references indexed in Scilit:
- What is a 'Good' Encoding of Guarded Choice?Electronic Notes in Theoretical Computer Science, 1997
- Type-based analysis of communication for concurrent programming languagesLecture Notes in Computer Science, 1997
- On reduction-based process semanticsTheoretical Computer Science, 1995
- Objects in the π-CalculusInformation and Computation, 1995
- Toward Foundations of Concurrent Object‐Oriented Programming‐Types and Language DesignTheory and Practice of Object Systems, 1995
- Logic Programming in a Fragment of Intuitionistic Linear LogicInformation and Computation, 1994
- Lilac: a functional programming language based on linear logicJournal of Functional Programming, 1994
- A calculus of mobile processes, IIInformation and Computation, 1992
- The family of concurrent logic programming languagesACM Computing Surveys, 1989
- Object-oriented concurrent programming ABCL/1Published by Association for Computing Machinery (ACM) ,1986