Visual Designing and Debugging of Deterministic Finite-State Machines in FSM

08/21/2020
by   Marco T. Morazán, et al.
0

This article presents a visualization tool for designing and debugging deterministic finite-state machines in FSM – a domain specific language for the automata theory classroom. Like other automata visualization tools, users can edit machines and observe their execution, given some input. Unlike other automata visualization tools, the user is not burdened nor distracted with rendering a machine as a graph. Furthermore, emphasis is placed on the design of machines and this article presents a novel design recipe for deterministic finite-state machines. In support of the design process, the visualization tool allows for each state to be associated with an invariant predicate. During machine execution, the visualization tool indicates if the proposed invariant holds or does not hold after each transition. In this manner, students can validate and debug their machines before attempting to prove partial correctness or submitting for grading. In addition, any machine edited with the visualization tool can be rendered as executable code. The interface of the visualization tool along with extended examples of its use are presented.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset