Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
Statecharts: A visual formalism for complex systems
Science of Computer Programming
Communications of the ACM
Fundamentals of software engineering
Fundamentals of software engineering
Introduction to HOL: a theorem proving environment for higher order logic
Introduction to HOL: a theorem proving environment for higher order logic
What is in a Step: On the Semantics of Statecharts
TACS '91 Proceedings of the International Conference on Theoretical Aspects of Computer Software
A Mathematically Precise Two-Level Formal Hardware Verification Methodology*
A Mathematically Precise Two-Level Formal Hardware Verification Methodology*
Hi-index | 0.00 |
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.