License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2019.23
URN: urn:nbn:de:0030-drops-108151
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2019/10815/
Go to the corresponding LIPIcs Volume Portal


Arslanagic, Alen ; PĂ©rez, Jorge A. ; Voogd, Erik

Minimal Session Types (Pearl)

pdf-format:
LIPIcs-ECOOP-2019-23.pdf (0.7 MB)


Abstract

Session types are a type-based approach to the verification of message-passing programs. They have been much studied as type systems for the pi-calculus and for languages such as Java. A session type specifies what and when should be exchanged through a channel. Central to session-typed languages are constructs in types and processes that specify sequencing in protocols.
Here we study minimal session types, session types without sequencing. This is arguably the simplest form of session types. By relying on a core process calculus with sessions and higher-order concurrency (abstraction-passing), we prove that every process typable with standard (non minimal) session types can be compiled down into a process typed with minimal session types. This means that having sequencing constructs in both processes and session types is redundant; only sequentiality in processes is indispensable, as it can precisely codify sequentiality in types.
Our developments draw inspiration from work by Parrow on behavior-preserving decompositions of untyped processes. By casting Parrow's results in the realm of typed processes, our results reveal a conceptually simple formulation of session types and a principled avenue to the integration of session types into languages without sequencing in types.

BibTeX - Entry

@InProceedings{arslanagic_et_al:LIPIcs:2019:10815,
  author =	{Alen Arslanagic and Jorge A. P{\'e}rez and Erik Voogd},
  title =	{{Minimal Session Types (Pearl)}},
  booktitle =	{33rd European Conference on Object-Oriented Programming (ECOOP 2019)},
  pages =	{23:1--23:28},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-111-5},
  ISSN =	{1868-8969},
  year =	{2019},
  volume =	{134},
  editor =	{Alastair F. Donaldson},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2019/10815},
  URN =		{urn:nbn:de:0030-drops-108151},
  doi =		{10.4230/LIPIcs.ECOOP.2019.23},
  annote =	{Keywords: Session types, process calculi, pi-calculus}
}

Keywords: Session types, process calculi, pi-calculus
Collection: 33rd European Conference on Object-Oriented Programming (ECOOP 2019)
Issue Date: 2019
Date of publication: 10.07.2019
Supplementary Material: ECOOP 2019 Artifact Evaluation approved artifact available at https://dx.doi.org/10.4230/DARTS.5.2.5


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI