MobilityReadingGroup

π-calculus, Session Types research at Imperial College

Monitoring Networks through Multiparty Session Types
Laura BOCCHI , Tzu-Chun CHEN , Romain DEMANGEON , Kohei HONDA , Nobuko YOSHIDA
Theoretical Computer Science

In large-scale distributed infrastructures, applications are realised through communications among distributed components. The need for methods for assuring safe interactions in such environments is recognised, however the existing frameworks, relying on centralised verification or restricted specification methods, have limited applicability. This paper proposes a new theory of monitored π-calculus with dynamic usage of multiparty session types (MPST), offering a rigorous foundation for safety assurance of distributed components which asynchronously communicate through multiparty sessions. Our theory establishes a framework for semantically precise decentralised run-time enforcement and provides reasoning principles over monitored distributed applications, which complement existing static analysis techniques. We introduce asynchrony through the means of explicit routers and global queues, and propose novel equivalences between networks, that capture the notion of interface equivalence, i.e. equating networks offering the same services to a user. We illustrate our static-dynamic analysis system with an ATM protocol as a running example and justify our theory with results: satisfaction equivalence, local/global safety and transparency, and session fidelity.

@article{BCDHY2017,
  author = {Laura Bocchi and Tzu-Chun Chen and Romain Demangeon and Kohei Honda and Nobuko Yoshida},
  title = {{Monitoring Networks through Multiparty Session Types}},
  journal = {TCS},
  volume = {669},
  pages = {33--58},
  publisher = {Elsevier},
  year = 2017
}
@article{BCDHY2017,
  author = {Laura Bocchi and Tzu-Chun Chen and Romain Demangeon and Kohei Honda and Nobuko Yoshida},
  title = {{Monitoring Networks through Multiparty Session Types}},
  journal = {Theoretical Computer Science},
  volume = {669},
  pages = {33--58},
  publisher = {Elsevier},
  doi = "10.1016/j.tcs.2017.02.009",
  year = 2017
}