Automating Verification of State Machines with Reactive Designs and Isabelle/UTP [article]

Simon Foster, James Baxter, Ana Cavalcanti, Alvaro Miyazawa, Jim Woodcock
2018 arXiv   pre-print
State-machine based notations are ubiquitous in the description of component systems, particularly in the robotic domain. To ensure these systems are safe and predictable, formal verification techniques are important, and can be cost-effective if they are both automated and scalable. In this paper, we present a verification approach for a diagrammatic state machine language that utilises theorem proving and a denotational semantics based on Unifying Theories of Programming (UTP). We provide the
more » ... necessary theory to underpin state machines (including induction theorems for iterative processes), mechanise an action language for states and transitions, and use these to formalise the semantics. We then describe the verification approach, which supports infinite state systems, and exemplify it with a fully automated deadlock-freedom check. The work has been mechanised in our proof tool, Isabelle/UTP, and so also illustrates the use of UTP to build practical verification tools.
arXiv:1807.08588v1 fatcat:nboohuqn3rh7dmmax7cqud4taa