Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
A Discipline of Programming
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
CRefine: Support for the Circus Refinement Calculus
SEFM '08 Proceedings of the 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods
veriT: An Open, Trustable and Efficient SMT-Solver
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
A tactic language for refinement of state-rich concurrent specifications
Science of Computer Programming
From control law diagrams to Ada via Circus
Formal Aspects of Computing
Taking our own medicine: applying the refinement calculus to state-rich refinement model checking
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
Integrating SMT-solvers in z and b tools
ABZ'10 Proceedings of the Second international conference on Abstract State Machines, Alloy, B and Z
Automatic translation from Circus to Java
FM'06 Proceedings of the 14th international conference on Formal Methods
Hi-index | 0.00 |
Circus is a formal language that combines Z and CSP, providing support for specification of both data and behavioural aspects of concurrent systems. Furthermore, Circus has an associated refinement calculus, which can be used to develop software in a precise and stepwise fashion. Each step is justified by the application of a refinement law (possibly with the discharge of proof obligations). Sometimes, the same laws can be applied in the same manner in different developments or even in different parts of a single development. A strategy to optimize this calculus is to formalise this application as a refinement tactic, which can then be used as a single transformation rule. CRefine was developed to automate the Circus refinement calculus. However, before the work presented here, it did not provide support for refinement tactics. In this paper, we present an extension to CRefine: a new module that automates the process of defining and applying refinement tactics formalised in the tactic language ArcAngel C. Finally, we illustrate the usefulness of the extension in the development of an industrial case study.