An example of linking formal methods with case tools: a model checker for statecharts

  • Authors:
  • Nancy Day

  • Affiliations:
  • Natural Science and Engineering Research Council

  • Venue:
  • CASCON '93 Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering - Volume 1
  • Year:
  • 1993

Quantified Score

Hi-index 0.00

Visualization

Abstract

Computer-Aided Software Engineering (CASE) tools encourage users to codify the requirements for the design of a system early in the development process. They often use graphical formalisms, simulation, and prototyping to help express ideas concisely and unambiguously. Some tools provide little more than syntax checking but others can test the model for reachability of conditions, nondeterminism, or deadlock. In this paper, we present an example of how commercial CASE tools can be linked with formal methods to build more thorough forms of analysis into these tools.The CASE tool STATEMATE [12] makes use of an extended state transition notation called statecharts. We have formalized the semantics of statecharts by embedding them in the logical framework of an interactive proof-assistant system called HOL. A software interface is provided to extract a statechart directly from the STATEMATE database and translate it into a textual representation that can be directly input into the HOL system.Using HOL in combination with Voss, a binary decision diagram-based verification tool, we have developed a model checker for statecharts, which tests whether an operational specification, given by a statechart, satisfies a descriptive specification of the system requirements. The model checking procedure is a simple higher-order logic function which executes the semantics of statecharts in Voss.This paper illustrates this method through two examples to show how our model checker may be used to aid in the analysis of the requirements of a system.