Please log in to watch this conference skillscast.
Concurrency is still hard. Building distributed applications using message passing is still hard. Application-specific message passing protocols are often specified in an informal and ad-hoc way (if at all), with very little support from the programming language or tools. This sets things up for failure.
This talk presents a principled approach to specifying and implementing simple application-level communication protocols. It is a lightweight form of session types: by specifying protocols via state machines and encoding them into types we can guarantee the protocols are free from deadlock and that well-typed protocol implementations respect the protocol specification. A special feature of this approach is the support for protocol pipelining, which enables effective use of network bandwidth in the presence of latency.
The talk will also touch on practical aspects such as testing using simulation, and where this approach has been used in real applications.
YOU MAY ALSO LIKE:
Well-Typed Communication Protocols
Duncan Coutts
Duncan is a Haskell consultant, computer scientist and Haskell community member. He holds a PhD in computer science and has been using Haskell for nearly 20 years. He is a founding partner of Well-Typed LLP where he has spent over 10 years helping a variety of customers build applications in Haskell and making improvements to the Haskell toolchain.