>> Download NoodleView here.
Also read this important notice.
For a summary of the input format used,
read this short note.
NoodleView is a prototype for the interactive visualization
of multivariate state transition graphs. It addresses the size and
complexity of typical transition graphs by offering interactive
attribute-based clustering. A number of other interactive features
to facilitate exploration are also provided.
We described our approach in a paper for InfoVis 2006:
Visual analysis of multivariate state transition graphs
A.J. Pretorius and J.J. van Wijk
IEEE Transactions on Visualization and Computer Graphics, vol. 12, no. 5, pp. 685-692, 2006.
What are state transition graphs?
State transition graphs (also called state transition systems or
state spaces) play an important role in Computer Science. They are
used to describe the behavior of computer-based systems whose states
evolve over time. A state transition graph consists of a number of
nodes that represent the different states that a system can be in and
a number of directed edges that represent transitions from one state to
Why visualize them?
Conceptually, state transition graphs are relatively simple structures.
However, for modern computer-based systems they tend to be quite large.
They often contain tens of thousands of nodes, or more. In the literature
this is referred to as the state-explosion problem. As a result,
their complexity increases and it becomes difficult to study the systems
One approach for studying large state transition graphs is to visualize
them. We have seen that giving a visual form to something abstract
enhances communication between users. Visualization also enables users to
get a better intuition about the systems being modeled, even if they don't
have specific questions they want to answer. By enabling the user to interact
with the visualization, it is also possible to analyze specific features and
to answer specific questions.
OK, this sounds plausible, but couldn't you have come up with a better
I used NoodleView as a codename because the arcs reminded me of noodles.
When I mentioned changing the name to
Aad Mathijssen at lunch one day, he gave me a serious dose of the evil
eye and then exclaimed: "what do you mean you're not going to call it
NoodleView!?". This was the start of a long and emotional plead and the name stuck.
How does NoodleView work?
To try out NoodleView,
download the program here (also
read this notice). The program, as well as a number of files
needed to run it, are all in a single zipped archive. You can extract these
files anywhere on your hard drive.
When you have extracted and started up NoodleView, you should see the
following (without the visualization).
To visualize a state transition graph, proceed as follows:
Load an FSM file by choosing File > Open. You can now browse to your
favorite FSM file. (Some sample FSM files were included in the
zipped archive and should be located in NoodleView/Samples after
After the file has been parsed, you have to select a number of
attributes on which to perform clustering in the check list
at the top right (a).
After a number of attributes have been selected, clustering is
performed by pressing the Cluster button at the bottom of the
After the transition graph has been clustered, you will see it
visualized in NoodleView's visualization window. At the top of this
window is the clustering hierarchy, visualized as a node-link diagram (d);
in the center is the abstracted transition graph resulting from
clustering, visualized as an arc diagram (e); and at the bottom the number
of nodes in every cluster of the clustering hierarchy is visualized as
a bar tree.
It is possible to interact with the different elements in the visualization
by left- and right-clicking with the mouse. To define focus regions, hold
down the CTRL-key while interacting with the mouse buttons and scroll-wheel.
Some of the visualization parameters can be set in the tabs on the
You can view the types associated with every attribute (b)
and the domain of every type (c). Domains can be clustered be selecting
a subset of the values at the lower right and pressing the Cluster
button at the far right.
Thank you for checking out NoodleView!
For feedback, comments or suggestions, please contact
NoodleView was developed by Hannes Pretorius and
Jack van Wijk at the
Eindhoven University of Technology.
This research was done as part of the VoLTS project,
funded by the NWO. This project
is a collaboration between the TU/e
Systems Engineering research groups.
We thank the members of these groups for their input and suggestions.
We experienced problems running our prototype on PCs
with ATI Radeon X300 Series graphics cards running
Catalyst Version 4.11. The problem was solved by
and installing the latest drivers from ATI (Catalyst Version
6.3 at the time of this posting). If you experience problems
we recommend updating your graphics drivers.