Session Types Go Dynamic or How to Verify Your Python Conversations

Rumyana Neykova
2013 Electronic Proceedings in Theoretical Computer Science  
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
more » ... e 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.
doi:10.4204/eptcs.137.8 fatcat:fnbg7ipnvzehxlkh2a5ba3icsm