کد مقاله | کد نشریه | سال انتشار | مقاله انگلیسی | نسخه تمام متن |
---|---|---|---|---|
434415 | 1441722 | 2011 | 42 صفحه PDF | دانلود رایگان |
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.
Research highlights
► The use of a tactic language to formalise an elaborate refinement strategy.
► A formalisation in Z of a tactic language for refinement based on angelic choice using a formal language as meta-language.
► A general strategy for the formalisation of structural combinators.
► An approach that allows tactics to tackle different types of syntactic constructs.
► Automatic support for the application of ArcAngelC tactics.
Journal: Science of Computer Programming - Volume 76, Issue 9, 1 September 2011, Pages 792–833