Download DiaGraphica here: Windows  | Linux
Download DiaGraphica 2: Windows  | Linux

Also see this short note to learn more about the FSM input format used by DiaGraphica.

DiaGrahica is a prototype for the interactive visual analysis of multivariate state transition graphs. It was conceived to address two issues: (1) The gap between the semantics that typical users associate with attributes that describe nodes and their visual representation. (2) The size and complexity of typical transition systems.

Publications. You can find out more about our approach in:

Bridging the semantic gap: visualization of transition graphs with user-defined diagrams
A.J. Pretorius and J.J. van Wijk
IEEE Computer Graphics and Applications, vol. 27, no. 5, pp. 58-66, 2007.

State transition graphs. In computer science and engineering, state transition graphs (also called state transition systems or state spaces) are used to study computer-based systems. 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 another.

Visualization. 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 they model.

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. By enabling the user to interact with the visualization, it is also possible to analyze specific features and to answer specific questions. 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.

However, users associate precise meaning with attributes that describe nodes. Current visualization techniques do not exploit this and users have to invest a lot of time and effort to interpret and understand visualizations. DiaGraphica bridges this semantic gap. It builds on previous work, but enables the user to define custom diagrams that reflect associated semantics. In DiaGraphica we incorporate these diagrams in a number of correlated visualizations.

Running DiaGraphica. To try out DiaGraphica, download the program here: Windows | Linux. The program and a number of files needed to run it are in a single zipped archive. You can extract these files anywhere on your hard drive.

After you have extracted and started up the program, load an FSM file by choosing File > Open. Some sample FSM files were included in the zipped archive and should be located in DiaGraphica/Samples after extraction. You can now work in one of two modes: (1) edit mode (Mode > Edit mode) or (2) analysis mode (Mode > Analysis mode).

Edit mode. In edit mode the user is presented with an integrated graphical editor:

A number of utilities (a) are provided to define and edit shapes (b). Every shape has a number of geometric (c) and non-geometric (d) Degrees Of Freedom (DOFs). The user can define a range of values for these by selecting and dragging their associated handles. The user is provided with an overview of node attributes (e). Shapes are parameterized by dragging and dropping a node attribute on a DOF (f).

Analysis mode. In analysis mode user-defined diagrams are incorporated in a number of correlated visualizations:

In the cluster view (a) a clustering hierarchy, a bar tree and an arc diagram are combined to show aggregate data (a.1, a.2, a.3). Clusters can be annotated with diagrams (a.4). Icons enable the user to step through different diagrams and transitions (a.5, a.6) or to load a diagram into the simulation view (a.7). The simulation view (b) shows the current position (b.1) as well as all incoming and outgoing configurations (b.2, b.3). Actions are visualized by arrows (b.4) and the user is provided with an overview of all action labels (b.5). The user can also navigate through the transition graph (b.6). The inspection view (c) provides facilities for viewing diagrams in detail (c.1) and for temporary storage of diagrams (c.2). Diagrams can be seamlessly moved between views.

Contact. For feedback, comments or suggestions, please contact Hannes Pretorius. DiaGraphica 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 Visualization and Systems Engineering research groups. We thank the members of these groups for their input and suggestions.

Copyright 2007. A.J. Pretorius. All rights reserved.