Skip to content

DSM2 Vista A visualization tool for time series and dss files

Nicky Sandhu edited this page Mar 28, 2016 · 1 revision

VISTA

A VISualization Tool and Analyzer.

Introduction

The purpose of Vista is to provide data retrieval, management,manipulation and visualization. The overall philosophy is to give a tool 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.

Details

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 both locally and over the network.

Data management is accomplished using the concept of data reference. A data reference is the reference 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 refer 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 The default view on a database file is a Group. Furthermore, one or more Groups form a Session. A Session can be saved and loaded from a file once created. The initial Session is created by opening a connection to some 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 on them. The actual operations on the data are performed only 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 via two dimensional plots. 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 currently available. Printing is available in gif and postscript format. User has complete control of the attributes of each element in the graph. For instance 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.

A graphical user interface is used to display a group of data references. The GUI is a view onto the application and contains no information about the application other than the way the application desires to be displayed. This separation enables support of undo/redo commands and the recording of macros which can then be replayed on different sessions.

Scripting is an efficient way of accomplishing repetitive tasks. Scripting will use the same application as the GUI and could use some of the GUI components as well.

Implementation

The implementation of this application was done in Java. Java was chosen for ease of development and wide industry support. This ensures long-term support and multi-platform portability. Furthermore Java is a network-aware language and is ideal for a client-server architecture. One of the main disadvantages of Java is efficiency of memory and cpu resources.

The client side GUI is implemented in Java and will run as-is on platforms supporting Java. This effort was especially 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 only 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 along with an evolutionary prototype approach was used throughout the lifetime of this project.

Future

Some of ideas being worked upon for the future are : 1. Improving the 2D graphics by using the latest library from Java 1. Improving the postscript printing to provide production quality printouts 1. Implement graph editing tools 1. Scripting language for batch processing of data 1. Implement a schematic as an alternative view of a Group 1. Report generation for the automatic formatted generation of reports 1. Animation facilities for easy set up of animation of time varying data. 1. Online context sensitive help for the application 1. Implementation of security and access control levels as fine as individual data sets.