AttriGraph is a prototype for the visual analysis of multivariate graphs. In particular, it was developed to assist with the analysis of state transition graphs.

We described our approach in an article for EuroVis 2008:

Visual inspection of multivariate graphs
A.J. Pretorius and J.J. van Wijk
To appear in Computer Grahics Forum (Proc. Eurographics/IEEE EuroVis), pp. 967-974, 2008.

Getting started

>> Download AttriGraph [ Windows | Linux ] <<

Also see this short note to learn more about the FSM input format used by AttriGraph. The mCRL2 Toolset provides functionality for converting to this format. For more information about this please see:

To use AttriGraph, follow these steps:

  1. Load an FSM file by choosing 'File' > 'Open'.
  2. On the left a list of node attributes (or state variables) is displayed. Select a subset of these and click on 'VISUALIZE'.
  3. You will see two visualizations toward the right and bottom.


When you select a subset of node attributes and click on 'VISUALIZE' AttriGraph clusters the nodes in your data as follows:

  1. The entire set of nodes is partitioned based on the values assumed by the first attribute. This results in a number of clusters.
  2. Every one of these clusters is then partitioned based on the values assumed by the second attribute. This results in a number of child clusters. By reapplying this reasoning a new layer of clusters is computed for every attribute selected by the user. Every cluster on a successive layer (except the first) has a 'child-of' relationships with one higher level cluster. (This is because on successive layers clusters are split into clusters that contain disjoint subsets of the nodes of its parent cluster.)
  3. AttriGraph represents the number of values inside every cluster by the length of a horizontal bar.

Detail view

The result of the clustering are shown as two clustering hierarchies at the left and right of the detail view. (The same hierarchy is shown twice.) In the center of the visualization there is a list of all edge labels (or action labels) in the graph. This visualization is interpreted from left to right:

  1. A line that connects a leaf cluster on the left with an edge label means that there is at least one node in this cluster with an outgoing edge of this type.
  2. A line that connects an edge label with a leaf cluster at the right means that there is at least one node in this cluster with an incoming edge of this type.


It is possible to use the clustering results to learn more about the relationship between the clusters and edge labels:

  1. Move your mouse over the clusters to see which actions are possible from and to different clusters. Alternatively, move your mouse over the action labels to see from which clusters they are possible and to which clusters they lead.
  2. Once you have identified a cluster or action label of interest, you can select it by clicking on it. All visualizations are updated to reflect this selection.
  3. You can refine your current selection by clicking on a cluster or action label that is already selected. (This will select the intersection of your previous two selections.)
  4. You can add to your current selection by holding in the ALT key.
  5. You can also remove clusters or actions from your current selection by holding in the CTRL key.

Consider the following example. Suppose we have the clustering shown in the following figure:

  1. We now select one cluster on the left.
  2. Consequently, all edge labels that are possible from nodes inside this cluster are highlighted.
  3. At the right we also see all clusters containing nodes that can be reached from our initial selection.

Note: the proportion of individual nodes and edges that result from such a selection is encoded by a brightly colored bar. For example, we can see that of the edge labels that are selected, relatively few of the total number of edges of these types are selected. (The bright red bar is only a small fraction of the total number of edges encoded by the pink bar.) Also approximately a quarter of the individual nodes inside the cluster at the top right have been selected. (The bright red bar is approximately 1/4th of the length of the pink bar that encodes all nodes inside the cluster.)

Context view

In the cluster view, the leaf clusters and action labels are repeated a number of times (you can adjust this). This provides information on:

  1. The clusters and action labels from which your current selection can be reached ("looking backward").
  2. The clusters and action labels that can be reached from your current selection ("looking forward").

Tip: you can also use the context view to refine your selection.


For feedback, comments or suggestions, please contact Hannes Pretorius. AttriGraph 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 (c) 2007, A. Johannes Pretorius, TU/e, All rights reserved.