The work considers issues in the execution of the Z notation in a logic programming language. A subset of Z which is capable of being animated is identified, together with the necessary theoretical foundations for the relationship of Z to its executable form. The thesis also addresses the transition from research results to potentially useful tools. The thesis has 4 major parts: \ud \ud Tools Survey: A survey of tools which support the animation of Z is presented and the advantages (and disadvantages) to be gained from an animating system which uses a logic programming language are discussed. Requirements, particularly correctness, are described and discussed and weaknesses in the current tools are identified.\ud \ud Correctness - Program Synthesis: If a program can be deduced directly from the specification, then it is partially correct with respect to the specification. This method of obtaining a program from a specification is one form of logic programming synthesis. We examine such formal links between a specification (in Z) and an executable form and also some translation techniques for synthesising a logic program from a Z specification. The techniques are illustrated by examples which reveal important shortcomings. \ud \ud Translation Rules to Godel: New techniques for the animation of Z utilising the Godel logic programming language are presented which circumvent these shortcomings. The techniques are realised via translation rules known as structure simulation . Two substantial case studies are examined as proof of concept. These indicate both the coverage of the Z notation by structure simulation and the practicality of the rules. \ud \ud Correctness - Abstract Approximation: Published criteria for correctness of an animation are compared and contrasted with the method of Abstract Interpretation (AI). In AI a concrete semantics is related to an approximate one that explicitly exhibits an underlying structure present in the richer concrete structure. In our case, the concrete semantics is Z associated with ZF set theory . The approximate semantics of the execution are the outputs of Z. The criteria are applied to a logic programming language (the original w as applied to a functional language). Formal arguments are presented which show that the structure simulation rules obey the criteria for correctness. Finally, areas of work which had been omitted by the original authors are presented explicitly
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.