Abstract
We present an approach for verifying Statecharts including infinite data spaces. We devise a technique for checking that a formula of the universal fragment of CTL is satisfied by a specification written as a Statechart. The approach is based on a property-preserving abstraction technique that additionally preserves structure. It is prototypically implemented in a logic-based framework using a theorem prover and a model checker. This paper reports on the following results. (1) We present a proof infra-structure for Statecharts in the theorem prover Isabelle/HOL, which constitutes a basis for defining a mechanised data abstraction process. The formalisation is based on Hierar-chical Automata (HA) which allow a structural decomposition of Statecharts into Sequential Automata. (2) Based on this theory we introduce a data abstraction technique, which can be used to abstract the data space of a HA for a given abstraction function. The technique is based on constructing over-approximations. It is structure-preserving and is designed in a compositional way. (3) For reasons of practicability, we finally present two tactics supporting the abstraction that we have implemented in Isabelle/HOL. To make proofs more efficient, these tactics use the model checker SMV checking abstract models automatically.
Highlights
The Statecharts formalism [1] combines a state based automata formalism with intuitive behaviour and hierarchical and parallel state composition
(1) We present a proof infra-structure for Statecharts in the theorem prover Isabelle/HOL, which constitutes a basis for defining a mechanised data abstraction process
The formalisation is based on Hierarchical Automata (HA) which allow a structural decomposition of Statecharts into Sequential Automata
Summary
The Statecharts formalism [1] combines a state based automata formalism with intuitive behaviour and hierarchical and parallel state composition. In 2000, for example, Issa Traore presented a formalisation for UML Statecharts that was expressed in the input language of PVS [16] He documents in his work how UML Statecharts can be verified using a model checker available in PVS. The main difference to our work is that they abstract and refine the interfaces of the state machines only, which does not work for Statemate-Statecharts Further they use a “don’t-know” value for data variables, which changes the semantics of UML state machines slightly. He proposes in his work a semantics for Statecharts based on Extended HA [5] and uses this as a basis for model checking He defines and implements one translation to the input language of the www.ijacsa.thesai.org.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have