Semantics-based tools for a specification-support environment
We describe recently developed semantics-based support tools for Z, a mathematical specification language based on typed set theory. Z has proven very useful and popular with a number of industrial as well as academic software developers. These tools are components of Forsite, a support environment currently under development to integrate languages and operations with formally defined semantics and implementable operations. We anticipate that these tools will impose a de facto standard for the language.
Z has undergone a noteworthy chronology of development and use. It was developed in stages by mathematicians who extended and adapted it according to the needs and experiences of industrial as well as academic users. Care was taken to maintain mathematical soundness, and when the language had stabilized, a denotational semantics for it was defined. Subsequently, support tools entirely based on this semantics were and are being developed. We describe the implemented type checker, which gives the sense of directly transliterating the formal type semantics, and preview the proof checker. We discuss the benefits of such a chronology for language and methodology development.
KeywordsFormal Semantic Proof Obligation Denotational Semantic Semantic Domain Type Checker
Unable to display preview. Download preview PDF.
- [ASM80]J-R. Abrial, S.A.Schuman, and B. Meyer, “Specification Language”, in Construction of Programs, ed. R.M. McKeag & A.M. MacNaughten, Cambridge Univ. Press, 1980.Google Scholar
- [Abriel81]J-R. Abrial, “A course on System Specification”, Lecture notes, Programming Research Group, Univ. of Oxford, 1981.Google Scholar
- [GMW79]M. Gordon, R. Milner, and C. Wadsworth, Edinburgh LCF: A Mechanical Logic of Computation, Lecture Notes Com. Sc.,78, Springer-Verlag, 1979.Google Scholar
- [Harper86]R.W. Harper, D. MacQueen, and R. Milner, Standard ML, Edinburgh University Internal Report ECS-LFCS-86-2, 1986.Google Scholar
- [Hayes87]Specification Case Studies, ed. I. Hayes, Prentice-Hall Inter., London, 1987.Google Scholar
- [KiSoWo86]S. King, I.H. Sorenson and J. Woodcock, “A Syntax for the Z Notation, Programming Research Group, Univ. of Oxford, 1986.Google Scholar
- [Morgan84]C.C. Morgan, “Schemas in Z: a Preliminary Reference Manual”, Programming Research Group, Univ. of Oxford,1984.Google Scholar
- [Milner]R. Milner, “A proposal for Standard ML”, Proc. ACM Symp. LISP and Functional Programming, Austin, Texas, 1984, pp. 184–197.Google Scholar
- [MoSu82]C.C. Morgan and B.A. Sufrin, “Specification of the UNIX Filing System”, IEEE Trans. Soft.Eng., v.10,2 1993, pp 128–42.Google Scholar
- [SSSW86]J. Sanders, I.H. Sorenson, B.A. Sufrin, and J. Woodcock, Notes for Software Engineering, Z Course given at Wolfson College, Oxford, 1986.Google Scholar
- [Spivey84]J.M. Spivey, “Towards a Formal Semantics for the Z Notation”, Tech. Mon. PRG-41, Programming Research Group, Univ. of Oxford, 1984.Google Scholar
- [Spivey85]J.M. Spivey, Understanding Z: A Specification Language and its Formal Semantics, D.Phil. Thesis, Univ. of Oxford, 1985 (to be published by Cambridge Univ. Press).Google Scholar
- [Spivey86]J.M. Spivey, The Z Library, A Reference Manual, 1986.Google Scholar
- [Sufrin86]B.A. Z Handbook, Draft 1.1, March 1986.Google Scholar
- [Harper85]R.W. Harper, D. MacQueen, and R. Milner, Standard ML, Edinburgh University Internal Report ECS-LFCS-86-2, 1985.Google Scholar