Skip to main content

Validating Z Specifications Using the ProB Animator and Model Checker

  • Conference paper
Integrated Formal Methods (IFM 2007)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4591))

Included in the following conference series:

Abstract

We present the architecture and implementation of the proz tool to validate high-level Z specifications. The tool was integrated into prob, by providing a translation of Z into B and by extending the kernel of prob to accommodate some new syntax and data types. We describe the challenge of going from the tool friendly formalism B to the more specification-oriented formalism Z, and show how many Z specifications can be systematically translated into B. We describe the extensions, such as record types and free types, that had to be added to the kernel to support a large subset of Z. As a side-effect, we provide a way to animate and model check records in prob. By incorporating proz into prob, we have inherited many of the recent extensions developed for B, such as the integration with CSP or the animation of recursive functions. Finally, we present a successful industrial application, which makes use of this fact, and where proz was able to discover several errors in Z specifications containing higher-order recursive functions.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abrial, J.-R.: The B-Book. Cambridge University Press, Cambridge (1996)

    MATH  Google Scholar 

  2. Abrial, J.-R., Schuman, S.A., Meyer, B.: Specification language. In: McKeag, R.M., Macnaghten, A.M. (eds.) On the Construction of Programs: An Advanced Course, pp. 343–410. Cambridge University Press, Cambridge (1980)

    Google Scholar 

  3. Ambert, F., Bouquet, F., Chemin, S., Guenaud, S., Legeard, B., Peureux, F., Utting, M., Vacelet, N.: BZ-testing-tools: A tool-set for test generation from Z and B using constraint logic programming. In: Proceedings of FATES 2002, Formal Approaches to Testing of Software, pp. 105–120, August 2002, Technical Report, INRIA (2002)

    Google Scholar 

  4. Ana Cavalcanti, J.W.: A weakest precondition semantics for z. The. Computer Journal 41(1), 1–15 (1998)

    Article  MATH  Google Scholar 

  5. U.B-Core (UK) Limited, Oxon. B-Toolkit, On-line manual, 1999. Available at http://www.b-core.com/ONLINEDOC/Contents.html

  6. Bouquet, F., Legeard, B., Peureux, F.: CLPS-B - a constraint solver for B. In: Katoen, J.-P., Stevens, P. (eds.) ETAPS 2002 and TACAS 2002. LNCS, vol. 2280, pp. 188–204. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  7. Bowen, J.P.: Formal Specification and Documentation using Z. International Thomson Computer Press (1996)

    Google Scholar 

  8. Butler, M., Leuschel, M.: Combining CSP and B for specification and property verification. In: Fitzgerald, J.A., Hayes, I.J., Tarlecki, A. (eds.) FM 2005. LNCS, vol. 3582, pp. 221–236. Springer, Heidelberg (2005)

    Google Scholar 

  9. Diller, A., Docherty, R.: Z and abstract machine notation: A comparison. In: User, Z. (ed.) Z User Workshop, pp. 250–263 (1994)

    Google Scholar 

  10. Dunne, S.: Understanding object-z operations as generalised substitutions. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 328–342. Springer, Heidelberg (2004)

    Google Scholar 

  11. Evans, N., Butler, M.: A proposal for records in event-b. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 221–235. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  12. Hall, A.: Correctness by construction: Integrating formality into a commercial development process. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 224–233. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  13. Hall, J.A.: Seven myths of formal methods. IEEE Software 7(5), 11–19 (1990)

    Article  Google Scholar 

  14. Hazel, D., Strooper, P., Traynor, O.: Requirements engineering and verification using specification animation. Automated Software Engineering 00, 302 (1998)

    Google Scholar 

  15. Jackson, D.: Alloy: A lightweight object modelling notation. ACM Transactions on Software Engineering and Methodology (TOSEM) 11, 256–290 (2002)

    Article  Google Scholar 

  16. Jacky, J.: The Way of Z: Practical Programming with Formal Methods. Cambridge University Press, Cambridge (1997)

    Google Scholar 

  17. Jia, X.: An approach to animating Z specifications. Available at http://venus.cs.depaul.edu/fm/zans.html

  18. Legeard, B., Peureux, F., Utting, M.: Automated boundary testing from Z and B. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 21–40. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  19. Leuschel, M., Butler, M.: Pro B: A model checker for B. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 855–874. Springer, Heidelberg (2003)

    Google Scholar 

  20. Leuschel, M., Butler, M.: Automatic refinement checking for B. In: Lau, K.-K., Banach, R. (eds.) ICFEM 2005. LNCS, vol. 3785, pp. 345–359. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  21. Leuschel, M., Butler, M., Spermann, C., Turner, E.: Symmetry reduction for B by permutation flooding. In: Julliand, J., Kouchnarenko, O. (eds.) B 2007. LNCS, vol. 4355, pp. 79–93. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  22. Leuschel, M., Cansell, D., Butler, M.: Validating and animating higher-order recursive functions in B. Submitted; preliminary version presented at Dagstuhl Seminar 06191 Rigorous Methods for Software Construction and Analysis (2006)

    Google Scholar 

  23. Leuschel, M., Turner, E.: Visualizing larger states spaces in P ro B. In: Treharne, H., King, S., Henson, M.C., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455, pp. 6–23. Springer, Heidelberg (2005)

    Google Scholar 

  24. Malik, P., Utting, M.: CZT: A framework for Z tools. In: Treharne, H., King, S., Henson, M.C., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455, pp. 65–84. Springer, Heidelberg (2005)

    Google Scholar 

  25. Spivey, J.M.: The Fuzz Manual. http://spivey.oriel.ox.ac.uk/mike/fuzz

  26. Spivey, J.M.: The Z Notation: A Reference Manual. Prentice Hall International Series in Computer Science, vol. 2. Prentice-Hall, Englewood Cliffs (1992)

    Google Scholar 

  27. Steria, F.: Aix-en-Provence. Atelier B, User and Reference Manuals (1996), Available at http://www.atelierb.societe.com/index_uk.html

  28. Utting, M.: Data structures for Z testing tools. In FM-TOOLS 2000 conference, July 2000, in TR 2000-07, Information Faculty, University of Ulm (2000)

    Google Scholar 

  29. Winikoff, M., Dart, P., Kazmierczak, E.: Rapid prototyping using formal specifications. In: Proceedings of the 21st Australasian Computer Science Conference, Perth, Australia, pp. 279–294 (February 1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jim Davies Jeremy Gibbons

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Plagge, D., Leuschel, M. (2007). Validating Z Specifications Using the ProB Animator and Model Checker. In: Davies, J., Gibbons, J. (eds) Integrated Formal Methods. IFM 2007. Lecture Notes in Computer Science, vol 4591. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73210-5_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-73210-5_25

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-73209-9

  • Online ISBN: 978-3-540-73210-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics