Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
LPAR '99 Proceedings of the 6th International Conference on Logic Programming and Automated Reasoning
Model Checking TLA+ Specifications
CHARME '99 Proceedings of the 10th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods
Seven at one stroke: LTL model checking for high-level specifications in B, Z, CSP, and more
International Journal on Software Tools for Technology Transfer (STTT)
The TLA+proof system: building a heterogeneous verification platform
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
Efficient approximate verification of B and Z models via symmetry markers
Annals of Mathematics and Artificial Intelligence
Automatic verification of TLA+ proof obligations with SMT solvers
LPAR'12 Proceedings of the 18th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Hi-index | 0.00 |
TLA+ and B share the common base of predicate logic, arithmetic and set theory. However, there are still considerable differences, such as very different approaches to typing and modularization. There is also considerable difference in the available tool support. In this paper, we present a translation of the non-temporal part of TLA+ to B, which makes it possible to feed TLA+ specifications into existing tools for B. Part of this translation must include a type inference algorithm, in order to produce typed B specifications. There are many other tricky aspects, such as translating modules as well as let/in and if/then/else expressions. We also present an integration of our translation into ProB. ProB thus provides a complementary tool to the explicit state model checker TLC, with convenient animation and constraint solving for TLA+. We also present a series of case studies, highlighting the complementarity to TLC. In particular, we highlight the sometimes dramatic difference in performance when it comes to solving complicated constraints in TLA+.