首页> 外文期刊>Formal Aspects of Computing >A semantics comparison workbench for a concurrent, asynchronous, distributed programming language
【24h】

A semantics comparison workbench for a concurrent, asynchronous, distributed programming language

机译:并发,异步,分布式编程语言的语义比较工作台

获取原文
获取原文并翻译 | 示例

摘要

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.
机译:已经提出了许多高级语言和库,它们为并发,异步和分布式编程提供了新颖且易于使用的抽象。但是,实现它们的执行模型通常会随时间而变化-是为了提高性能,还是将它们扩展到新的语言功能-可能会影响现有程序的行为和安全属性。这可以通过Scoop来举例说明,Scoop是一种消息传递方法,用于并发的面向对象编程,已经看到了许多建议和实现的更改,对于惯用其核心抽象有明显的后果。我们提出了Scoop的语义比较工作台,其中包含用于分析和比较程序针对不同执行模型或语义的状态空间的半自动和半自动工具。我们通过将其应用到一组代表性程序中并突出显示Scoop的主要执行模型之间的死锁相关差异,来演示其在检查跨语义属性一致性方面的用途。此外,通过概括执行模型的形式化以支持最近提出的分布式编程扩展,我们展示了工作台的可扩展性。我们的工作台基于Groove工具中实现的模块化和可参数化的图形转换语义。我们将讨论如何利用图变换对复杂的语言抽象进行原子建模,如何将模型的视觉和代数性质用于确定健全性,并重点介绍如何将该方法应用于相似的语言。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号