SpecEdit: Projectional Editing for TLA+ Specifications

Riwan Cuinat, C. Teodorov, J. Champeau
{"title":"SpecEdit: Projectional Editing for TLA+ Specifications","authors":"Riwan Cuinat, C. Teodorov, J. Champeau","doi":"10.1109/FORMREQ51202.2020.00008","DOIUrl":null,"url":null,"abstract":"High quality requirements and specifications are the premises of efficient software system engineering. Formal approaches propose precise and unambiguous requirements amendable to automated reasoning. TLA+, for instance, is used by major companies, such as Microsoft and Amazon, to specify high-profile business critical systems. However, despite its undeniable strengths for the specification of complex distributed systems, TLA+ suffers from the duality of its syntax, which hinders its large-scale industrial adoption. A system engineer can easily read mathematical specifications in TLA+, produced through LaTeX. However, for writing TLA+ specifications, he must learn the discommoding ASCII syntax, which requires unnecessary effort and dedicated learning time. This paper introduces SpecEdit, an IDE for TLA+ with a projectional editor that solves this issue. SpecEdit exposes the mathematical syntax of TLA+ for both reading and writing specifications, without requiring external transformations. This approach minimizes the cognitive effort and streamlines the formal system specification process. We illustrate the benefits of our approach using the specification of the Elasticsearch cluster coordination module. We furthermore emphasize the complementarity with the existing TLA+ tools. Through SpecEdit, TLA+ gains the specification editor that was missing without compromising compatibility with the existing tools.","PeriodicalId":251481,"journal":{"name":"2020 IEEE Workshop on Formal Requirements (FORMREQ)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE Workshop on Formal Requirements (FORMREQ)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/FORMREQ51202.2020.00008","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

High quality requirements and specifications are the premises of efficient software system engineering. Formal approaches propose precise and unambiguous requirements amendable to automated reasoning. TLA+, for instance, is used by major companies, such as Microsoft and Amazon, to specify high-profile business critical systems. However, despite its undeniable strengths for the specification of complex distributed systems, TLA+ suffers from the duality of its syntax, which hinders its large-scale industrial adoption. A system engineer can easily read mathematical specifications in TLA+, produced through LaTeX. However, for writing TLA+ specifications, he must learn the discommoding ASCII syntax, which requires unnecessary effort and dedicated learning time. This paper introduces SpecEdit, an IDE for TLA+ with a projectional editor that solves this issue. SpecEdit exposes the mathematical syntax of TLA+ for both reading and writing specifications, without requiring external transformations. This approach minimizes the cognitive effort and streamlines the formal system specification process. We illustrate the benefits of our approach using the specification of the Elasticsearch cluster coordination module. We furthermore emphasize the complementarity with the existing TLA+ tools. Through SpecEdit, TLA+ gains the specification editor that was missing without compromising compatibility with the existing tools.
SpecEdit:投影编辑TLA+规格
高质量的需求和规范是高效软件系统工程的前提。形式化方法提出了精确和明确的需求,可用于自动推理。例如,TLA+被Microsoft和Amazon等大公司用于指定高知名度的业务关键系统。然而,尽管TLA+在复杂分布式系统规范方面具有不可否认的优势,但它的语法存在二元性,这阻碍了它的大规模工业应用。系统工程师可以很容易地阅读通过LaTeX生成的TLA+中的数学规范。然而,为了编写TLA+规范,他必须学习令人不安的ASCII语法,这需要不必要的努力和专门的学习时间。本文介绍了一个带有投影编辑器的TLA+ IDE SpecEdit,它解决了这个问题。SpecEdit为读写规范公开了TLA+的数学语法,而不需要外部转换。这种方法最大限度地减少了认知工作,并简化了正式的系统规范过程。我们使用Elasticsearch集群协调模块的规范来说明我们的方法的好处。我们进一步强调与现有TLA+工具的互补性。通过SpecEdit, TLA+获得了缺失的规范编辑器,而不会影响与现有工具的兼容性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信