A SESSION TYPE SYSTEM FOR ASYNCHRONOUS UNRELIABLE BROADCAST COMMUNICATION

被引:0
作者
Kouzapas, Dimitrios [1 ]
Gutkovas, Ramunas Forsberg [2 ]
Voinea, A. Laura [3 ]
Gay, Simon J. [3 ]
机构
[1] Univ Cyprus, KIOS Ctr Excellence, Nicosia, Cyprus
[2] Ericsson AB, Gothenburg, Sweden
[3] Univ Glasgow, Sch Comp Sci, Glasgow, Scotland
基金
英国工程与自然科学研究理事会;
关键词
Session types; type safety; broadcasting; unreliability; Paxos;
D O I
10.46298/LMCS-20(3:13)2024
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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.
引用
收藏
页码:1 / 54
页数:54
相关论文
共 26 条
[1]  
Adameit Manuel, 2017, Formal Techniques for Distributed Objects, Components and Systems. 37th IFIP WG 6.1 International Conference, FORTE 2017, held as part of the 12th International Federated Conference on Distributed Computing Techniques, DisCoTec 2017. Proceedings: LNCS 10321, P1, DOI 10.1007/978-3-319-60225-7_1
[2]   Behavioral Types in Programming Languages [J].
Ancona, Davide ;
Bono, Viviana ;
Bravetti, Mario ;
Campos, Joana ;
Castagna, Giuseppe ;
Denielou, Pierre-Malo ;
Gay, Simon J. ;
Gesbert, Nils ;
Giachino, Elena ;
Hu, Raymond ;
Johnsen, Einar Broch ;
Martins, Francisco ;
Mascardi, Viviana ;
Montesi, Fabrizio ;
Neykova, Rumyana ;
Ng, Nicholas ;
Padovani, Luca ;
Vasconcelos, Vasco T. ;
Yoshida, Nobuko .
FOUNDATIONS AND TRENDS IN PROGRAMMING LANGUAGES, 2016, 3 (2-3) :I-+
[3]   On duality relations for session types [J].
Bernardi, Giovanni ;
Dardha, Ornela ;
Gay, Simon J. ;
Kouzapas, Dimitrios .
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2014, 8902 :51-66
[4]  
Borgström J, 2011, LECT NOTES COMPUT SC, V7041, P74, DOI 10.1007/978-3-642-24690-6_7
[5]   Global escape in multiparty sessions [J].
Capecchi, Sara ;
Giachino, Elena ;
Yoshida, Nobuko .
MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE, 2016, 26 (02) :156-205
[6]  
Carbone M, 2008, LECT NOTES COMPUT SC, V5201, P402, DOI 10.1007/978-3-540-85361-9_32
[7]   ON GLOBAL TYPES AND MULTI-PARTY SESSIONS [J].
Castagna, Giuseppe ;
Dezani-Ciancaglini, Mariangiola ;
Padovani, Luca .
LOGICAL METHODS IN COMPUTER SCIENCE, 2012, 8 (01)
[8]  
Chandra T, 2007, PODC'07: PROCEEDINGS OF THE 26TH ANNUAL ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING, P398
[9]   Global progress for dynamically interleaved multiparty sessions [J].
Coppo, Mario ;
Dezani-Ciancaglini, Mariangiola ;
Yoshida, Nobuko ;
Padovani, Luca .
MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE, 2016, 26 (02) :238-302
[10]  
Dardha O, 2017, RIV PUBL SER AUTOMAT, P309