Model of Visualization

The model of visualization is used to design the framework from which DEVise is constructed. It is also the best way to understand how DEVise functions.

Stages of Visualization

Visualization in DEVise is divided into stages, each stage supported by components responsible for the functions of that stage. The component design is essential to providing the following functionalities of DEVise:

The stages of creating a visualization are as follows:

  1. Import a file into DEVise as a textual data (TData). The schema is used to describe information about how to import the file.
  2. MappingTData into graphical Data (GData).
  3. Select a view to display the GData. Assign a visual filter to select which portion of GData are to be viewed.
  4. Arrange views in windows.
  5. Create linked axes using visual links. Or display relationships between views using cursors.


The input file is provided by the user. It is stored on disk in ASCII format. An example of an ASCII file containing sin(time) and cos(time) might look like:
# time sin cos
0.000000.2 1.000000.2 0.000000.2
0.017453.2 0.999848.2 0.017452.2
0.034906.2 0.999391.2 0.034898.2
0.052358.2 0.998630.2 0.052334.2


The schema file describes the layout of an ASCII input file. It is used to convey: name, type, and range of attributes, characters that separate the attributes in the file, and characters that should be ignored while reading the file. The attribute range information is optional. For our example file, the schema file looks like:
type Sensor ascii
comment #
whitespace ' '
attr time double hi 1000 lo 0
attr sin double hi 1 lo -1
attr cos double hi 1 lo -1

The first line names the file type: Sensor. All sensor files have data stored in the same format. More than one file type can be imported into DEVise, each having its own schema file. For example, we can also create a Stock file type to read information about stock prices, with data stored in a different format. The second line tells DEVise to ignore lines that start with '#'. The third line tells DEVise that the attributes in the file are separated by white spaces. DEVise can also read files separated by other delimiters, such as '10,20,20'. The remaining lines describe attribute names, types, and ranges.


A Textual Data (TData) is the representation used by DEVise to access files (or other types of input data). Once a file is imported into DEVise as a tdata, the user uses the tdata to create visualizations. Different types of input files are input into DEVise and treated uniformly as TData.

After selecting the file type, the user is asked to enter an alias for the tdata. The default name is the name of the input file, stripped of its path information. After entering the alias, the file is imported as TData into DEVise.


A mapping converts TData attributes into graphical data (GData) attributes. The user decides how tdata is visualize by selecting the tdata attributes that map onto the the x, y, color and shape gdata attributes. Notice that a TData can be visualized in more than one way by creating more than one mapping.

For our example, we can create the following example mappings:
x <-- time
y <-- sin

x <-- time
y <-- cos

x <-- cos
y <-- sin

Once a mapping is created, it can be used on all TData with the same file type.


The graphical data (gdata) is the graphical representation of the tdata. It consists of attributes: x, y, color, pattern, size, orientation, shape, and shape specific attributes.

Visual Filter

A visual filter defines a query over the graphical data attributes of the gdata. Our implementation supports range query over the X and Y GData attributes. Use visual filter to specify portions of GData to be viewed.


A view is used to display those gdata that fall within the range of the visual filter. Currently we have two types of views: Scatter and SortedX. The Scatter view is used to draw a scattered plot. The SortedX view implements optimizations used to reduce the time used to draw the gdata if the X attribute is sorted.


A window provides the screen real estate used by views to draw the gdata. It it also responsible for arranging views in its boundaries. Currently, DEVise supports tiled/automatic, vertical, and horizontal window layouts.

A view can be removed from a window to reduce clutter, or be moved to another window so that related views are brought together for comparison.

Windows can be duplicated, a very handy feature.


A link is used to link visual filters so that updating one synchronously updates all linked visual filters. We have implemented links for linked axes, either linked x and/or y axes. However, a link in theory can be used on any of the of the graphical attributes: x, y, color, size, pattern, orientation, and shape.


A cursor can also be used to display the X/Y boundaries of one view within another view. A cursor contains both a source view and a destination view. The source view is where the cursor fetches information about the current view X/Y axes boundaries. The boundaries of the source view are drawn as line segments in the axes of the destination view. Click in the axes area of the destination view to move the source view (by changing its visual filter) to the location clicked.
Back to DEVise home page.