Data refinement by calculation
Acta Informatica
Mechanized support for stepwise refinement
Proceedings of the international conference on Programming languages and system architectures
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
Blending Object-Z and Timed CSP: an introduction to TCOZ
Proceedings of the 20th international conference on Software engineering
A guide to MATLAB: for beginners and experienced users
A guide to MATLAB: for beginners and experienced users
ZUM '97 Proceedings of the 10th International Conference of Z Users on The Z Formal Specification Notation
How to Combine Z with Process Algebra
ZUM '98 Proceedings of the 11th International Conference of Z Users on The Z Formal Specification Notation
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
Using a Process Algebra to Control B Operations
IFM '99 Proceedings of the 1st International Conference on Integrated Formal Methods
ICFEM '00 Proceedings of the 3rd IEEE International Conference on Formal Engineering Methods
Refine and Gabriel: Support for Refinement and Tactics
SEFM '04 Proceedings of the Software Engineering and Formal Methods, Second International Conference
Verification of Control Systems using Circus
ICECCS '06 Proceedings of the 11th IEEE International Conference on Engineering of Complex Computer Systems
PVS#: Streamlined Tacticals for PVS
Electronic Notes in Theoretical Computer Science (ENTCS)
ArcAngelC: a Refinement Tactic Language for Circus
Electronic Notes in Theoretical Computer Science (ENTCS)
Tool Support for the Circus Refinement Calculus
ABZ '08 Proceedings of the 1st international conference on Abstract State Machines, B and Z
CRefine: Support for the Circus Refinement Calculus
SEFM '08 Proceedings of the 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods
Formal Aspects of Computing
Supporting ArcAngel in ProofPower
Electronic Notes in Theoretical Computer Science (ENTCS)
Control law diagrams in circus
FM'05 Proceedings of the 2005 international conference on Formal Methods
Implementing tactics of refinement in CRefine
SEFM'12 Proceedings of the 10th international conference on Software Engineering and Formal Methods
Hi-index | 0.01 |
Circus is a refinement language in which specifications define both data and behavioural aspects of concurrent systems using a combination of Z and CSP. Its refinement theory and calculus are distinctive, but since refinements may be long and repetitive, the practical application of this technique can be hard. Useful strategies have been identified, described, and used, and by documenting them as tactics, they can be expressed and repeatedly applied as single transformation rules. Here, we present ArcAngelC, a language for defining such tactics; we present the language, its semantics, and its application in the formalisation of an existing strategy for verification of Ada implementations of control systems specified by Simulink diagrams. We also discuss its mechanisation in a theorem prover, ProofPower-Z.