Checking Z Data Refinements Using Traces Refinement

  • Authors:
  • André Didier;Adalberto Farias;Alexandre Mota

  • Affiliations:
  • Federal University of Pernambuco, Centre of Informatics, P.O.Box 7851, Cidade Universitria -- 50732-970 -- Recife -- PE -- Brazil;Federal University of Pernambuco, Centre of Informatics, P.O.Box 7851, Cidade Universitria -- 50732-970 -- Recife -- PE -- Brazil;Federal University of Pernambuco, Centre of Informatics, P.O.Box 7851, Cidade Universitria -- 50732-970 -- Recife -- PE -- Brazil

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Data refinement is useful in software development because it allows one to build more concrete specifications from abstract ones, as long as there is a mathematical relation between them. It has associated rules (proof obligations) that must be discharged; this is normally performed by interactive theorem proving systems. This work proposes an approach based on refinement checking to automatically check the Z data refinement rules. Our approach captures the relational semantics of these rules by using the functional support of CSP"M (the machine-readable version of process algebra CSP) and uses the traceability feature of CSP to find the rules that cannot be satisfied. Moreover, it is able to automatically calculate the mathematical relation between an abstract and a concrete specification, if one exists. We present our approach using an example.