Translating TLA +  to B for Validation with ProB

  • Dominik Hansen
  • Michael Leuschel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7321)


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 + .


TLA B-Method Tool Support Model Checking Animation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abrial, J.-R.: The B-Book. Cambridge University Press (1996)Google Scholar
  2. 2.
    Chaudhuri, K., Doligez, D., Lamport, L., Merz, S.: The TLA +  Proof System: Building a Heterogeneous Verification Platform. In: Cavalcanti, A., Deharbe, D., Gaudel, M.-C., Woodcock, J. (eds.) ICTAC 2010. LNCS, vol. 6255, p. 44. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  3. 3.
    ClearSy. Atelier B, User and Reference Manuals. Aix-en-Provence, France (2009),
  4. 4.
    Hallerstede, S., Leuschel, M.: Constraint-based deadlock checking of high-level specifications. TPLP 11(4-5), 767–782 (2011)MathSciNetGoogle Scholar
  5. 5.
    Lamport, L.: Specifying Systems, The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley (2002)Google Scholar
  6. 6.
    Leuschel, M., Butler, M.: ProB: A Model Checker for B. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 855–874. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  7. 7.
    Leuschel, M., Massart, T.: Efficient approximate verification of B via symmetry markers. Annals of Mathematics and Artificial Intelligence 59(1), 81–106 (2010)MathSciNetzbMATHCrossRefGoogle Scholar
  8. 8.
    Merz, S.: TLA+ Case Study: A Resource Allocator. Technical Report A04-R-101, INRIA Lorraine - LORIA (2004),
  9. 9.
    Merz, S., Vanzetto, H.: Automatic Verification of TLA +  Proof Obligations with SMT Solvers. In: Bjørner, N., Voronkov, A. (eds.) LPAR-18 2012. LNCS, vol. 7180, pp. 289–303. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  10. 10.
    Mokhtari, Y., Merz, S.: Animating TLA Specifications. In: Ganzinger, H., McAllester, D., Voronkov, A. (eds.) LPAR 1999. LNCS, vol. 1705, pp. 92–110. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  11. 11.
    Mosbahi, O., Jemni, L., Jaray, J.: A formal approach for the development of automated systems. In: Filipe, J., Shishkov, B., Helfert, M. (eds.) ICSOFT (SE), pp. 304–310. INSTICC Press (2007)Google Scholar
  12. 12.
    Plagge, D., Leuschel, M.: Seven at a stroke: LTL model checking for high-level specifications in B, Z, CSP, and more. STTT 11, 9–21 (2010)CrossRefGoogle Scholar
  13. 13.
    Yu, Y., Manolios, P., Lamport, L.: Model Checking TLA +  Specifications. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 54–66. Springer, Heidelberg (1999)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Dominik Hansen
    • 1
  • Michael Leuschel
    • 1
  1. 1.Institut für InformatikUniversität DüsseldorfDüsseldorfGermany

Personalised recommendations