Programming communicating processes is challenging, because it requires writing separate programs that perform compatible send and receive actions at the right time during execution. Leaving this task to the programmer can easily lead to bugs. Choreographic programming addresses this challenge by equipping developers with high-level abstractions for codifying the desired communication structures from a global viewpoint. Given a choreography, implementations of the involved processes can be automatically generated by endpoint projection (EPP). While choreographic programming prevents manual mistakes in the implementation of communications, the correctness of a choreographic programming framework crucially hinges on the correctness of its complex compiler, which has motivated formalisation of theories of choreographic programming in theorem provers. In this paper, we build upon one of these formalisations to construct a toolchain that produces executable code from a choreography.
翻译:编程过程具有挑战性,因为它要求编写单独的程序,在执行期间适当的时候执行兼容发送和接收动作。 将此任务交给编程员很容易导致错误。 编程方案通过为开发者配备高层次的抽象概念,从全球角度编纂理想的通信结构来应对这一挑战。 鉴于编程过程的编程过程可以通过终端投影自动产生。 虽然编程方案可以防止在执行通信过程中出现人工错误,但编程框架的正确性关键在于其复杂的编程员的正确性,而汇编员的精密性激发了将编程编程理论正规化在编程验证器中的动力。 在本文中,我们利用其中的一种形式来构建一个工具链,从编程中产生可执行的代码。</s>