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 CSPM (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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call