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

Session types revisited

Published: 19 September 2012 Publication History
  • Get Citation Alerts
  • 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)29
    • Downloads (Last 6 weeks)3

    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

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media