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.
Unable to display preview. Download preview PDF.
- 1.L. Cardelli. Basic polymorphic typechecking. Science of Computer Programming, 8(2):147–172, April 1987.Google Scholar
- 2.P. Hancock. Polymorphic type-checking. In S.L. Peyton Jones, editor, The Implementation of Functional Programming Languages, 1987.Google Scholar
- 3.ISO/IEC 14977:1996(E). Information Technology—Syntactic Metalanguage—Extended BNF.Google Scholar
- 4.Xiaoping Jia. ZTC: A type checker for Z notation, user’s guide. Technical Report Version 2.03, Division of Software Engineering, School of Computer Science, Telecommunication, and Information Systems, DePaul University, August 1998.Google Scholar
- 5.L. Lamport and L.C. Paulson. Should your specification language be typed? Transactions on Programming Languages and Systems, 21(3):502–526, May 1999.Google Scholar
- 7.D. Neilson. Machine support for Z: the zedB tool. In Proceedings of the 5th Z User Meeting, 1990.Google Scholar
- 8.J.N. Reed and J.E. Sinclair. An algorithm for type-checking Z. Technical Monograph PRG-81, Oxford University Computing Laboratory, Programming Research Group, March 1990.Google Scholar
- 9.C.T. Sennett. Review of the type checking and scope rules of the specification language Z. Technical Report 87017, Royal Signals and Radar Establishment, Malvern, November 1987.Google Scholar
- 10.J.M. Spivey. Understanding Z: A Specification Language and its Formal Semantics. Cambridge University Press, 1988.Google Scholar
- 11.J.M. Spivey. The Z Notation: A Reference Manual, 2nd editon. Prentice Hall, 1992.Google Scholar
- 12.J.M. Spivey and B.A. Sufrin. Type inference in Z. In D. Bjørner, C.A.R. Hoare, and H. Langmaack, editors, VDM’90: VDM and Z—Formal Methods in Software Development, LNCS 428, pages 426–451. Springer, 1990.Google Scholar
- 13.S. Stepney. Formaliser Home Page. http://public.logica.com/~formaliser/.
- 14.B. Sufrin. Using the Hippo system. Technical report, Oxford University Computing Laboratory, Programming Research Group, June 1989.Google Scholar
- 16.I. Toyn, editor. Z Notation: Final Committee Draft. http://www.cs.york.ac.uk/~ian/zstan/fcd.ps August 1999.
- 17.I. Toyn. CADiZ web pages. http://www.cs.york.ac.uk/~ian/cadiz/ 2000.
- 18.I. Toyn and J.A. McDermid. CADiZ: An architecture for Z tools and its implementation. Software — Practice and Experience, 25(3):305–330, March 1995.Google Scholar
- 19.I. Toyn and S.H. Valentine. Type inference rules for Z. ftp://ftp.cs.york.ac.uk/hisereports/cadiz/ZSTAN/rules.ps March 2000.
- 20.I. Toyn, S.H. Valentine, and D.A. Duffy. On mutually recursive free types in Z. In ZB2000: International Conference of B and Z Users, 2000.Google Scholar
- 21.S.H. Valentine, I. Toyn, S. Stepney, and S. King. Type-constrained generics. In ZB2000: International Conference of B and Z Users, 2000.Google Scholar