The Z notation: a reference manual
The Z notation: a reference manual
The way of Z: practical programming with formal methods
The way of Z: practical programming with formal methods
Alloy: a lightweight object modelling notation
ACM Transactions on Software Engineering and Methodology (TOSEM)
IEEE Software
CLPS-B - A Constraint Solver for B
TACAS '02 Proceedings of the 8th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Automated Boundary Testing from Z and B
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
Correctness by Construction: Integrating Formality into a Commercial Development Process
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
Requirements Engineering and Verification using Specification Animation
ASE '98 Proceedings of the 13th IEEE international conference on Automated software engineering
Automatic refinement checking for b
ICFEM'05 Proceedings of the 7th international conference on Formal Methods and Software Engineering
Combining CSP and b for specification and property verification
FM'05 Proceedings of the 2005 international conference on Formal Methods
Visualising larger state spaces in ProB
ZB'05 Proceedings of the 4th international conference on Formal Specification and Development in Z and B
ZB'05 Proceedings of the 4th international conference on Formal Specification and Development in Z and B
A proposal for records in event-b
FM'06 Proceedings of the 14th international conference on Formal Methods
Symmetry reduction for b by permutation flooding
B'07 Proceedings of the 7th international conference on Formal Specification and Development in B
Z2SAL - Building a Model Checker for Z
ABZ '08 Proceedings of the 1st international conference on Abstract State Machines, B and Z
A four-way framework for validating a specification
SAICSIT '10 Proceedings of the 2010 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists
Efficient approximate verification of B and Z models via symmetry markers
Annals of Mathematics and Artificial Intelligence
Specification translation of state machines from equational theories into rewrite theories
ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
Formal development of a cardiac pacemaker: from specification to code
SBMF'10 Proceedings of the 13th Brazilian conference on Formal methods: foundations and applications
A Deterministic Interpreter Simulating A Distributed real time system using VDM
ICFEM'11 Proceedings of the 13th international conference on Formal methods and software engineering
ABZ'10 Proceedings of the Second international conference on Abstract State Machines, Alloy, B and Z
Validating and animating higher-order recursive functions in b
Rigorous Methods for Software Construction and Analysis
Modelling safety properties of interactive medical systems
Proceedings of the 5th ACM SIGCHI symposium on Engineering interactive computing systems
A case study on the lightweight verification of a multi-threaded task server
Science of Computer Programming
Hi-index | 0.00 |
We present the architecture and implementation of the proz tool to validate high-level Z specifications. The tool was integrated into prob, by providing a translation of Z into B and by extending the kernel of prob to accommodate some new syntax and data types. We describe the challenge of going from the tool friendly formalism B to the more specification-oriented formalism Z, and show how many Z specifications can be systematically translated into B. We describe the extensions, such as record types and free types, that had to be added to the kernel to support a large subset of Z. As a side-effect, we provide a way to animate and model check records in prob. By incorporating proz into prob, we have inherited many of the recent extensions developed for B, such as the integration with CSP or the animation of recursive functions. Finally, we present a successful industrial application, which makes use of this fact, and where proz was able to discover several errors in Z specifications containing higher-order recursive functions.