当前位置: X-MOL 学术Form. Asp. Comput. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
A semantics comparison workbench for a concurrent, asynchronous, distributed programming language
Formal Aspects of Computing ( IF 1.4 ) Pub Date : 2017-11-13 , DOI: 10.1007/s00165-017-0443-1
Claudio Corrodi 1 , Alexander Heußner 2 , Christopher M. Poskitt 3
Affiliation  

A number of high-level languages and libraries have been proposed that offer novel and simple to use abstractions for concurrent, asynchronous, and distributed programming. The execution models that realise them, however, often change over time—whether to improve performance, or to extend them to new language features—potentially affecting behavioural and safety properties of existing programs. This is exemplified by Scoop , a message-passing approach to concurrent object-oriented programming that has seen multiple changes proposed and implemented, with demonstrable consequences for an idiomatic usage of its core abstraction. We propose a semantics comparison workbench for Scoop with fully and semi-automatic tools for analysing and comparing the state spaces of programs with respect to different execution models or semantics. We demonstrate its use in checking the consistency of properties across semantics by applying it to a set of representative programs, and highlighting a deadlock-related discrepancy between the principal execution models of Scoop . Furthermore, we demonstrate the extensibility of the workbench by generalising the formalisation of an execution model to support recently proposed extensions for distributed programming. Our workbench is based on a modular and parameterisable graph transformation semantics implemented in the Groove tool. We discuss how graph transformations are leveraged to atomically model intricate language abstractions, how the visual yet algebraic nature of the model can be used to ascertain soundness, and highlight how the approach could be applied to similar languages.

中文翻译:

用于并发、异步、分布式编程语言的语义比较工作台

已经提出了许多高级语言和库,它们为并发、异步和分布式编程提供新颖且易于使用的抽象。然而,实现它们的执行模型通常会随着时间而改变——无论是提高性能,还是将它们扩展到新的语言特性——可能会影响现有程序的行为和安全属性。这体现在,一种用于并发面向对象编程的消息传递方法,已经提出并实施了多项更改,对其核心抽象的惯用用法具有明显的后果。我们提出一个语义比较工作台为了使用全自动和半自动工具来分析和比较程序在不同执行模型或语义方面的状态空间。我们通过将其应用于一组代表性程序并突出显示其主要执行模型之间与死锁相关的差异,展示了其在跨语义检查属性一致性方面的用途。. 此外,我们通过推广执行模型的形式化来证明工作台的可扩展性,以支持最近提出的分布式编程扩展。我们的工作台基于在工具。我们讨论了如何利用图形转换对复杂的语言抽象进行原子建模,如何使用模型的视觉和代数性质来确定可靠性,并强调该方法如何应用于类似的语言。
更新日期:2017-11-13
down
wechat
bug