TY - JOUR
T1 - Certifying data in multiparty session types
AU - Toninho, Bernardo
AU - Yoshida, Nobuko
N1 - Sem PDF.
EPSRC (EP/K034413/1; EP/K011715/1; EP/L00058X/1; EP/N027833/1)
EU FetOpen UPSCALE (612985)
Engineering and Physical Sciences Research Council (EP/K034413/1; EP/K011715/1)
PY - 2017/8
Y1 - 2017/8
N2 - Multiparty session types (MPST) are a typing discipline for ensuring the coordination of multi-agent communication in concurrent and distributed programs. The original MPST framework mainly focuses on the communication aspects of concurrency, unable to capture important data invariants in communicating programs. This work introduces value dependent types to the MPST framework in order to increase its expressiveness for certifying invariants of data exchanged among multiple participants. The key idea is to impose constraints on the exchanged data, which is explicitly witnessed at runtime by proof objects. The enriched MPST framework provides programmers with a precise global description of the interaction and data dependent patterns, from which local (data dependent) descriptions can be automatically generated for each endpoint, faithfully capturing at a local level the global data constraints. The framework ensures the absence of communication errors and guarantees communication progress in well-typed multiparty sessions. We also develop an extension of value dependencies based on proof irrelevance that enables the selective erasure of proof objects at runtime.
AB - Multiparty session types (MPST) are a typing discipline for ensuring the coordination of multi-agent communication in concurrent and distributed programs. The original MPST framework mainly focuses on the communication aspects of concurrency, unable to capture important data invariants in communicating programs. This work introduces value dependent types to the MPST framework in order to increase its expressiveness for certifying invariants of data exchanged among multiple participants. The key idea is to impose constraints on the exchanged data, which is explicitly witnessed at runtime by proof objects. The enriched MPST framework provides programmers with a precise global description of the interaction and data dependent patterns, from which local (data dependent) descriptions can be automatically generated for each endpoint, faithfully capturing at a local level the global data constraints. The framework ensures the absence of communication errors and guarantees communication progress in well-typed multiparty sessions. We also develop an extension of value dependencies based on proof irrelevance that enables the selective erasure of proof objects at runtime.
KW - Multiparty session types
KW - Session types
KW - Value dependent types
UR - http://www.scopus.com/inward/record.url?scp=85009905362&partnerID=8YFLogxK
U2 - 10.1016/j.jlamp.2016.11.005
DO - 10.1016/j.jlamp.2016.11.005
M3 - Article
AN - SCOPUS:85009905362
SN - 2352-2216
VL - 90
SP - 61
EP - 83
JO - Journal of Logical and Algebraic Methods in Programming
JF - Journal of Logical and Algebraic Methods in Programming
ER -