MobilityReadingGroup

π-calculus, Session Types research at Imperial College

On the Preciseness of Subtyping in Session Types
Tzu-Chun CHEN , Mariangiola DEZANI-CIANCAGLINI , Alceste SCALAS , Nobuko YOSHIDA
Logical Methods in Computer Science

Subtyping in concurrency has been extensively studied since early 1990s as one of the most interesting issues in type theory. The correctness of subtyping relations has been usually provided as the soundness for type safety. The converse direction, the completeness, has been largely ignored in spite of its usefulness to define the largest subtyping relation ensuring type safety. 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. We first prove that the well-known session subtyping, the branching-selection subtyping, is sound and complete for the synchronous calculus. Next we show that in the asynchronous calculus, this subtyping is incomplete for type-safety: that is, there exist session types T and S such that T can safely be considered as a subtype of S, but T < S is not derivable by the subtyping. We then propose an asynchronous subtyping system which is sound and complete for the asynchronous calculus. The method gives a general guidance to design rigorous channel-based subtypings respecting desired safety properties. Both the synchronous and the asynchronous calculus are first considered with lin ear channels only, and then they are extended with session initialisations and c ommunications of expressions (including shared channels).

@article{CDSY2017,
  author = {Tzu-Chun Chen and Mariangiola Dezani-Ciancaglini and Alceste Scalas and Nobuko Yoshida},
  title = {{On the Preciseness of Subtyping in Session Types}},
  journal = {LMCS},
  volume = {13},
  issue = {2},
  pages = {1--62},
  year = 2017
}
@article{CDSY2017,
  author = {Tzu-Chun Chen and Mariangiola Dezani-Ciancaglini and Alceste Scalas and Nobuko Yoshida},
  title = {{On the Preciseness of Subtyping in Session Types}},
  journal = {Logical Methods in Computer Science},
  volume = {13},
  issue = {2},
  pages = {1--62},
  doi = "10.23638/LMCS-13(2:12)2017",
  year = 2017
}