MobilityReadingGroup

π-calculus, Session Types research at Imperial College

Multiparty Session Types Meet Communicating Automata
Pierre-Malo DENIÉLOU, Nobuko YOSHIDA
21st European Symposium on Programming (ESOP 2012). p. 194 - 213

Communicating finite state machines (CFSMs) represent processes which communicate by asynchronous exchanges of messages via FIFO channels. Their major impact has been in characterising essential properties of communications such as freedom from deadlock and communication error, and buffer boundedness. CFSMs are known to be computationally hard: most of these properties are undecidable even in restricted cases. At the same time, multiparty session types are a recent typed framework whose main feature is its ability to efficiently enforce these properties for mobile processes and programming languages. This paper ties the links between the two frameworks to achieve a two-fold goal. On one hand, we present a generalised variant of multiparty session types that have a direct semantical correspondence to CFSMs. Our calculus can treat expressive forking, merging and joining protocols that are absent from existing session frameworks, and our typing system can ensure properties such as safety, boundedness and liveness on distributed processes by a polynomial time type checking. On the other hand, multiparty session types allow us to identify a new class of CFSMs that automatically enjoy the aforementioned properties, generalising Gouda et al’s work [GMY84] for two machines to an arbitrary number of machines.

Note: One of two best papers in ESOP'12 See here

@inproceedings{DY2012,
  author = {Pierre-Malo Deniélou and Nobuko Yoshida},
  title = {{Multiparty Session Types Meet Communicating Automata}},
  booktitle = {21st European Symposium on Programming},
  series = {LNCS},
  volume = {7211},
  pages = {194--213},
  publisher = {Springer},
  year = 2012
}
@inproceedings{DY2012,
  author = {Pierre-Malo Deniélou and Nobuko Yoshida},
  title = {{Multiparty Session Types Meet Communicating Automata}},
  booktitle = {21st European Symposium on Programming},
  series = {LNCS},
  volume = {7211},
  pages = {194--213},
  publisher = {Springer},
  doi = "10.1007/978-3-642-28869-2_10",
  year = 2012
}