跳到主要内容
研究论文
开放式访问
可用工件
评估的工件和可重用工件

埃斯特雷尔的演算:如果可以,可以。如果不能,就不能。

出版:2019年1月2日出版历史
跳过抽象节

摘要

Esterel语言在许多安全关键应用中取得了成功,例如飞线系统和核电厂控制软件。它的命令式风格对于构建这样的系统的程序员来说是很自然的,其精确的语义使它能够很好地用于程序推理。

Esterel的现有语义通常分为两类:转换为布尔电路,或提供运行整个程序的过程的操作语义。相比之下,等式理论通过在源代码级进行等式重写,可以对程序行为进行推理。这些理论构成了编译器内部转换证明或程序重构以及语法上定义程序求值的基础。

本文首次提出了Esterel的此类方程演算。它还通过一系列等效示例说明了演算的有用性,并讨论了它如何使我们能够在Esterel实现中发现错误。

跳过补充材料部分

补充材料

a61-florence.webm网站

网络管理

85.9 MB

工具书类

  1. H.巴伦德雷格特。兰姆达演算:它的语法和语义。北荷兰,1984年。谷歌学者谷歌学者
  2. 阿尔伯特·本文尼斯特和杰拉德·贝里。无功和实时系统的同步方法。IEEE 79(9)会议记录,1991年。谷歌学者谷歌学者交叉引用交叉引用
  3. 阿尔伯特·本文尼斯特(Albert Benveniste)、保罗·卡斯皮(Paul Caspi)、斯蒂芬·爱德华兹(Stephen A.Edwards)、尼古拉斯·哈尔巴赫斯(Nicolas Halbwachs)、保尔·勒格尼奇(Paule Le Guernic)和罗伯。12年后的同步语言。IEEE 91(1)会议记录,2002年。谷歌学者谷歌学者
  4. 杰拉德·贝里。Esterel v5语言初级版v5_91。巴黎矿业学院,CMA和INRIA,索菲亚·安蒂波利斯,法国,2000年。谷歌学者谷歌学者
  5. 杰拉德·贝里。纯Esterel的构造语义(草案第3版)。2002谷歌学者谷歌学者
  6. 热拉尔·贝里、阿马尔·博阿利、泽维尔·福纳里、埃曼纽尔·莱迪诺、埃里克·纳索尔和罗伯特·德西蒙。ESTEREL:一种应用于航空电子软件开发的形式化方法。《计算机程序设计科学》36(1),第5–25页,2000年。谷歌学者谷歌学者数字图书馆数字图书馆
  7. 杰拉德·贝瑞和乔治·戈蒂尔。Esterel同步编程语言:设计,语义,实现。《计算机程序设计科学》19(2),第87–152页,1992年。谷歌学者谷歌学者数字图书馆数字图书馆
  8. 热拉尔·贝里、西普琳·尼古拉斯和曼努埃尔·塞拉诺。嘻哈:一种同步反应式跳跃延伸。程序中。塑料,2011年。谷歌学者谷歌学者数字图书馆数字图书馆
  9. 马蒂亚斯·费莱森、罗伯特·布鲁斯·芬德勒和马修·弗拉特。PLT Redex语义工程。麻省理工学院出版社,2009年。谷歌学者谷歌学者数字图书馆数字图书馆
  10. 马提亚斯·费莱森和罗伯特·希布。关于顺序控制和状态句法理论的修订报告。理论计算机科学103(2),第235-271页,1992年。谷歌学者谷歌学者数字图书馆数字图书馆
  11. 马修·弗拉特和PLT。参考:支架。PLT公司,PLT-TR-2010-12010年。http://拍子-lang.org/tr1语言/谷歌学者谷歌学者
  12. Spencer P.Florence、Burke Fetscher、Matthew Flatt、William H.Temps、Tina Kiguradze、Dennis P.West、Charlotte Niznik、Paul R.Yarnold、Robert Bruce Findler和Steven M.Belknap。POP-PL:一种面向患者的处方编程语言。程序中。GPCE,2015年。谷歌学者谷歌学者数字图书馆数字图书馆
  13. 林赛·库珀(Lindsey Kuper)和瑞恩·牛顿(Ryan R.Newton)。LVars:用于确定性并行的基于格的数据结构。程序中。功能高性能计算(FHPC)研讨会,2013年。谷歌学者谷歌学者数字图书馆数字图书馆
  14. Michael Mendler、Thomas R.Shiple和Gerard Berry。构造布尔电路和定时三值模拟的精确性。系统设计中的形式方法40,第283–329页,2012年。谷歌学者谷歌学者数字图书馆数字图书馆
  15. 本杰明·皮尔斯。类型和编程语言。麻省理工学院出版社,2002年。谷歌学者谷歌学者数字图书馆数字图书馆
  16. 戈登·普洛特金(Gordon Plotkin)。Call-by-name、Call-by-value和λ-微积分。理论计算机科学1(2),第125-159页,1975年。谷歌学者谷歌学者交叉引用交叉引用
  17. 杜米特鲁·波托普·布图卡鲁。Esterel程序更快模拟的优化。博士论文,巴黎矿业大学,2002年。谷歌学者谷歌学者
  18. Dumitru Potop-Butucaru、Stephen A.Edwards和Gerard Berry。编写Esterel。施普林格,2007年。谷歌学者谷歌学者数字图书馆数字图书馆
  19. 克劳斯·施奈德(Klaus Schneider)和迈克尔·温茨(Michael Wenz)。编译精神分裂症同步程序的新方法。程序中。2001年嵌入式系统编译器、体系结构和综合国际会议(CASES)。谷歌学者谷歌学者数字图书馆数字图书馆
  20. 曼努埃尔·塞拉诺(Manuel Serrano)和皮埃尔·韦斯(Pierre Weis)。Bigloo:针对严格函数语言的可移植优化编译器。程序中。静态分析研讨会,1995年。谷歌学者谷歌学者数字图书馆数字图书馆
  21. 奥利维尔·塔迪厄(Olivier Tardieu)。纯酯的确定逻辑语义。《美国计算机学会编程语言与系统汇刊》29(2),2007年。谷歌学者谷歌学者数字图书馆数字图书馆
  22. 杨学军、杨晨、埃里克·艾德和约翰·雷格。查找和理解C编译器中的错误。程序中。编程语言设计与实现(PLDI),2011年。谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. 埃斯特雷尔的演算:如果可以,可以。如果不能,就不能。

    建议

    评论

    特穆尔·库蒂亚

    Esterel是一种用于反应式编程的同步语言。它于20世纪80年代中期开发,已用于航空和核电厂控制的若干安全关键应用。在Esterel中,计算被建模为一系列瞬间:离散时间步,即对外部信号的反应时刻。瞬间是一个原子事件:在此期间,在反应完成之前,不会对外界环境产生干扰。因此,在接受输入信号和产生输出值同时发生的意义上,反应被认为是瞬时的。这是同步无功规划的主要原理。瞬间完成后,其所有信号的值都是已知的,可以与环境进行通信。反应允许并行,但它应该是确定性的:并发线程的执行顺序不应该影响计算结果。本文提出了一种演算来描述Esterel(或更准确地说,它的片段,称为Kernel Esterel)的语义。由于同步行为和确定性并行的结合,这是一项颇具挑战性的任务。提出的演算是等式的,基于简化关系,简化关系模拟瞬间内的单步计算。它通过术语重写工作,适用于程序转换、求值和等价性的推理。作者展示了它如何帮助他们在两个Esterel实现中发现错误。该方法背后的动机是希望将现有的两种语义形式中的最佳形式结合起来,用于同步反应式编程:电路语义(通过将程序转换为布尔电路来赋予程序意义)和操作语义(赋予整个程序而非其片段意义)。本文很好地描述了这种新的语义,描述了它的优缺点,并与现有的方法进行了比较。对于熟悉编程语言形式语义的读者来说,内容并不难理解;然而,初学者可能会发现微积分和标准约简的描述最初有点难以理解。

    访问计算机文献的关键评论在这里

    成为评论员计算评论。

    评论

    登录选项

    检查您是否可以通过登录凭据或您的机构访问本文。

    登录

    完全访问权限

    • 发布于

      封面图片美国计算机学会编程语言会议录
      美国计算机学会程序设计语言会议录 第3卷,第POPL期
      2019年1月
      2275页
      EISSN公司:2475-1421
      内政部:10.1145/3302515
      期刊目录

      版权所有©2019所有者/作者

      本作品根据Creative Commons Attribution International 4.0许可证授权。

      出版商

      计算机协会

      美国纽约州纽约市

      出版历史

      • 出版:2019年1月2日
      发布于太平洋石油公司第3卷,第POPL期

      权限

      请求有关此文章的权限。

      请求权限

      检查更新

      限定符

      • 研究论文

    PDF格式

    以PDF文件查看或下载。

    PDF格式

    电子阅读器

    使用eReader联机查看。

    电子阅读器