Skip to content
Matthew Zhan edited this page Sep 15, 2015 · 16 revisions

Visual Statechart

VisualSc is an editor for hierarchical statecharts developed in C++ with Qt and is based on the statechart model by David Harel. One can save and load statecharts using .SCXML and export statecharts to C++ code. The purpose of this program is to provide the user a platform to quickly create and easily manage statechart states and transitions with an editable graphics view and an organized form view. Additionally, VisualSc can port a statechart directly to code, modeling the statechart using the Qt framework with QStates.

The VisualSc Editor has two main windows: The Visual Editor and The Tree View. The Visual Editor is a graphical view of all states and transitions. The Tree View provides tools to edit everything about the statechart with the Edit Tool Bar and Attribute Table for each item.

A Little about Hierarchical State Machines

State machines are a collection of states and transitions between states. State machines possess an initial state and an optional final state. External events are represented by transitions between states where a state can have any number of in transitions and out transitions.

Hierarchical state machines introduce more depth to the traditional finite state machine. Now any state can have children states and be a state machine itself. Additionally, state machines can be set as parallel, which means that its top level children states execute concurrently.

In VisualSc, there is a default root state machine that is the highest level parent state. All states will be descendants of this state.

Contributing

Matthew Zhan and David Drell are the current contributors and authorized pullers.

Please send an email to [email protected] if you would like to participate in the project.

Clone this wiki locally