An Analysis of Forward Simulation Data Refinement

This paper investigates data refinement by forward simulation for specifications whose semantics is given by partial relations. The most well-known example of such a semantics is that for Z. The standard model-theoretic approach is based on totalisation and lifting. The paper examines this model, exploring and isolating the precise roles played by lifting and totalisation in the standard account by introducing a simpler, normative theory of forward simulation data refinement (SF-refinement) which captures refinement directly in the language and in terms of the natural properties of preconditions and postconditions. This theory is used in conjunction with four other model-theoretic approaches to determine the extent to which the standard approach is canonical, and the extent to which it is arbitrary.

[1]  Mark B. Josephs The Data Refinement Calculator for Z Specifications , 1988, Inf. Process. Lett..

[2]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[3]  Eerke Albert Boiten,et al.  Refinement in Z and Object-Z: Foundations and Advanced Applications , 2001 .

[4]  Moshe Deutsch,et al.  Results on formal stepwise design in Z , 2002, Ninth Asia-Pacific Software Engineering Conference, 2002..

[5]  Eerke A. Boiten,et al.  Calculating upward and downward simulations of state-based specifications , 1999, Inf. Softw. Technol..

[6]  Jean François Pique,et al.  About Natural Logic , 1979, Advances in Data Base Theory.

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

[8]  Martin C. Henson,et al.  New foundations for Z , 1998 .

[9]  Eerke A. Boiten,et al.  Guards, Preconditions, and Refinement in Z , 2000, ZB.

[10]  Jim Grundy A method of program refinement , 1993 .

[11]  Jim Woodcock,et al.  A Weakest Precondition Semantics for Z , 1998, Comput. J..

[12]  Kai Engelhardt,et al.  Data Refinement: Model-Oriented Proof Methods and their Comparison , 1998 .

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

[14]  Willem-Paul de Roever,et al.  Data Refinement: Theory , 1998 .

[15]  Jonathan P. Bowen,et al.  ZUM '95: The Z Formal Specification Notation , 1995, Lecture Notes in Computer Science.

[16]  C. A. R. Hoare,et al.  Data Refinement Refined , 1986, ESOP.

[17]  Steve King Z and the Refinement Calculus , 1990, VDM Europe.

[18]  Jim Woodcock,et al.  Refinement of State-Based Concurrent Systems , 1990, VDM Europe.

[19]  Willem-Paul de Roever,et al.  Data Refinement by Willem-Paul de Roever , 1998 .

[20]  Jim Woodcock,et al.  On the Refinement and Simulation of Data Types and Processes , 1999, IFM.

[21]  Jonathan P. Bowen,et al.  ZB 2003: Formal Specification and Development in Z and B , 2003, Lecture Notes in Computer Science.

[22]  Martin C. Henson,et al.  Investigating Z , 2000, J. Log. Comput..

[23]  C. A. R. Hoare,et al.  Prespecification in Data Refinement , 1987, Inf. Process. Lett..

[24]  Moshe Deutsch,et al.  Operation Refinement and Monotonicity in the Schema Calculus , 2003, ZB.

[25]  John Wordsworth Software development with Z - a practical approach to formal methods in software engineering , 1992, International computer science series.

[26]  Martin C. Henson,et al.  An Analysis of Total Correctness Refinement Models for Partial Relation Semantics I , 2003, Log. J. IGPL.

[27]  Ben Strulo How Firing Conditions Help Inheritance , 1995, ZUM.