Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
153 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
45 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

A Session Type System for Asynchronous Unreliable Broadcast Communication (1902.01353v5)

Published 4 Feb 2019 in cs.LO and cs.FL

Abstract: Session types are formal specifications of communication protocols, allowing protocol implementations to be verified by typechecking. Up to now, session type disciplines have assumed that the communication medium is reliable, with no loss of messages. However, unreliable broadcast communication is common in a wide class of distributed systems such as ad-hoc and wireless sensor networks. Often such systems have structured communication patterns that should be amenable to analysis by means of session types, but the necessary theory has not previously been developed. We introduce the Unreliable Broadcast Session Calculus, a process calculus with unreliable broadcast communication, and equip it with a session type system that we show is sound. We capture two common operations, broadcast and gather, inhabiting dual session types. Message loss may lead to non-synchronised session endpoints. To further account for unreliability we provide with an autonomous recovery mechanism that does not require acknowledgements from session participants. Our type system ensures soundness, safety, and progress between the synchronised endpoints within a session. We demonstrate the expressiveness of our framework by implementing Paxos, the textbook protocol for reaching consensus in an unreliable, asynchronous network.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (26)
  1. Behavioral types in programming languages. Foundations and Trends® in Programming Languages, 3:95–230, 2016.
  2. Session types for link failures. In Ahmed Bouajjani and Alexandra Silva, editors, Formal Techniques for Distributed Objects, Components, and Systems, pages 1–16, Cham, 2017. Springer International Publishing.
  3. Matthew Alan Le Brun and Ornela Dardha. Magπ𝜋\piitalic_π: Types for failure-prone communication. In Thomas Wies, editor, Programming Languages and Systems - 32nd European Symposium on Programming, ESOP 2023, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2023, Paris, France, April 22-27, 2023, Proceedings, volume 13990 of Lecture Notes in Computer Science, pages 363–391. Springer, 2023. doi:10.1007/978-3-031-30044-8\_14.
  4. On duality relations for session types. In Matteo Maffei and Emilio Tuosto, editors, Trustworthy Global Computing, pages 51–66, Berlin, Heidelberg, 2014. Springer Berlin Heidelberg.
  5. Broadcast psi-calculi with an application to wireless protocols. In SEFM 2011, pages 74–89, 2011.
  6. On global types and multi-party session. Logical Methods in Computer Science, 8(1), 2012.
  7. Global progress for dynamically interleaved multiparty sessions. Mathematical Structures in Computer Science, 26(2):238–302, 2016.
  8. Paxos made live: an engineering perspective. In Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing, pages 398–407. ACM, 2007.
  9. Global escape in multiparty sessions. Mathematical Structures in Computer Science, 26, 2 2016.
  10. Structured interactional exceptions in session types. In CONCUR, volume 5201 of LNCS, pages 402–417. Springer, 2008.
  11. An adaptive communication architecture for wireless sensor networks. In Proceedings of Embedded Networked Sensor Systems, SenSys ’07, pages 335–349. ACM, 2007.
  12. Parameterised multiparty session types. Logical Methods in Computer Science, 8(4), 2012.
  13. Simon J. Gay and António Ravara, editors. Behavioural Types: from Theory to Tools. River Publishers, 2017.
  14. Linear type theory for asynchronous session types. J. Funct. Program., 20(1):19–50, 2010. doi:10.1017/S0956796809990268.
  15. Type-safe eventful sessions in java. In ECOOP, pages 329–353, 2010.
  16. Resource access control in systems of mobile agents. Information and Computation, 173(1):82 – 120, 2002.
  17. Language primitives and type discipline for structured communication-based programming. In ESOP, pages 122–138. Springer-Verlag, 1998.
  18. Multiparty asynchronous session types. In POPL, pages 273–284, 2008.
  19. Session types for broadcasting. In PLACES, pages 25–31, 2014.
  20. Dimitrios Kouzapas. A Study of Bisimulation Theory for Session Types. PhD thesis, Imperial College London, 2012.
  21. On asynchronous eventful session semantics. Mathematical Structures in Computer Science, 26(2):303–364, 2016. doi:10.1017/S096012951400019X.
  22. Leslie Lamport et al. Paxos made simple. ACM Sigact News, 32(4):18–25, 2001.
  23. Leslie Lamport. The part-time parliament. ACM Trans. Comput. Syst., 16(2):133–169, 1998.
  24. Pabble: parameterised scribble. Service Oriented Computing and Applications, 9(3-4):269–284, 2015. doi:10.1007/s11761-014-0172-8.
  25. Ftmpst: Fault-tolerant multiparty session types, 2023. https://arxiv.org/pdf/2204.07728.pdf.
  26. Language primitives and type discipline for structured communication-based programming revisited: Two systems for higher-order session communication. Electronic Notes in Theoretical Computer Science, 171(4):73 – 93, 2007.
Citations (3)

Summary

We haven't generated a summary for this paper yet.