MobilityReadingGroup

π-calculus, Session Types research at Imperial College

Session Types Go Dynamic or How to Verify Your Python Conversations
Rumyana NEYKOVA
5th International Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software (PLACES'13) p. 95 - 102

This paper presents the first implementation of session types in a dynamically-typed language - Python. Communication safety of the whole system is guaranteed at runtime by monitors that check the execution traces comply with an associated protocol. Protocols are written in Scribble, a choreography description language based on multiparty session types, with addition of logic formulas for more precise behaviour properties. The presented framework overcomes the limitations of previous works on the session types where all endpoints should be statically typed so that they do not permit interoperability with untyped participants. The advantages, expressiveness and performance of dynamic protocol checking are demonstrated through use case and benchmarks.

@inproceedings{N2013,
  author = {Rumyana Neykova},
  title = {{Session Types Go Dynamic or How to Verify Your Python Conversations}},
  booktitle = {5th International Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software},
  series = {EPTCS},
  volume = {137},
  pages = {95--102},
  publisher = {Open Publishing Association},
  year = 2013
}
@inproceedings{N2013,
  author = {Rumyana Neykova},
  title = {{Session Types Go Dynamic or How to Verify Your Python Conversations}},
  booktitle = {5th International Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software},
  series = {EPTCS},
  volume = {137},
  pages = {95--102},
  publisher = {Open Publishing Association},
  doi = "10.4204/EPTCS.137.8",
  year = 2013
}