From VDM specifications to functional prototypes
Journal of Systems and Software - Special issue on applying specification, verification, and validation techniques to industrial software systems
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
Model-checking CSP-Z: strategy, tool support and industrial application
Science of Computer Programming - Specical issue on fundamental approaches to software engineering
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
More Powerful Z Data Refinement: Pushing the State of the Art in Industrial Refinement
ZUM '98 Proceedings of the 11th International Conference of Z Users on The Z Formal Specification Notation
Mechanical Abstraction of CSPZ Processes
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
On the Refinement and Simulation of Data Types and Processes
IFM '99 Proceedings of the 1st International Conference on Integrated Formal Methods
Verifying data refinements using a model checker
Formal Aspects of Computing
On using data abstractions for model checking refinements
Acta Informatica
Using the Alloy Analyzer to Verify Data Refinement in Z
Electronic Notes in Theoretical Computer Science (ENTCS)
Proving temporal properties of Z specifications using abstraction
ZB'03 Proceedings of the 3rd international conference on Formal specification and development in Z and B
Hi-index | 0.00 |
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.