Choreographic programming is a paradigm for developing concurrent and distributed systems, where programs are choreographies that define, from a global viewpoint, the computations and interactions that communicating processes should enact. Choreography compilation translates choreographies into the local definitions of process behaviours, given as terms in a process calculus. Proving choreography compilation correct is challenging and error-prone, because it requires relating languages in different paradigms (global interactions vs local actions) and dealing with a combinatorial explosion of proof cases. We present the first certified program for choreography compilation for a nontrivial choreographic language supporting recursion.
翻译:舞蹈编程是开发并行和分布系统的一个范例,其中节目是编程,从全球角度界定交流过程应颁布的计算和互动。舞蹈编译将舞蹈编程翻译为过程行为的地方定义,作为过程计算中的术语。舞蹈编程的正确性具有挑战性和易出错性,因为它要求不同模式(全球互动与当地行动)中的相关语言,并处理证据案例的组合爆炸。我们提出了第一个经认证的舞蹈编程编程方案,用于支持非世系舞蹈语言的循环。