Typechecking Z

This paper presents some of our requirements for a Z typechecker: that the typechecker accept all well-typeable formulations, however contrived; that it gather information about uses of declarations as needed to support interactive browsing and formal reasoning; that it fit the description given by draft standard Z; and that it be able to check some particular extensions to Z that are intended to allow explicit definitions of schema calculus operators. The paper presents a specification of such a Z typechecker, which we have implemented.

[1]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[2]  J. Michael Spivey,et al.  Understanding Z : A specification language and its formal semantics , 1985, Cambridge tracts in theoretical computer science.

[3]  Leslie Lamport,et al.  Should your specification language be typed , 1999, TOPL.

[4]  Xiao-ping Jia ZTC: A Type Checker for Z Notation User's Guide , 1995 .

[5]  Jonathan P. Bowen,et al.  ZUM '98: The Z Formal Specification Notation , 1998 .

[6]  J. Davenport Editor , 1960 .

[7]  Luca Cardelli,et al.  Basic Polymorphic Typechecking , 1987, Sci. Comput. Program..

[8]  Dines Bjørner,et al.  VDM '90 VDM and Z — Formal Methods in Software Development , 1990, Lecture Notes in Computer Science.

[9]  Ian Toyn Innovations in the Notation of Standard Z , 1998, ZUM.

[10]  C T Sennett Review of Type Checking and Scope Rules of the Specification Language Z , 1987 .

[11]  John A. McDermid,et al.  CADi: An architecture for Z tools and its implementation , 1995, Softw. Pract. Exp..

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

[13]  Susan Stepney,et al.  Type-Constrained Generics for Z , 2000, ZB.

[14]  Bernard Sufrin,et al.  Type Inference in Z , 1990, VDM Europe.

[15]  Samuel H. Valentine,et al.  On Mutually Recursive Free Types in Z , 2000, ZB.

[16]  Dave Neilson Machine Support for Z: the zebB Tool , 1990, Z User Workshop.