Graphical User Interface

The Graphical Interface provides an easy way to work with the dependency graphs as well as filter, format and even export the resulting graphs for print out or PDF versions.

Loading Files

Import an XML file with dependency information for a build using File, Open XML.

After loading the Graph will be rendered in the main view in its unfiltered state, meaning that you will see all SWUs and all dependencies in the entire build. You can use the search and filter options described below to reduce the graph size as well as navigate the graph using the actions described below under the Graph View headline.

Searching

The search box at the top of the program allows you to execute two different types of searches. One search which searches for a specific SWU allowing you to display only that SWU and its direct dependencies/dependents. The second option allows you to search for a specific run block and display all SWUs belonging to that run block only as well as the dependencies between them.

Both options offer autocomplete but requires an exact match with an SWU/Run block name. In case you need a more advanced search use the filtering option with the regular expression filter documented below.

Using the Graph View

The Graph View displays a graph representation of the opened dependency XML file. Each node represents an SWU and each edge incoming or outgoing dependencies.

Edges can be colored depending on memory type by checking the Show -> Graph Edge Memory Type Coloring checkbox.

You can navigate the Graph View using your mouse.

Focus & Expand

When selecting an SWU node in the Graph View/Tree View by right-click, it can be either focused on or expanded.

Using Different Layouts

Layouts can help you visualize the graph and see patterns in dependents. Three different layout types are provided, each providing different benefits in different situations.

Bubble

The bubble graph is the default and will render the dependency graph in a ciruclar/bubble format centered around a single node. This is useful especially for larger graphs containing many nodes.

Hierarchical

The hierarchical layout will provide a tree based view showing either the node most recently focused on or searched for in the top an its dependencies on various degrees away below.

Force Layout

The force layout will run a non-deterministic force based algorithm which will attempt to keep edge distances at an equal and minimal length, at times providing more concise graphs.

Visualizing differences between two builds

The Diff View allows the user to compare two different builds by importing two XML files. The Diff View will display a union of two builds in the Graph View and the Tree View where the user will be able to distinguish between introduced, eliminated and unchanged SWUs and dependencies by text and color.

  1. Open an XML file from File, Open XML.
  2. Open another XML file from File, Open XML to Show Differences.
  3. Open the Graph View/Tree View to see the build differences.

When the second file has loaded you will be presented with a new Graph in the main window displaying all SWUs in both builds. There will also be conditional formatting available which can be used to highlight nodes that were added, removed or unchanged between the two builds. You can use these to better understand the differences in the build. If you want to start over with a fresh graph, simply use the Open XML menu to load the build anew.

Using the TreeView

The TreeView will display the dependency path ways of the currently focused nodes (or of all nodes in case the all nodes are displayed). The view is divided into three parts, Incoming, Outgoing and Both. The incoming view will show all incoming dependency paths to the current node. That means you can see all the nodes that have a dependency to the currently focused node (displayed as the root of the tree). These incoming dependencies can either be direct (first level down) or indirectly (additional levels down beyond the first). The same goes for the "Outgoing" view except this maps the dependencies that start from the focused node - ie. the first level will show direct dependencies, the second level will show dependencies of the dependencies of the node and so on. The Incoming&Outgoing tab will naturally show the combination of both.

Please note that while the Graph will display "dependents of dependencies" these do not form dependency paths, that is if node A has a dependency on node B, and node C also has a dependency on node B, there is no direct dependency/dependent relationship between node A and node C and therefore node C will not be displayed in the tree view. On the other hand if node B is dependent on C (has a dependency to) then node C would be displayed under the "outgoing tab".

Filtering actions and conditional formatting filtering (Hide=Yes) will be active also on the Tree View, as will Excluded Nodes. You can right click any node in the TreeView to select, focus, expand, contract or perform any action on that node in the graph itself.

Filtering & Conditional Formatting

It is possible to apply filters to reduce the amount of information in the graph to only focus on SWUs of interest. Filters will include or exclude SWUs that matches the filters depending on the user preference. If the user wants to highlight some of the SWUs in the current graph, conditional formattings can be applied. Conditional formattings can be used to change the color or opacity for the SWUs that included/excluded nodes. The following types of filters/conditional formattings can be created:

Note that when a node is filtered all of its incoming and outgoing edges are automatically removed as well.

To display the conditional formatting and filter dialogue box use the Show menu and ensure that Filter Menu is selected.

Creating new filters

In order to create a new filter or conditional formatting, right click anywhere inside either the list box for Conditional Formatting or Filters. From the context-menu select Create New and then select the desired filter type (see description above for more information on the available filter types).

When adding a filter to the Filter menu it will decided whether the matching SWUs should be displayed in the graph or not. If the "Include" option is used, then any matching SWU will be included in the graph and if "Exclude" option is used then any matching SWU will be excluded from the graph (and all SWUs that does not match the filter will be included).

Conditional formatting

For conditional formatting you can either specify a colour (use a colour name such as "blue"), opacity (a value between 0..255 where opacity = 0 means that the node is fully transparent and 255 that the node is fully oblique) or whether to hide nodes (set hide to "Yes").

If the "Include" option has been used for the filter the conditional formatting will be applied in case the node matches the filter, and if "Exclude" option is used then the conditional formatting will be applied for any node not matching the filter. In case multiple conditional formattings match then only the last one matching will affect the node (so in case there is

You can disable and enable individual filters by using the checkboxes next to their respective names. By default filters are disabled when you create them. After editing the relevant parameters of the filter you can enable the filter to ensure it has the desired effect on the graph.

It is also possible to color edges by checking Show, Graph Edge Memory Type Coloring.

Import / Export

Filters and conditional formattings will be cleared when exiting the application. To avoid having to create these over and over, they can be saved on disk as XML files. Go to File, Export Filters As... or Export Conditional Formattings As.... Those XML files can be imported from File, Import Filters... or Import Conditional Formattings...

In case you have any filters or conditional formattings already defined the newly loaded ones will be appended to the end of the list.

Using the online help

In case you want information about any option while using the software you can use the online help functionality. Online help is available either by clicking "What's this" from the "Help" menu or by using the keyboard shortcut Shift+F1. Once you enter online help mode you can select any component you want to get more information about. A small help text will be displayed.

Keyboard Shortcuts

File Menu

Keyboard Shortcut Action
Ctrl+O Open XML
Ctrl+D Open XML (show difference)
Ctrl+I Import Filters...
Ctrl+E Export Filters As...
Ctrl+Shift+I Import Conditional Formattings...
Ctrl+Shift+E Export Conditional Formattings As...
Ctrl+Shift+S Export Graph As...
Ctrl+P Print...
Ctrl+Q Quit

Show Menu

Keyboard Shortcut Action
Ctrl+G Graph View
Ctrl+T Tree View
Ctrl+S Search Field
Ctrl+F Filter Menu

Graph View

Keyboard Shortcut Action
D Exclude selected SWUs

Back