Choreographic Programming is a correct-by-construction paradigm where a compilation procedure synthesises deadlock-free, concurrent, and distributed communicating processes from global, declarative descriptions of communications, called choreographies. Previous work used choreographies for the synthesis of programs. Alas, there is no formalisation that provides a chain of correctness from choreographies to their implementations. This problem originates from the gap between existing theoretical models, which abstract communications using channel names (\`a la CCS/{\pi}-calculus), and their implementations, which use low-level mechanisms for message routing. As a solution, we propose the theoretical framework of Applied Choreographies. In the framework, developers write choreographies in a language that follows the standard syntax and name-based communication semantics of previous works. Then, they use a compilation procedure to transform a choreography into a low-level, implementation-adherent calculus of Service-Oriented Computing (SOC). To manage the complexity of the compilation, we divide its formalisation and proof in three stages, respectively dealing with: a) the translation of name-based communications into their SOC equivalents (namely, using correlation mechanisms based on message data); b) the projection of a choreography into a composition of partial, single-participant choreographies (towards their translation into SOC processes); c) the translation of partial choreographies and the distribution of choreography-level state into SOC processes. We provide results of behavioural correspondence for each stage. Thus, given a choreography specification, we guarantee to synthesise its faithful and deadlock-free service-oriented implementation.


翻译:舞蹈编程是一种按部就班的正确模式,在这种模式中,汇编程序综合了无僵局、同时和分布的通信过程,称为舞蹈编程。以前的工作使用舞蹈来合成程序。虽然没有正规化,提供从舞蹈编程到实施过程的正确性链。这个问题源于现有的理论模型之间的差别,这些模型使用频道名称( ⁇ a la CCS/hpi}calululus)及其执行,使用低层次的信息流路程机制。作为一个解决方案,我们提出了应用舞蹈编程的理论框架。在这个框架中,开发者按照标准语法和基于名称的传播方式,用一种语言编写舞蹈编程。然后,他们使用编程程序将舞蹈转换成一个低层次的、执行偏向性的缩略分级缩略分数。 管理汇编的复杂性,我们将其格式化和证据分三个阶段,分别处理SOHI的翻译过程,用SO-choalimational 的翻译过程,用SOVAL 的每个翻译过程,用SO-cho 的顺序,用SOral commational commational orational orationalalalalal orationalalalal magiew,用SOuts dalationalalal magidududududududududududude mas,用一个S

0
下载
关闭预览

相关内容

编译器(Compiler),是一种计算机程序,它会将用某种编程语言写成的源代码(原始语言),转换成另一种编程语言(目标语言)。
Python编程基础,121页ppt
专知会员服务
47+阅读 · 2021年1月1日
【实用书】Python编程,140页pdf
专知会员服务
41+阅读 · 2020年8月20日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
75+阅读 · 2020年7月26日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
105+阅读 · 2020年5月3日
深度强化学习策略梯度教程,53页ppt
专知会员服务
176+阅读 · 2020年2月1日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
144+阅读 · 2019年10月12日
【新书】Python编程基础,669页pdf
专知会员服务
186+阅读 · 2019年10月10日
TensorFlow 2.0 学习资源汇总
专知会员服务
66+阅读 · 2019年10月9日
Nature 一周论文导读 | 2019 年 8 月 1 日
科研圈
8+阅读 · 2019年8月11日
Transferring Knowledge across Learning Processes
CreateAMind
25+阅读 · 2019年5月18日
RL 真经
CreateAMind
5+阅读 · 2018年12月28日
Science 一周论文导读 | 2018 年 11 月 16 日
科研圈
7+阅读 · 2018年11月25日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
Nature 一周论文导读 | 2018 年 3 月 29 日
科研圈
12+阅读 · 2018年4月7日
计算机视觉近一年进展综述
机器学习研究会
8+阅读 · 2017年11月25日
强化学习族谱
CreateAMind
26+阅读 · 2017年8月2日
强化学习 cartpole_a3c
CreateAMind
9+阅读 · 2017年7月21日
Arxiv
0+阅读 · 2021年2月17日
VIP会员
相关VIP内容
Python编程基础,121页ppt
专知会员服务
47+阅读 · 2021年1月1日
【实用书】Python编程,140页pdf
专知会员服务
41+阅读 · 2020年8月20日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
75+阅读 · 2020年7月26日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
105+阅读 · 2020年5月3日
深度强化学习策略梯度教程,53页ppt
专知会员服务
176+阅读 · 2020年2月1日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
144+阅读 · 2019年10月12日
【新书】Python编程基础,669页pdf
专知会员服务
186+阅读 · 2019年10月10日
TensorFlow 2.0 学习资源汇总
专知会员服务
66+阅读 · 2019年10月9日
相关资讯
Nature 一周论文导读 | 2019 年 8 月 1 日
科研圈
8+阅读 · 2019年8月11日
Transferring Knowledge across Learning Processes
CreateAMind
25+阅读 · 2019年5月18日
RL 真经
CreateAMind
5+阅读 · 2018年12月28日
Science 一周论文导读 | 2018 年 11 月 16 日
科研圈
7+阅读 · 2018年11月25日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
Nature 一周论文导读 | 2018 年 3 月 29 日
科研圈
12+阅读 · 2018年4月7日
计算机视觉近一年进展综述
机器学习研究会
8+阅读 · 2017年11月25日
强化学习族谱
CreateAMind
26+阅读 · 2017年8月2日
强化学习 cartpole_a3c
CreateAMind
9+阅读 · 2017年7月21日
Top
微信扫码咨询专知VIP会员