Visualization Infrastructure (10 Pages)

Visualization Infrastructure (10 pages)

Look at the book (Scientific Visualization, Advanced Software techniques – pg 6-7) and formulate my project in terms of Figure 1.1.2 and Figure 1.1.3)

Visualization Architecture

Discuss the architectural model of this BDD visualization system - Scalar Mapping Technique introduced by VisAD.

Scalar Mapping technique allows developer to quickly experiment with various data - visual mappings.

Model View Control Architecture of the system depicts how the data, view and computation modules interact.

Visualization Data Structures

Data Management (Read Animation and Scientific Visualization, Tools and application Chapter 9, page 141)

Design and Storage issues of Visualization Data

Algorithmic Computational Steering and Visualization Data

Representation of Temporal Data

User Interface Design

Data Exploration - allows a user rapid and efficient access to any part of his/her data.

Guide the execution of algorithms. (E.g. - sufficient interface to SIS)

Guide the visualization process. (E.g. - allows user to easily specify arbitrary data - visual mappings)

System Integration Architecture

Computational Steering and Data Acquisition Techniques

Visualization Architecture


(Model View Control architecture)

Figure XXX illustrates the architectural model of our BDD visualization system. The model which can be summarized as a set of visualization operators acting on a shared data-space, is adapted from [PAL93]. The BDD package provides the initial raw data as well as subsequent updates of the data set as the algorithm progresses. The user interface creates visualization operators that will operate on the visualization data set. Each visualization operator is an independent entity, and visualization operators communicate using shared variables in the visualization data set. Consequently, the user interface controls the execution pattern of the BDD package (and its algorithms) through this same mechanism. More details on implementation issues will be provided in the following sections. (RMI stuff etc)

The user interface will create new visualization operators which will

A brief description of the various components of the system as well as their interaction mechanisms will be described as below:

BDD Package: The SIS package [SIS92] provides the main environment for this component of the system. SIS is a XXX (get a one-line summary of sis). We have decided to use cudd [XXX] as the BDD package in our system because it is the current state-of-the-art. Furthermore there are a lot of built in functions in cudd package to facilitate the extraction of potentially useful statistical data.

Visualization Data Set: This component provides the mechanism for storing and manipulating the data set. Data will managed differently depending on the magnitude and complexity of the data processing steps. For more details on data management issues, please refer to Section XXX. The component also represents the various visualization and control variables, which determine how the system obtains its various data and how the data are eventually visualized.

Scalar Mappings: This section of the flow diagram represents the VisAD [HDB92] visualization system. We have decided to use VisAD as our core visualization tool in this system because of the scalar-mapping model of its architecture. This architecture which is reviewed in Section XXX is particularly suitable for our purpose of providing the end-users of the system an easy mean to experiment with various data-display mapping functions (see Section XXX). The system does provide a set of predefined mapping functions si (s) that provides different views of the BDD data set, but ultimately the end user is able to specify arbitrary data types to display types mappings using the system’s user interface.

View(s): Most of the data interpolation, curve smoothing and fitting, data object generation, image rendering processes of the system is performed internally by the VisAD system, and will not be discussed in this report. We need only to specify the appropriate mapping functions s’s, and supply the appropriate data for the visualization system to produce the respective views.

User Interface: This component allows an end-user to control the various components of the visualization system. It will be discussed in more details in following sections.

Visualization Data Structures and Data Management Issues

Today, BDD representations of real world circuits routinely consist of millions of vertices. The main reason a BDD is effective is its efficient memory usage as describe in Section XXX. Much of the information circuit information is stored in the structure of its DAG. In order to visualize a data set, we need to append visualization data to the original data. For example, in order to produce a graph drawing of a DAG, we need to store the screen coordinate, vertex sizes, color, shape, edge routes etc along with the connectivity information on the DAG. This is not a possibility due to the size of most of the BDDs generated in today’s application. One way to solve this problem is to provide effective abstractions, which will reveal relevant characteristics of the data set using a much smaller data set. However, these abstractions have to be generated from some form of raw data and we need to architect the system to store data at an appropriate level of abstraction. These data have to be chosen such that the end user can use them to quickly generate various visualizations, which may require other forms of data at both lower and higher levels of abstractions.

(Design & describe some form of visualization data structure – extension of what’s currently implemented, which will satisfy the quality mentioned above)

(Draw a diagram of the data-structure too)

In order to support runtime modifications of algorithms, the visualization data set have to be designed such that it is aware of the execution state of the algorithms. For this purpose, control variables are part of the visualization data model. The various visualization operators will query and adjust the control variables to achieve this purpose, for instance during the execution of a sifting algorithm, a user (through the user-interface) can stop the execution temporarily and then assign a specific variable ordering to the BDD. A visualization operator from the user interface block in Figure XXX will be set the corresponding control environment. This control variable will then activate another visualization operator (from the BDD package) which will then notify the BDD package to stop the current execution of the sifting algorithm, apply the user defined variable ordering to the BDD and then update the shared data space of the new BDD accordingly. This design allows the construction of self-contained visualization operators that operate and query the shared data space without any knowledge of the presence of other visualization operators. The only important parameter for a visualization operator is the current state of the shared data space.