CZT: A Framework for Z Tools

  • Petra Malik
  • Mark Utting
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3455)


The Community Z Tools (CZT) project is an open-source Java framework for building formal methods tools for Z and Z dialects. It also includes a set of tools for parsing, typechecking, transforming and printing standard Z specifications in LATEX, Unicode or XML formats. This paper gives an overview of the CZT framework, including an introduction to its visitor design pattern that makes it possible to write new Z transformation tools in just a few lines of Java code. The paper also discusses several problems and challenges that arose when attempting to build tools based on the SO Standard for Z.


Pattern Language Visitor Pattern Inheritance Hierarchy Java Interface Schema Text 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    ISO/IEC 13568: Information Technology—Z Formal Specification Notation—Syntax, Type System and Semantics, 1st edn. ISO/IEC (2002)Google Scholar
  2. 2.
    Utting, M., Toyn, I., Sun, J., Martin, A., Dong, J.S., Daley, N., Currie, D.: ZML: XML support for standard Z. In: Bert, D., P. Bowen, J., King, S. (eds.) ZB 2003. LNCS, vol. 2651, pp. 437–456. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  3. 3.
    Smith, G.: The Object-Z Specification Language. Advances in Formal Methods. Kluwer Academic Publishers, Dordrecht (2000)Google Scholar
  4. 4.
    Mahony, B., Dong, J.S.: Timed communicating Object Z. IEEE Transactions on Software Engineering 26, 150–177 (2000)CrossRefGoogle Scholar
  5. 5.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, USA (1995)Google Scholar
  6. 6.
    Mai, Y., de Champlain, M.: A pattern language to visitors. In: The 8th Annual Conference of Pattern Languages of Programs (PLoP 2001), Monticello, Illinois, USA (2001)Google Scholar
  7. 7.
    Martin, A.C.: Acyclic visitor. In: Martin, R.C., Riehle, D., Buschmann, F. (eds.) Pattern Languages of Program Design, vol. 3. Addison-Wesley Longman Publishing Co., Inc, Amsterdam (1997)Google Scholar
  8. 8.
    Nordberg III, M.E.: Default and extrinsic visitor. In: Martin, R.C., Riehle, D., Buschmann, F. (eds.) Pattern Languages of Program Design, vol. 3. Addison-Wesley Longman Publishing Co., Inc, Amsterdam (1997)Google Scholar
  9. 9.
    Toyn, I., Stepney, S.: Characters + mark-up = Z lexis. In: Bert, D., P. Bowen, J., C. Henson, M., Robinson, K. (eds.) B 2002 and ZB 2002. LNCS, vol. 2272, pp. 100–119. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  10. 10.
    Toyn, I., Valentine, S.H., Stepney, S., King, S.: Typechecking Z. In: P. Bowen, J., Dunne, S., Galloway, A., King, S. (eds.) B 2000, ZUM 2000, and ZB 2000. LNCS, vol. 1878, pp. 264–285. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  11. 11.
    Spivey, J.M.: The Z Notation: A Reference Manual, 2nd edn. International Series in Computer Science. Prentice-Hall International (UK) Ltd., Englewood Cliffs (1992)Google Scholar
  12. 12.
    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)CrossRefGoogle Scholar
  13. 13.
    Toyn, I.: Information technology – Z formal specification notation – Syntax, type system and semantics. DRAFT TECHNICAL CORRIGENDUM 1, Corrections to use of Unicode.This draft has yet to be submitted for official ballot. Available from, (2004)

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Petra Malik
    • 1
  • Mark Utting
    • 1
  1. 1.The University of WaikatoHamiltonNew Zealand

Personalised recommendations