S. Ghilezan, J. Pantović, I. Prokić, A. Scalas, N. Yoshida
{"title":"Precise Subtyping for Asynchronous Multiparty Sessions","authors":"S. Ghilezan, J. Pantović, I. Prokić, A. Scalas, N. Yoshida","doi":"10.1145/3568422","DOIUrl":null,"url":null,"abstract":"Session subtyping is a cornerstone of refinement of communicating processes: a process implementing a session type (i.e., a communication protocol) T can be safely used whenever a process implementing one of its supertypes T′ is expected, in any context, without introducing deadlocks nor other communication errors. As a consequence, whenever T ≤ T′ holds, it is safe to replace an implementation of T′ with an implementation of the subtype T, which may allow for more optimised communication patterns. We present the first formalisation of the precise subtyping relation for asynchronous multiparty sessions. We show that our subtyping relation is sound (i.e., guarantees safe process replacement, as outlined above) and also complete: any extension of the relation is unsound. To achieve our results, we develop a novel session decomposition technique, from full session types (including internal/external choices) into single input/output session trees (without choices). We cover multiparty sessions with asynchronous interaction, where messages are transmitted via FIFO queues (as in the TCP/IP protocol), and prove that our subtyping is both operationally and denotationally precise. Our session decomposition technique expresses the subtyping relation as a composition of refinement relations between single input/output trees, and providing a simple reasoning principle for asynchronous message optimisations.","PeriodicalId":50916,"journal":{"name":"ACM Transactions on Computational Logic","volume":null,"pages":null},"PeriodicalIF":0.7000,"publicationDate":"2022-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"12","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM Transactions on Computational Logic","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1145/3568422","RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 12
Abstract
Session subtyping is a cornerstone of refinement of communicating processes: a process implementing a session type (i.e., a communication protocol) T can be safely used whenever a process implementing one of its supertypes T′ is expected, in any context, without introducing deadlocks nor other communication errors. As a consequence, whenever T ≤ T′ holds, it is safe to replace an implementation of T′ with an implementation of the subtype T, which may allow for more optimised communication patterns. We present the first formalisation of the precise subtyping relation for asynchronous multiparty sessions. We show that our subtyping relation is sound (i.e., guarantees safe process replacement, as outlined above) and also complete: any extension of the relation is unsound. To achieve our results, we develop a novel session decomposition technique, from full session types (including internal/external choices) into single input/output session trees (without choices). We cover multiparty sessions with asynchronous interaction, where messages are transmitted via FIFO queues (as in the TCP/IP protocol), and prove that our subtyping is both operationally and denotationally precise. Our session decomposition technique expresses the subtyping relation as a composition of refinement relations between single input/output trees, and providing a simple reasoning principle for asynchronous message optimisations.
期刊介绍:
TOCL welcomes submissions related to all aspects of logic as it pertains to topics in computer science. This area has a great tradition in computer science. Several researchers who earned the ACM Turing award have also contributed to this field, namely Edgar Codd (relational database systems), Stephen Cook (complexity of logical theories), Edsger W. Dijkstra, Robert W. Floyd, Tony Hoare, Amir Pnueli, Dana Scott, Edmond M. Clarke, Allen E. Emerson, and Joseph Sifakis (program logics, program derivation and verification, programming languages semantics), Robin Milner (interactive theorem proving, concurrency calculi, and functional programming), and John McCarthy (functional programming and logics in AI).
Logic continues to play an important role in computer science and has permeated several of its areas, including artificial intelligence, computational complexity, database systems, and programming languages.
The Editorial Board of this journal seeks and hopes to attract high-quality submissions in all the above-mentioned areas of computational logic so that TOCL becomes the standard reference in the field.
Both theoretical and applied papers are sought. Submissions showing novel use of logic in computer science are especially welcome.