Correspondence assertions for process synchronization in concurrent communications

Research output: Contribution to journalArticle

45 Citations (Scopus)

Abstract

High-level specification of patterns of communications such as protocols can be modeled elegantly by means of session types (Honda et al., 1998). However, a number of examples suggest that session types fall short when finer precision on protocol specification is required. In order to increase the expressiveness of session types we appeal to the theory of correspondence assertions (Clarke & Marrero, 1998; Gordon & Jeffrey, 2003b). The resulting type discipline augments the types of long-term channels with effects and thus yields types which may depend on messages read or written earlier within the same session. This new type system can be used to check: source of information, whether data is propagated as specified across multiple parties, if there are unspecified communications between parties, and if the data being exchanged has been modified by the code in an unspecified way. We prove that evaluation preserves typability and that well-typed processes are safe. Also, we illustrate how the resulting theory allows us to address shortcomings present in the pure theory of session types.

Original languageEnglish (US)
Pages (from-to)219-247
Number of pages29
JournalJournal of Functional Programming
Volume15
Issue number2
DOIs
StatePublished - Mar 1 2005

Fingerprint

Synchronization
Specifications
Communication

All Science Journal Classification (ASJC) codes

  • Software

Cite this

@article{05b7538f07f84901ba1b67fce025866e,
title = "Correspondence assertions for process synchronization in concurrent communications",
abstract = "High-level specification of patterns of communications such as protocols can be modeled elegantly by means of session types (Honda et al., 1998). However, a number of examples suggest that session types fall short when finer precision on protocol specification is required. In order to increase the expressiveness of session types we appeal to the theory of correspondence assertions (Clarke & Marrero, 1998; Gordon & Jeffrey, 2003b). The resulting type discipline augments the types of long-term channels with effects and thus yields types which may depend on messages read or written earlier within the same session. This new type system can be used to check: source of information, whether data is propagated as specified across multiple parties, if there are unspecified communications between parties, and if the data being exchanged has been modified by the code in an unspecified way. We prove that evaluation preserves typability and that well-typed processes are safe. Also, we illustrate how the resulting theory allows us to address shortcomings present in the pure theory of session types.",
author = "Eduardo Bonelli and Adriana Compagnoni and Elsa Gunter",
year = "2005",
month = "3",
day = "1",
doi = "https://doi.org/10.1017/S095679680400543X",
language = "English (US)",
volume = "15",
pages = "219--247",
journal = "Journal of Functional Programming",
issn = "0956-7968",
publisher = "Cambridge University Press",
number = "2",

}

Correspondence assertions for process synchronization in concurrent communications. / Bonelli, Eduardo; Compagnoni, Adriana; Gunter, Elsa.

In: Journal of Functional Programming, Vol. 15, No. 2, 01.03.2005, p. 219-247.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Correspondence assertions for process synchronization in concurrent communications

AU - Bonelli, Eduardo

AU - Compagnoni, Adriana

AU - Gunter, Elsa

PY - 2005/3/1

Y1 - 2005/3/1

N2 - High-level specification of patterns of communications such as protocols can be modeled elegantly by means of session types (Honda et al., 1998). However, a number of examples suggest that session types fall short when finer precision on protocol specification is required. In order to increase the expressiveness of session types we appeal to the theory of correspondence assertions (Clarke & Marrero, 1998; Gordon & Jeffrey, 2003b). The resulting type discipline augments the types of long-term channels with effects and thus yields types which may depend on messages read or written earlier within the same session. This new type system can be used to check: source of information, whether data is propagated as specified across multiple parties, if there are unspecified communications between parties, and if the data being exchanged has been modified by the code in an unspecified way. We prove that evaluation preserves typability and that well-typed processes are safe. Also, we illustrate how the resulting theory allows us to address shortcomings present in the pure theory of session types.

AB - High-level specification of patterns of communications such as protocols can be modeled elegantly by means of session types (Honda et al., 1998). However, a number of examples suggest that session types fall short when finer precision on protocol specification is required. In order to increase the expressiveness of session types we appeal to the theory of correspondence assertions (Clarke & Marrero, 1998; Gordon & Jeffrey, 2003b). The resulting type discipline augments the types of long-term channels with effects and thus yields types which may depend on messages read or written earlier within the same session. This new type system can be used to check: source of information, whether data is propagated as specified across multiple parties, if there are unspecified communications between parties, and if the data being exchanged has been modified by the code in an unspecified way. We prove that evaluation preserves typability and that well-typed processes are safe. Also, we illustrate how the resulting theory allows us to address shortcomings present in the pure theory of session types.

UR - http://www.scopus.com/inward/record.url?scp=17044434267&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=17044434267&partnerID=8YFLogxK

U2 - https://doi.org/10.1017/S095679680400543X

DO - https://doi.org/10.1017/S095679680400543X

M3 - Article

VL - 15

SP - 219

EP - 247

JO - Journal of Functional Programming

JF - Journal of Functional Programming

SN - 0956-7968

IS - 2

ER -