当前位置: X-MOL 学术arXiv.cs.LO › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Correctly Implementing Synchronous Message Passing in the Pi-Calculus By Concurrent Haskell's MVars
arXiv - CS - Logic in Computer Science Pub Date : 2020-08-31 , DOI: arxiv-2008.13359
Manfred Schmidt-Schau{\ss} (Goethe-University, Frankfurt, Germany), David Sabel (LMU, Munich, Germany)

Comparison of concurrent programming languages and correctness of program transformations in concurrency are the focus of this research. As criterion we use contextual semantics adapted to concurrency, where may -- as well as should -- convergence are observed. We investigate the relation between the synchronous pi-calculus and a core language of Concurrent Haskell (CH). The contextual semantics is on the one hand forgiving with respect to the details of the operational semantics, and on the other hand implies strong requirements for the interplay between the processes after translation. Our result is that CH embraces the synchronous pi-calculus. Our main task is to find and prove correctness of encodings of pi-calculus channels by CH's concurrency primitives, which are MVars. They behave like (blocking) 1-place buffers modelling the shared-memory. The first developed translation uses an extra private MVar for every communication.We also automatically generate and check potentially correct translations that reuse the MVars where one MVar contains the message and two additional MVars for synchronization are used to model the synchronized communication of a single channel in the pi-calculus.Our automated experimental results lead to the conjecture that one additional MVar is insufficient.

中文翻译:

通过并发 Haskell 的 MVars 正确实现 Pi-Calculus 中的同步消息传递

并发编程语言的比较和并发中程序转换的正确性是本研究的重点。作为标准,我们使用适用于并发的上下文语义,在那里可能 - 以及应该 - 观察到收敛。我们研究了同步 pi 演算和 Concurrent Haskell (CH) 的核心语言之间的关系。上下文语义一方面对操作语义的细节宽容,另一方面意味着对翻译后过程之间的相互作用的强烈要求。我们的结果是 CH 包含同步 pi 演算。我们的主要任务是通过 CH 的并发原语(MVars)找到并证明 pi 演算通道编码的正确性。它们的行为类似于(阻塞)对共享内存建模的 1-place 缓冲区。第一个开发的翻译为每次通信使用一个额外的私有 MVar。我们还自动生成和检查潜在正确的翻译,这些翻译重用 MVar,其中一个 MVar 包含消息,另外两个用于同步的 MVar 用于模拟单个通道的同步通信pi 演算。我们的自动化实验结果导致了一个额外的 MVar 是不够的猜想。
更新日期:2020-09-01
down
wechat
bug