Communicating sequential processes
Communicating sequential processes
Prespecification in data refinement
Information Processing Letters
The Z notation: a reference manual
The Z notation: a reference manual
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
The Object-Z specification language
The Object-Z specification language
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
Refinement in Object-Z and CSP
IFM '02 Proceedings of the Third International Conference on Integrated Formal Methods
Data Refinement: Model-Oriented Proof Methods and their Comparison
Data Refinement: Model-Oriented Proof Methods and their Comparison
Modelchecking Correctness of Refactorings - Some Experiments
Electronic Notes in Theoretical Computer Science (ENTCS)
Simulation Machines for Checking Action System Refinements
Electronic Notes in Theoretical Computer Science (ENTCS)
Using Model Checking to Automatically Find Retrieve Relations
Electronic Notes in Theoretical Computer Science (ENTCS)
Alloy as a Refactoring Checker?
Electronic Notes in Theoretical Computer Science (ENTCS)
Z2SAL - Building a Model Checker for Z
ABZ '08 Proceedings of the 1st international conference on Abstract State Machines, B and Z
A Lightweight Approach for the Semantic Validation of Model Refinements
Electronic Notes in Theoretical Computer Science (ENTCS)
Checking Z Data Refinements Using Traces Refinement
Electronic Notes in Theoretical Computer Science (ENTCS)
A virtualization-based network architecture for next generation internet
ASID'09 Proceedings of the 3rd international conference on Anti-Counterfeiting, security, and identification in communication
Issues in implementing a model checker for z
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
ABZ'10 Proceedings of the Second international conference on Abstract State Machines, Alloy, B and Z
Safety-critical Java programs from Circus models
Real-Time Systems
Hi-index | 0.00 |
In the development of critical systems, standards dictate that it is necessary to first design, construct and formally analyse abstract models of the system. Developers must then verify that the final implementation is consistent with these more abstract specifications. Z is an example of a state-based specification language. It has been shown to be effective in a variety of cases-indeed it was developed as part of a joint collaboration between Oxford University's PRG and IBM Hursley for the specification of the CICS system. However, Z's main weakness is that it does not have the necessary tool support: whilst there are associated type checkers, there is no tool for automatically verifying refinement in Z. The contribution of this paper is to show how data refinement in Z can be automatically verified using the Alloy Analyzer. The soundness and joint completeness of the simulation rules for Z have already been established: here we translate them to Alloy. We then show how data types expressed in Z can also be translated to Alloy, before presenting the assertions necessary for the Alloy Analyzer to identify the retrieve relation and hence verify refinement. We present a simple example in which the Alloy Analyzer successfully identifies the retrieve relation between two data types thereby verifying simulation and hence refinement. We conclude the paper with a discussion of the suitability of the Alloy Analyzer for such a task.