In order to gain insight into data collected from networks and network simulations, we have developed an information visualization tool called DiVisa.
DiVisa is an application distributed here as free for download and use. As a courtesy, it is requested that credit be given to the High Performance Computing and Visualization Group at NIST.
DiVisa is a multi-dimensional visualization tool developed for researchers to understand the behavior of their network data. From raw data, the user can interact with the visualization in order to obtain different "points of views" and thus to extract more information from the data. Geometrical forms such as squares, ellipses or lines are associated with data and visual attributes such as position, size, shape, color, stroke are used to represent different dimensions. Indeed, the researcher can easily modify the associations between data items and visual attributes, apply mathematical functions on and between items, subset and zoom in on areas, data ranges, or times of interest, superpose curves with transparency to compare them, and animate the visualization to show time series data. Moreover, the program can read any kind of data (simulation, statistics, text or numeric, etc.), and converters have been implemented to read several data formats without need for reformatting.
click on image to enlarge
The DiVisa user interface.
This shows a snapshot from an animated visualization of a simulation of the "Abilene" network. On the left panel, the innermost nodes are the backbone routers, the next ring represents the subnet routers, and the outermost ring shows the leaf routers. On the right panel, the time series curves of the routers (one is currently selected) are displayed. On the right side, different options available: numeric data display (top); superposed time series curves (middle); and diagram view (bottom).
Click to see the movie: DiVisa_08.10.01.mpeg.
DiVisa can read ".csv" (Comma-Separated Values) files, in which the first line contains the names of the variables, and the other lines the values of the variables. For the variables values, lines can be added in any order, and values can be numerical or literal. You can add ".csv" files with the "Database Items" interface. Here is an example of a valid .csv file for DiVisa:
What To Select
Items and visual attributes
When one or more files are added, some variables (items) have to be selected in order to launch a visualization:
- Time Item: it is the item chosen to be on the "Time Axis", as the dynamic reference item. Then the visualization could be played along this axis. (It does not have to be a real time variable);
- Id Item: it is the item chosen as the elements of the visualization. One graphical element (such as an ellipse) will be attributed to each element. In the ".csv" example above, a good Id Item could be "user";
- Visual attributes items: a visualization can be launched with only both items above, but a complete visualization need other items in order to associate visual attributes to the variables. Such an item can be associated with a visual attribute from the beginning, and then changed during the visualization. There are two types of visual attributes:
- Regular attribute: directly associated with the elements graphical symbols (position with X and Y axe, size, color, stroke size, stroke color, shape);
- Link attribute: in case of linked elements (such as nodes in a network), two more visual attributes can be associated with links graphical symbols: size and color.
The properties of the files and the items have to be set correctly in order to launch the visualization, otherwise an error could be returned.
- For the items (click on the item to see its properties):
- Name: the name used in the Visualization can be changed by the user;
- Dynamic: checked if the item depends on the "time item" chosen;
- Numeric: checked if the item is numeric only, unchecked if the values of the item are text only. In this case, an values-order can be determined by the user;
- Linked item: checked if the item is associated with a link between elements. In this case, a departure-item and a arrival-item have to be selected. The departure-item gives the starting node for each link, the arrival-item gives the ending node for each link, and the item selected gives the value;
- For the files (click on the file to see its properties): in case multiple files are selected, some items can be static (ex: position of a node in a network). Thus the dynamic property of the file containing those items has to be unchecked, and a "key item" has to be selected to link this file to the main dynamic file. A "key item" is an item containing the id of the "id item" chosen in the main file.
The visualization is divided in three parts: the left main view (in the middle), the right time view (on the right), and the menu (on the left).
The Left Main View gives a view along the X and Y axe. It displays all the elements (each represented by a graphical element such as an ellipse) at a given time. Most of the visual attributes are displayed in this view, which is updated while playing.
A Legend panel is displayed on this view in order to give a summary of the associations and to display the information specific to an element while passing the mouse on.
The Right Time View gives a view along the Y and Z (Time) axe. It displays all the elements (each represented by a line) through the time (according to the time item chosen). A blue bar indicates the current time.
A Computed Curves panel is displayed on this view: the user can choose to display some computed curves. For example, the average curve displays for each time the average of the Y item values between all elements.
The associations between the items and the visual attributes are defined in the "Parameter panel" (in the menu on the left). Each visual attribute is represented and the user can select the item he wants to associate with. Stroke is unactivated by default and could be activated by checking the box next to the "Stroke" tabulation. Visual atributes of links are activated only if there is links, ie if a linked items hav been chosen in the "Database items" tabulation.
Options are available for the visual attributes:
- Displayed range: allows the user to determine a range where elements which have values in will be displayed, and others will be hidden.
- Unlink panels (for Y Axis): The Y Axis is by default the same on the left panel (X and Y) and on the right one (Y and Z). The user can unlink both those panel and select two different Y Axis for them.
- Scale (for size): gives the value corresponding to the size of the default square displayed. The scale can be changed by the user.
- Scale (for color, stroke color and links color): gives the value corresponding to the color. When passing the mouse on the colored scale, the value corresponding to the color, according to the chosen item, is displayed.
- Shape selection (for shape): two shapes are available: ellipse and square (by default, ellipses are selected). A separating value can be selected in order to give a range for both those shapes.
This panel is used to "play" the visualization. The user can:
- play the visualization by clicking on the "play" button;
- change the speed:
- with the shortcuts button: divide or multiply speed by '2';
- manually, by entering a number in the speed box (default value is '1
- navigate through the time axis using the knob;
- change the accuracy: the number of timesteps can be very high, and thus the number of points displayed too, especially in the right panel. This notably reduce the capacity of java to display objects in real time, and thus reduces the capacities of the program. The accuracy represents the number of timesteps used and displayed for the visualization. The default number is '50', and the user can change this value to increase/decrease displayed accuracy. Increase accuracy could slow down the program, depending on the number of elements and curves you have.
- The Navigation Panel: it gives a small view of the entire left view. The user can also use it to navigate through the left view.
- The Separating Lens: when more than one elements are displayed at the same position in the left view (same X and Y), passing the separating lens on them will separate them.
- Bar Diagram: to display elements as diagrams (long bars instead of ellipses or squares). More useful after using the "To Diagram" converter.