Linearly Refined Session Types

Pedro Baltazar
(University of Lisbon, Faculty of Sciences and LaSIGE)
Dimitris Mostrous
(University of Lisbon, Faculty of Sciences and LaSIGE)
Vasco T. Vasconcelos
(University of Lisbon, Faculty of Sciences and LaSIGE)

Session types capture precise protocol structure in concurrent programming, but do not specify properties of the exchanged values beyond their basic type. Refinement types are a form of dependent types that can address this limitation, combining types with logical formulae that may refer to program values and can constrain types using arbitrary predicates. We present a pi calculus with assume and assert operations, typed using a session discipline that incorporates refinement formulae written in a fragment of Multiplicative Linear Logic. Our original combination of session and refinement types, together with the well established benefits of linearity, allows very fine-grained specifications of communication protocols in which refinement formulae are treated as logical resources rather than persistent truths.

In Sandra Alves and Ian Mackie: Proceedings 2nd International Workshop on Linearity (LINEARITY 2012), Tallinn, Estonia, 1 April 2012, Electronic Proceedings in Theoretical Computer Science 101, pp. 38–49.
Published: 15th November 2012.

ArXived at: bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to:
For website issues: