Erla+: Translating TLA+ Models into Executable Actor-Based Implementations

被引:0
|
作者
Hristov, Marian [1 ]
Bieniusa, Annette [1 ]
机构
[1] Univ Kaiserslautern Landau, Kaiserslautern, Germany
来源
PROCEEDINGS OF THE 23RD ACM SIGPLAN INTERNATIONAL WORKSHOP ON ERLANG, ERLANG 2024 | 2024年
关键词
Verification; Distributed Systems; Model checking;
D O I
10.1145/3677995.3678190
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Distributed systems are notoriously difficult to design and implement correctly. Although formal methods provide rigorous approaches to verifying the adherence of a program to its specification, there still exists a gap between a formal model and implementation if the model and its implementation are only loosely coupled. Developers usually overcome this gap through manual effort, which may result in the introduction of unexpected bugs. In this paper, we present Erla(+), a translator which automatically translates models written in a subset of the PlusCal language to TLA(+) for formal reasoning and produces executable Erlang programs in one run. Erla+ additionally provides new PlusCal primitives for actor-style modeling, thus clearly separating the modeled system from its environment. W e show the expressivity and strengths of Erla+ by applying it to representative use cases such as a Raft-based key-value store. Our evaluation shows that the implementations generated by Erla+ offer competitive performance against manually written and optimized state-of-the-art libraries.
引用
收藏
页码:13 / 23
页数:11
相关论文
共 1 条