VISTA (Visualization Tool and Analyzer)
|

|
Introduction
VISTA provides data retrieval, management, manipulation and
visualization. The philosophy is to access, manipulate and visualize
data with ease. A graphical user interface is provided for first
time and occasional users. A scripting language will be provided
for power users to automate batch production.
Data retrieval is accomplished using a two-tier client server
architecture. The data resides on a server and the bulk of the
application resides on the client. The server can serve data
locally and over the network.
Data management is accomplished using data reference. A data
reference is to the location of the data set and its characteristics.
For instance, a time series data is referred to by a server address,
filename, pathname, time window, and a time interval. Some data
references do not refer to actual data but to the set of data
references and the operations to be performed on them to construct
the data set. This provides transparency to the user. For the
user there is no difference between such virtual data sets and
the actual data sets.
Data references can be aggregated in to a Group (Figure
2). The default view on a database file is a Group. Furthermore,
one or more Groups form a Session (Figure
1). A Session can be saved and loaded from a file once created.
The initial Session is created by opening a connection to a server
and directory. The directory of database files then becomes a
Session and each file becomes a Group containing data references.
Data manipulation is done by creating virtual data references
which contain the set of data references and the operations to
be performed. The actual operations on the data are performed
when the data for the reference is requested. Math operation
such as division, multiplication, addition and subtraction are
available between data sets. Period average and moving average,
and merging are data references which are some other examples
of manipulations on data sets.
Data visualization is done by two-dimensional plots (Figure
3). Examples of such plots are time series plots and scatter
plots. Zooming in and out and paging while zooming are some of
the tools that are available. Printing is available in gif and
postscript formats. A user has control of the attributes of each
element in the graph. The user can change the text, font, size,
color and background color of the title. Most of these attributes
can be saved to a file and applied to subsequent plots. Data
can also be displayed and manipulated in tabular format (Figure 4).
A graphical user interface is used to display a group of data
references. The GUI is a view onto the application and does not
contain information about the application other than the way
the application desires to be displayed. This separation lets
support of undo/redo commands and the recording of macros which
can be replayed on different sessions.
Scripting is an efficient way of accomplishing repetitive
tasks. Scripting would use the same application as the GUI and
could use some of the GUI components.
Implementation
This application was done in Java. Java was chosen for ease
of development and wide industry support. This ensures long-term
support and multiplatform portability. Java is ideal for a client-server
architecture. One of the disadvantages of Java is efficiency
of memory and cpu resources. Just-In-Time Compilers and better
virtual machine implementations are bringing the efficiency of
Java closer to traditional languages such as C++ and Fortran.
The client side GUI is in Java and will run as-is on platforms
supporting Java. This effort was made to allow the client to
run embedded in a web browser. This will enable anyone on the
Internet with a web browser to use the latest version of the
client and manage and visualize the data in the form that they
desire. The server side is written using Java, FORTRAN and C
languages and as such will be made available and supported on
Solaris and Windows NT platforms. The database used to store
data is HEC-DSS, however all the details of database specific
access are isolated on the server side. This makes the client
unware of the actual mechanisms of data storage. Object-oriented
analysis and design techniques with an evolutionary prototype
approach was used throughout this project.
Future
The concept of client-server is new in the modeling world.
Many new concepts are being tried here for the first time. Other
than a few minor glitches work has progressed to the implementation
and distribution of the first beta version of VISTA. A second
beta version with flag editing and writing data back to the server
will be made available in the early part of June.
Some ideas for the future are :
- Improving the 2D graphics by using the latest library from
Java
- Improving the postscript printing to provide production quality
printouts
- Graph editing tools
- Scripting language for batch processing of data
- A schematic as an alternative view of a Group
- Report generation for the automatic formatted generation
of reports
- Animation facilities for easy set up of animation of time
varying data
- Online context sensitive help for the application
- Security and access control levels as fine as individual
data sets
A first beta version of VISTA was released to the Modeling
Section in April 1998. A second beta version of VISTA with more
features will be released in early June 1998. A first version
of VISTA with all the features will be released in 1999.
Goto: 1998 Annual
Report
Goto: Annual Reports
|