skip to main content
10.1145/2370776.2370794acmotherconferencesArticle/Chapter ViewAbstractPublication PagesppdpConference Proceedingsconference-collections
research-article

Session types revisited

Published: 19 September 2012 Publication History

Abstract

Session types are a formalism to model structured communication-based programming. A session type describes communication by specifying the type and direction of data exchanged between two parties. When session types and session primitives are added to the syntax of standard π-calculus types and terms, they give rise to additional separate syntactic categories. As a consequence, when new type features are added, there is duplication of efforts in the theory: the proofs of properties must be checked both on ordinary types and on session types. We show that session types are encodable in ordinary π types, relying on linear and variant types. Besides being an expressivity result, the encoding (i) removes the above redundancies in the syntax, and (ii) the properties of session types are derived as straightforward corollaries, exploiting the corresponding properties of ordinary π types. The robustness of the encoding is tested on a few extensions of session types, including subtyping, polymorphism and higher-order communications.

References

[1]
L. Caires and F. Pfenning. Session types as intuitionistic linear propositions. In CONCUR'10, pages 222--236, 2010.
[2]
R. Demangeon and K. Honda. Full abstraction in a subtyped picalculus with linear types. In CONCUR'11, pages 280--296, 2011.
[3]
M. Dezani-Ciancaglini and U. de'Liguoro. Sessions and session types: An overview. In WS-FM'09, pages 1--28, 2009.
[4]
S. J. Gay. Bounded polymorphism in session types. Mathematical Structures in Computer Science, 18(5):895--930, 2008.
[5]
S. J. Gay and M. Hole. Subtyping for session types in the pi calculus. Acta Inf., 42(2--3):191--225, 2005.
[6]
S. J. Gay, N. Gesbert, and A. Ravara. Session types as generic process types. In PLACES'08, 2008.
[7]
K. Honda, V. T. Vasconcelos, and M. Kubo. Language primitives and type discipline for structured communication-based programming. In ESOP'98, pages 122--138, 1998.
[8]
K. Honda, N. Yoshida, and M. Carbone. Multiparty asynchronous session types. In POPL'08, pages 273--284, 2008.
[9]
A. Igarashi, B. C. Pierce, and P .Wadler. Featherweight java: a minimal core calculus for java and gj. ACM Trans. Program. Lang. Syst., 23 :396--450, 2001.
[10]
N. Kobayashi. A partially deadlock-free typed process calculus. ACM Trans. Program. Lang. Syst., 20(2):436--482, 1998. ISSN 0164-0925.
[11]
N. Kobayashi. Type systems for concurrent programs. In 10th Anniversary Colloquium of UNU/IIST, pages 439--453, 2002.
[12]
N. Kobayashi. A new type system for deadlock-free processes. In CONCUR'06, pages 233--247, 2006.
[13]
N. Kobayashi. Type systems for concurrent programs. Extended version of {11}, Tohoku University, 2007.
[14]
N. Kobayashi, B. C. Pierce, and D. N. Turner. Linearity and the picalculus. ACM Trans. Program. Lang. Syst., 21(5):914--947, 1999.
[15]
D. Mostrous and N. Yoshida. Two session typing systems for higherorder mobile processes. In TLCA'07, pages 321--335, 2007.
[16]
J. A. Pérez, L. Caires, F. Pfenning, and B. Toninho. Linear logical relations for session-based concurrency. In ESOP'12, pages 539--558, 2012.
[17]
B. C. Pierce and D. Sangiorgi. Typing and subtyping for mobile processes. In LICS'93, pages 376--385, 1993.
[18]
D. Sangiorgi and D. Walker. The Pi-Calculus - a theory of mobile processes. Cambridge University Press, 2001. ISBN 978-0-521-78177-0.
[19]
K. Takeuchi, K. Honda, and M. Kubo. An interaction-based language and its typing system. In PARLE'94, pages 398--413, 1994.
[20]
B. Toninho, L. Caires, and F. Pfenning. Functions as session-typed processes. In FoSSaCS'12, pages 346--360, 2012.
[21]
V. T. Vasconcelos. Fundamentals of session types. In To appear in Information and Computation, volume 217, pages 52--70, 2012.
[22]
N. Yoshida and V. T. Vasconcelos. Language primitives and type discipline for structured communication-based programming revisited: Two systems for higher-order session communication. Electr. Notes Theor. Comput. Sci., 171(4):73--93, 2007.

Cited By

View all
  • (2024)Deadlock-Free Separation Logic: Linearity Yields Progress for Dependent Higher-Order Message PassingProceedings of the ACM on Programming Languages10.1145/36328898:POPL(1385-1417)Online publication date: 5-Jan-2024
  • (2024)Alice or Bob?: Process polymorphism in choreographiesJournal of Functional Programming10.1017/S095679682300011434Online publication date: 23-Jan-2024
  • (2024)Minimal Session Types for the π-calculusInformation and Computation10.1016/j.ic.2024.105148(105148)Online publication date: Jan-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
PPDP '12: Proceedings of the 14th symposium on Principles and practice of declarative programming
September 2012
226 pages
ISBN:9781450315227
DOI:10.1145/2370776
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

  • Kuleuven Belgium: Kuleuven Belgium

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 September 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. encoding
  2. linear types
  3. pi-calculus
  4. session types

Qualifiers

  • Research-article

Conference

PPDP'12
Sponsor:
  • Kuleuven Belgium

Acceptance Rates

Overall Acceptance Rate 230 of 486 submissions, 47%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)33
  • Downloads (Last 6 weeks)2
Reflects downloads up to 14 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Deadlock-Free Separation Logic: Linearity Yields Progress for Dependent Higher-Order Message PassingProceedings of the ACM on Programming Languages10.1145/36328898:POPL(1385-1417)Online publication date: 5-Jan-2024
  • (2024)Alice or Bob?: Process polymorphism in choreographiesJournal of Functional Programming10.1017/S095679682300011434Online publication date: 23-Jan-2024
  • (2024)Minimal Session Types for the π-calculusInformation and Computation10.1016/j.ic.2024.105148(105148)Online publication date: Jan-2024
  • (2023)EXPRESSing Session TypesElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.387.2387(8-25)Online publication date: 14-Sep-2023
  • (2023)Termination in Concurrency, RevisitedProceedings of the 25th International Symposium on Principles and Practice of Declarative Programming10.1145/3610612.3610615(1-14)Online publication date: 22-Oct-2023
  • (2023)Dependent Session Protocols in Separation Logic from First Principles (Functional Pearl)Proceedings of the ACM on Programming Languages10.1145/36078567:ICFP(768-795)Online publication date: 31-Aug-2023
  • (2023)Higher-Order Leak and Deadlock Free LocksProceedings of the ACM on Programming Languages10.1145/35712297:POPL(1027-1057)Online publication date: 11-Jan-2023
  • (2023)Deadlock- and Starvation-free Formally Verified Client Library for Robots2023 7th International Conference on System Reliability and Safety (ICSRS)10.1109/ICSRS59833.2023.10381358(488-497)Online publication date: 22-Nov-2023
  • (2023)A Java-like calculus with heterogeneous coeffectsTheoretical Computer Science10.1016/j.tcs.2023.114063971(114063)Online publication date: Sep-2023
  • (2022)Pirouette: higher-order typed functional choreographiesProceedings of the ACM on Programming Languages10.1145/34986846:POPL(1-27)Online publication date: 12-Jan-2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media