A graphical user interface for editing SCXML finite state machines.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 004602e Oct 5, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
extra updating jars. Jun 16, 2016
fsm-editor updating jars. Jun 16, 2016
jgraphx avoiding call to recompute size of header of cluster node when resizi… Jan 24, 2013
lib updating jars. Jun 16, 2016
LICENSE.txt added license file Oct 5, 2017
README.md Create README.md Jun 1, 2015
build.xml changed svn to git for version and fixed issue #80 Apr 27, 2016


This is an attempt to build a graphical user interface for editing SCXML finite state machines.

We are using the JGraphX library as a base and we started by modifying the graph editor application included as an example with JGraphX.

Main features:

  • edit of scxml networks
  • support for src and xi:include
  • search function using Apache Lucene
  • autolayout and possibility to save manual layout
  • export to DOT (graphviz) format
  • scxml listener that highlights and logs events as they happen during the finite state machine execution. (see https://github.com/fmorbini/scxmlgui/blob/master/extra/MySCXMLListener.java as an example of an Apache scxml listener class that sends the proper messages to the editor)

A short guide is available.

Main issues/TODOs: see the Issues tab.

  • Please consider contributing to the code when submitting an issue, as i have very limited time to work on this project and help is appreciated. Thanks!

To test: execute the latest jar (requires at least Java 1.6) https://github.com/fmorbini/scxmlgui/blob/master/extra/fsm-editor.jar

To compile: cd in the root directory (trunk) and run "ant".

Here some screenshots:

Editor window for edge properties:

edge editing

Context menu to select edit operations on a node:

node menu

The find tool in action:

find tool