SpecEdit: Projectional Editing for TLA plus Specifications

被引:1
|
作者
Cuinat, Riwan [1 ]
Teodorov, Ciprian [2 ]
Champeau, Joel [2 ]
机构
[1] ENSTA Bretagne, Brest, France
[2] ENSTA Bretagne, Lab STICC, Brest, France
关键词
TLA; projectional editor; formal specifications;
D O I
10.1109/FORMREQ51202.2020.00008
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
High quality requirements and specifications are the premises of efficient software system engineering. Formal approaches propose precise and unambiguous requirements amenable to automated reasoning. TLA+, for instance, is used by major companies, such as Microsoft and Amazon, to specify highprofile business critical systems. However, despite its undeniable strengths for the specification of complex distributed systems, TLA+ suffers from the duality of its syntax, which is likely to hamper 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.
引用
收藏
页码:1 / 7
页数:7
相关论文
共 50 条
  • [1] Robust Projectional Editing
    Steimann, Friedrich
    Frenkel, Marcus
    Voelter, Markus
    SLE'17: PROCEEDINGS OF THE 10TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON SOFTWARE LANGUAGE ENGINEERING, 2017, : 79 - 90
  • [2] Graphical Projectional Editing in Gentleman
    Ducoin, Aurelien
    Syriani, Eugene
    ACM/IEEE 25TH INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, MODELS 2022 COMPANION, 2022, : 46 - 50
  • [3] Projectional Editing of Variational Software
    Walkingshaw, Eric
    Ostermann, Klaus
    ACM SIGPLAN NOTICES, 2015, 50 (03) : 29 - 38
  • [4] Efficiency of Projectional Editing: A Controlled Experiment
    Berger, Thorsten
    Voelter, Markus
    Jensen, Hans Peter
    Dangprasert, Taweesap
    Siegmund, Janet
    FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 763 - 774
  • [5] PEoPL: Projectional Editing of Product Lines
    Behringer, Benjamin
    Palz, Jochen
    Berger, Thorsten
    2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2017, : 563 - 574
  • [6] Model checking TLA+ specifications
    Yu, Y
    Manolios, P
    Lamport, L
    CORRECT HARDWARE DESIGN AND VERIFICATION METHODS, 1999, 1703 : 54 - 66
  • [7] The TLA plus Toolbox
    Kuppe, Markus Alexander
    Lamport, Leslie
    Ricketts, Daniel
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2019, (310): : 50 - 62
  • [8] Abstract animator for temporal specifications:: Application to TLA
    Cansell, D
    Méry, D
    STATIC ANALYSIS, 1999, 1694 : 284 - 299
  • [9] Towards Projectional Editing for Model-Based SPLs
    Reuling, Dennis
    Pietsch, Christopher
    Kelter, Udo
    Kehrer, Timo
    PROCEEDINGS OF THE 14TH INTERNATIONAL WORKING CONFERENCE ON VARIABILITY MODELLING OF SOFTWARE-INTENSIVE SYSTEMS (VAMOS '20), 2020,
  • [10] From durational specifications to TLA designs of timed automata
    Chen, YF
    Liu, ZM
    FORMAL METHODS AND SOFTWARE ENGINEERING, PROCEEDINGS, 2004, 3308 : 464 - 482