—New protocols are often useful, but are hard to implement well. Protocol synthesis is a solution, but synthesized protocols can be slow. Implementing protocols will be even more challenging in the future, since we expect that more advanced communication functionality will be moved from applications into protocol implementations to reduce application development effort. This trend can be seen from the recent enhancements of RPC to include semantics for supporting group communication, transactions, fault-tolerance, etc. [1], [2], [3], [4]. Protocol developers will also be challenged to provide correct and efficient protocol implementations that manage numerous concurrent I/O channels, and to increase protocol throughput to meet real-time requirements. These requirements demand better language support to facilitate precise control of multiple-thread interactions, and aggressive exploitation of parallelism in protocol execution. Protocol synthesis is also required for dynamic creation o...
Yen-Min Huang, Chinya V. Ravishankar