Concurrent systems are often complex and difficult to design. Choreographic languages, such as Multiparty Session Types (MPST), allow the description of global protocols of interactions by capturing valid patterns of interactions between participants. Many variations of MPST exist, each one with its rather specific features and idiosyncrasies. Here we propose a tool (CoMPSeT) that provides clearer insights over different features in existing MPST. We select a representative set of MPST examples and provide mechanisms to combine different features and to animate and compare the semantics of concrete examples. CoMPSeT is open-source, compiled into JavaScript, and can be directly executed from any browser, becoming useful both for researchers who want to better understand the landscape of MPST and for teachers who want to explain global choreographies.
翻译:并发系统通常复杂且难以设计。编排语言,例如多方会话类型(MPST),通过捕获参与者之间有效的交互模式,允许描述交互的全局协议。存在多种MPST变体,每种都具有其相当具体的特性和独特性。本文提出一种工具(CoMPSeT),旨在为现有MPST中的不同特性提供更清晰的见解。我们选取一组具有代表性的MPST示例,并提供机制以组合不同特性,并对具体示例的语义进行动画演示和比较。CoMPSeT是开源的,可编译为JavaScript,并可直接在任何浏览器中执行,对于希望更好理解MPST领域的研究人员以及希望解释全局编排的教师都具有实用价值。