CZT: A Framework for Z Tools

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.

[1]  Jonathan P. Bowen,et al.  ZB 2002:Formal Specification and Development in Z and B , 2002, Lecture Notes in Computer Science.

[2]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[3]  Jin Song Dong,et al.  Timed Communicating Object Z , 2000, IEEE Trans. Software Eng..

[4]  Michel de Champlain,et al.  A Pattern Language To Visitors , 2001 .

[5]  Susan Stepney,et al.  Characters + Mark-up = Z Lexis , 2002, ZB.

[6]  Bruno Legeard,et al.  Automated Boundary Testing from Z and B , 2002, FME.

[7]  Graeme Smith,et al.  The Object-Z Specification Language , 1999, Advances in Formal Methods.

[8]  Peter A. Lindsay,et al.  FME 2002:Formal Methods—Getting IT Right , 2002, Lecture Notes in Computer Science.

[9]  Jonathan P. Bowen,et al.  ZB 2003: Formal Specification and Development in Z and B , 2003, Lecture Notes in Computer Science.

[10]  Susan Stepney,et al.  Typechecking Z , 2000, ZB.

[11]  Gerhard Goos,et al.  ZB 2000: Formal Specification and Development in Z and B , 2000 .

[12]  Jin Song Dong,et al.  ZML: XML Support for Standard Z , 2003, ZB.

[13]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[14]  James O. Coplien,et al.  Pattern languages of program design , 1995 .

[15]  Martin E. Nordberg Default and extrinsic visitor , 1997 .

[16]  Robert C. Martin,et al.  Acyclic visitor , 1997 .