Compilation of Z Specifications into C for Automatic Test Result Evaluation

If Z specifications are used as requirements specifications then test result evaluation leads to evaluation of schema predicates in states that are reached by the test. For automation of this approach Z operational schemas must be translated into programs that perform schema predicate evaluation. Predicate evaluation is straightforward; expressions are replaced by their values, logical connectives are evaluated using truth-tables, quantifiers and set constructions are evaluated ∭ing iteration. In order to exclude infinite iterations while evaluating quantifiers the schema compiler accepts besides finite quantifications only those which can be transformed into finite ones using term-rewriting techniques. These ideas are implemented in a Z predicate compiler.

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

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

[3]  David A. Carrington,et al.  A Tale of Two Paradigms: Formal Methods and Software Testing , 1994, Z User Workshop.

[4]  John Dawes,et al.  The VDM-SL Reference Guide , 1991 .

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

[6]  Hans-Martin Hörcher,et al.  Improving Software Tests Using Z Specifications , 1995, ZUM.

[7]  Helmut A. Partsch,et al.  Specification and transformation of programs , 1990 .

[8]  Uwe Schmidt,et al.  Programming with VDM Domains , 1990, VDM Europe.