Abstract. This paper presents an interaction model to support collaborative scientific ... graphic display, and is implemented in Java with CORBA support for external server access. .... and special purposed dedicated helper applications 23 .
Web based Collaborative Visualization of Distributed and Parallel Simulation and Department of Computer Sciences and TICAM University of Texas, Austin, TX 78712 http://www.ticam.utexas.edu/CCV C. Bajaj
S. Cutchin
Abstract
This paper presents an interaction model to support collaborative scienti c visualization. Relevant prior work is presented to contextualize the model and its import. An implementation of the model is presented within a collaborative system that supports exible collaborative coupling of multi-user applications. Two example applications are presented to demonstrate the capabilities of the model. The implementation is Web based, fully supports multi-user interfaces, uses VRML for three dimensional graphic display, and is implemented in Java with CORBA support for external server access.
1 Introduction Scienti c visualization is the process of using computer graphics to view or explore 3D objects, natural phenomenon, or complex data[28]. It has a history of signi cant contribution to many areas in science and engineering. Collaborative scienti c visualization enhances this process by allowing remote users to interact in the visual study of these phenomena. Allowing remote users to contribute more quickly and easily their understanding and views of the phenomena to all members involved in the investigation. This increases the opportunity for all users to more rapidly and fully gain intuitive knowledge of the particular phenomena under study. Another signi cant advantage is that collaborative visualization allows for the pooling of remote computational resources, allowing more users to take advantage of a larger number of machines to aid in their investigations. The current widespread deployment of network hardware and software technologies has created an opportunity and need for new collaborative methods and techniques in the creation of middle-ware infrastructure to support sophisticated collaboration over wide area networks. In order to make collaboration useful for scienti c visualization ubiquitous collaboration awareness must be provided to visualizers. This is needed to provide them with the ability to easily, eciently, and cooperatively organize their investigations. This awareness must include both user and task awareness. Providing this awareness in a useful and clearly understandable manner is the primary problem in collaborative scienti c visualization. Due to the large size of problems investigated in the scienti c visualization community as well as the network characteristics of wide area networks it is also necessary that collaborative visualization support both synchronous and asynchronous collaboration. This motivates a requirement for user controllable exible coupling between collaborating applications. The greatest challenge to overcome in supporting collaborative visualization is arranging the shared awareness of all available resources such that it simpli es the investigators work. Both time and space boundaries must be eliminated or reduced in a simple and understandable fashion. A WAN based collaboration environment has two potentialy signi cant problems for collaboration: potentialy large numbers of users can easily create large amounts of data too di cult to easily sort and understand; the large geographic distances between users encourages them to work on dierent time schedules and makes user synchronization di cult. To overcome these limitations it is necessary to provide an interaction model that assists in the This
research is supported in part by NSF grants CCR-9732306 and KDI-DMS-9873326
1
location, identi cation and management of shared resources. In addition the underlying collaboration must support both synchronous and asynchronous work. This paper presents an interaction model for collaborative scienti c visualization. This model provides an easy to understand organization of distributed and cooperative tasks. The organization provides for a natural naming scheme and graphical display of the collaborative tasks and users. The naming scheme and display provide users with the needed collaboration awareness to eectively engage in collaborative scienti c visualization. Two example applications are presented to display the capabilites of this model. In addition the collaboration model is implemented in a system that fully supports synchronous and asynchronous collaboration over a WAN. The example applications are constructed using an Internet based collaboration toolkit called Shastra. Several new techniques for exible application coupling, object sharing, and ecient data location have been developed speci cally to support synchronous and asynchronous collaboration on a wide area network (WAN). The Shastra WAN collaborative architecture provides a highly exible infrastructure for sophisticated collaborative network computing. The Shastra collaboration architecture is an extensible, programmable, computing environment for developing, using, and experimenting with sophisticated collaborative applications that support large scale geographically dispersed collaboration amongst multiple participants and systems. An overview of important prior work is presented in Section 2. An explanation of the new interaction model is described in Section 3. The important collaboration features provided by the collaboration substrate to implement the model are presented in Section 4. In addition a description of a reusable web based visualizer with WAN support is also presented in that section. Finally an example of a collaborative vortex visualization application and a soil contaminant simulation are described in Section 5 and Section 6.
2 Prior Work The collaborative visualization work in this paper draws on past research into interactive computational steering, web based collaboration systems, collaborative synthetic environments, and collaborative visualization. Within scienti c visualization three areas need to be addressed to implement ecient visualization: computation, display, and querying. A system that supports collaborative scienti c visualization must provide collaboration awareness and ensure that the techniques used do not reduce the eciency of the methods used to resolve these three problems within a standard system. This is the challenge of collaborative scienti c visualization. A framework for collaborative modelling and simulation has been proposed by Sierhuis and Selvin[32]. Several non-general hand-built web capable collaborative visualization systems have been developed such as CEV[11], and DOVE[1]. In Wood[36] several potential scenarios for collaborative visualization are identi ed and explored. Similar work in computational steering for visualization identi es requirements for WAN based interactive collaborative visualization[27, 18]. Dynamic program steering is de ned in Vetter[35] as two tasks: monitoring program or system state(monitoring) and then enacting program changes made in response to observed state changes(steering). Interactive program steering occurs when humans directly control the steering of the program state. Steering systems use several models of monitoring, event based pro ling, and relational Instrumentation of applications is necessary to allow external programs and users to control the behavior of the computation. Many methods exist for interactive program steering, from simple scripting languages to powerful graphical interfaces. This document concerns itself with systems that allow users to control the program state through standard controls but also via direct graphical manipulation in both the problem space and solution space. Bajaj[5] has identi ed eight technologies that are most critical for collaboration. These technologies being: Shared data management, Concurrency control, Distribution, Session control, Interaction control, Coordination control, Multimedia and graphics, User interfaces. Also stated is the importance of these technologies being highly exible to support the variety of application domains that occur within collaborative systems. Flexibility and performance are identi ed as key requirements for collaborative scienti c visualization in [1]. Several projects are underway to extend the capabilities of the Web to support collaborative activity[10, 17, 23]. Proxy Server Collaboration[17], Modi ed Servers and CGI executables[10], and special purposed dedicated helper applications[23]. The Obliq[30] system developed powerful migratory Web applications and systems. Bentley, et. al[10] list several areas of necessary improvement in the current 2
implementation of the HTTP protocol. Several Internet based distributed systems have been developed to provide network computing capabilities on the internet: ATLAS[6], Charlotte[8], JPVM[21], JavaParty[34], Legion[31], and Globus[22] to list some of the more prominent ones. Collaborative Internet systems are also becoming available such as Habanero[15], Tango[9], Infosphere[16], and Knitting Factor[7], and GroupKit[29]. These systems provide dierent use various schemes for communication, resource discovery, data locaion, application coupling, oor control and session control The schemes for each are summarized in Figure 1 System
Data Resource Data Communication Discovery Location
Application Coupling
Floor Control
Session Control
Tango Habanero Groupkit KF Shastra
Connected Connected Connected Connected Event
programable Programable Fully Coupled Applicaton Multiple
Master Multiple Mutiple Application Multiple
Simple Simple Open Application Multiple
Figure 1:
Passive Passive Passive Active Active
Centralized Centralized Hybrid Replicated Hybrid
Table summarizing properties of Internet based collaboration tools
Several Internet based distributed systems have been developed to provide network computing capabilities on the internet: ATLAS[6], Charlotte[8], JPVM[21], JavaParty[34], Legion[31], and Globus[22] to list some of the more prominent ones. A prior research project developed a LAN based collaboration architecture and toolkit called Shastra. The Shastra Collaboration Architecture[2, 3, 4] de nes an extensible, programmable, computing environment for experimenting with sophisticated collaborative applications that support LAN based collaboration amongst multiple participants and systems. The architecture is composed of stream based collaboration aware network servers. Servers are classi ed into one of three categories: Fronts, which are the applications that users interact with; Session managers are specialized servers that control the interaction of Fronts; and Kernel's which act as global nameservers maintaining lists of available network resources. The architecture uses a hybrid data location scheme where network resource location information is replicated across all Kernels and session data is centrally located in Session Managers. The LAN based Shastra architecture is implemented in C++, X Windows and OpenInventor. A collection of toolkits and multimedia services have been developed to demonstrate the capabilities of the Architecture. Sample toolkits are an Interactive Surface Modeling and Analysis tookit[20], Ganith a curve and surface manipulator, and Vistool a scienti c visualization application. Multimedia services include Text, Audio, Video, and Whiteboard collaboration tools. Our collaborative visualization work has drawn on past research in collaborative synthetic environments, collaborative visualization and collaborative Internet technology. Current research into collaboration on the World Wide Web has led to the development of new enabling technologies for collaboration aware synthetic environments. Distinctions between collaboration-aware and collaboration transparent applications can be found in [5, 19]. Examples of collaborative syntethetic(virtual) environments are: DIVE[14], MASSIVE[24], SONY Virtual Society[25], and NPSNET[33].
3 Interaction Model for Collaborative Scienti c Visualization Collaborative scienti c visualization can be loosely de ned as a collection of visualization users who wish to share the results of their simulations and visualizations to aid each other in investigating scienti c phenomena. These users may be located at geographically dispersed sites using dierent computational equipment and having access to widely varing equipment, resources, and data. The common bond amongst these users is that they wish to share their resources and results to aid each other in their research. This section describes the interaction model for collaborative scienti c visualization. This model provides an easy to understand organization of distributed and cooperative tasks. The organization provides for a natural naming scheme and graphical display of the collaborative tasks and users. The naming scheme and display provide users with the needed collaboration awareness to eectively engage in collaborative scienti c visualization. The model provides a simple arrangement that allows for the rapid location, identi cation and manipulation of 3
all shared resources within the collaborative system, and provides a description of the shared state of the collaborative environment that allows users to cooperatively arrange and manipulate the shared information. The interaction model needs to implementable within a exibly coupled application to allow for the variety of interactions users engage in. The model must also provide an easy way of viewing and understanding task management within scienti c visualization applications. The creation of client/server visualization allow users the ability to access remote data, dramatically increasing system capabilities. This remote access allows for the capability to share data sets between multiple users. Shared views provided users the ability to discuss the results of visualizations. However sharing of views is of limited utility in a WAN environment due to dierent work schedules of collaborators and potentially diering time zones. To fully support collaborative scienti c visualization collaborative task management is required.
Vis
Visualize Data Selection
Iso-Contour Streamline Iso-Surface
Vis Vis
Component Control
Analysis
Analysis Control
Analysis
Analysis Interaction
Interaction Control
Control
Data Analysis
Data Adjust
Data
Data
Data Sim
Simulation Control
Sim Data Set Simulation Solution
Sim
Simulation
Loop 3
Loop 2
Loop 1
(a)
(b)
Figure 2:
A data, simulation, analysis, visualization (DSAV) loop which displays the communication ow between components of a simulation visualization project is shown in (a). (b) displays the collaborative version of the SAV loop. It depicts the multi-loop cross-loop nature of collaborative interaction.
Scienti c visualization involves a collection of data sets, a simulation system, analysis packages and visualization software. Data sets can be quite large easily involving gigabytes of information. Simulators can take long times to execute on the order of weeks. Analysis packages cull the important information from the results of simulations and data sets to provide useful information for the visualization software. Finally the visualization software displays the results of the analysis for the visualizer to view. Using most current systems often this whole process must be re-run to generate new visualization from the same data sets, although signi cant steps forward have been made in introducing more interactivity into the process. Figure 2(a) presents this traditional visualization scheme. In order to support collaborative scienti c visualization we extend this loop model of scienti c visualization into the third dimension. Figure 2(b) depicts this extension to the loop model. A single collection of data source, simulator, analysis tools, and a visualization client makes up a data-simulation-analysis-visualization(DSAV) loop. A DSAV loop is the basic unit of model organization for collaborative work. A shareable visualization session consists of at minimum a single DSAV loop. This loop may contain data sources, simulators, analysis tools, and visualizers. Every data source, simulator, analysis tool, and visualizer is associated with at least one DSAV loop. Connections between components of a DSAV loop are inter-loop connections. Connections between components of seperate DSAV loops are intra-loop connections. The visualizer tool controls the connections between loop components. Visualizers can belong to multiple loops. All other components may only belong to a single loop. Data and control may be shared between components in dierent loops. It is not necessary that all components of a DSAV loop be present. Users can selectively add and remove components from a loop. Users own the loops that they create and only the owner of a loop may add and remove component members. All data generated by a component 4
is owned by the loop the component belongs too. Users (including non-owners) may specify connections between components in dierent loops. The DSAV loop and cylinder model gives users a mental picture of the connection of distributed components and the work being done. Loops create in the users mind a notion of a common project. Connections create notions of a common task. Inter-loop connections specify those tasks that will assist in the completion of the loop project. Intra-loop connections specify those tasks that will assist in the complection of an external project from the components DSAV loop. A visual representation of the model provides users with organized collaboration awareness of other users and shared tasks. The DSAV loop and cylinder model provides developers with a framework to organized the storage of information around. It also provides hints as to what components will be used most often by various users allowing the system to make predictions as to what data will be needed in attempts to pre-fetch important information. The model also provides an easily displayable representation of user and task activity within the collaboration visualization. It can be displayed both as a 3d representation or as a hierarchy based list grouped around individual loops. Various dierent views can be selected, view of an individual loop, view of inter-loop connections, view of intra-loop connections, view of loop users. The components of a DSAV loop must each support the following general tasks and be able to store its results in permanent storage: data set speci cation of the data to work with. A data set component can either be a le system or an application that produces data either from a le system, remote site, or measurement equipment. simulators must support speci cation of the data to work on and, control parameters. analysis tools must handle results of simulators, and produce visualizble data sets. Analysis tools perform operations such as decimation, iso-surface extraction, streamline generation on simulation results. visualizers must be able to display the various results of the dierent components. Each of the components of the model are represented as a shared network resource. The underlying collaboration substrate provides automatic support for this abstraction. Every network resource is uniquely identi ed by a network work identi er. Every available resource can then be associated with a speci c DSAV loop. Each loop is created by a user as a network resource and also has a unique network wide identi er. The state of these resources is maintained by the collaboration substrate. Awareness of these resources is also made available via the substrate. Manipulation of loops is performed via a simple user interface that allows for the creation of connections, monitoring of component status, and manipulation of shared tasks. This same user interface provides users with noti cation of the modi cation of the state of a loop. A completion of a task associated with a connection will create a new result entry associated with the connection. This new interaction model has many bene ts for distributed visualization of simulations. Use of the model changes the nature of the work to the distributed manipulation of simulation, analysis and visualization tasks without regard to user location or schedule. It also provides a framework for easily distributing tasks over a larger pool of network resources, increasing the available resources in terms of both computers, software and personnel. The new model also creates an environment that supports shared task management and provides collaborative task awareness. The use of the Shastra substrate in conjunction with the model provides exible coupling to support user determined division of labor for working on simulation visualization and control. The model also enhances the ability to arrange the organization of multiple views of the same data set. Synchronous and asynchronous work is supported by the underlying collaboration substrate and the model organizes the work into such a framework that the work has meaning over the lifetime of a project without explanation of remote users. The model also supports a more loosely coupled manipulation of resources and tasks than other strictly hierarchicaly models.
4 Implementation of Model The implementation of the DSAV interaction model is built using the Shastra collaboration toolkit and a re-usable visualization module implemented as a dynamically downloadable Java applet. A special set of collaboration feature aimed at collaboration over a wide area network are particularly useful for the implementation of a web based collaboration system. 5
4.1 Collaboration Substrate
The Shastra Collaboration Architecture[2, 3, 4] de nes an extensible, programmable, computing environment for developing, using, and experimenting with sophisticated collaborative applications that support large scale geographically dispersed collaboration amongst multiple participants and systems. The architecture is connectionless, scalable, supports multi-group federation, has an adaptable data location model, supports
exible application coupling, multiple coordination strategies, dynamic downloading of executable code and is event driven. The architecture de nes a collection of specialized servers providing server speci c services which communicate using network events. The interaction of these specialized servers creates an environment capable of supporting collaborative work. A collection of specialized servers and services has been created that provide collaboration awareness, data management, and coordination control to multiple users. A pictorial representation of the architecture is given in Figure 3.
Computation Servers CORBA
Vistool Server
Vistool Server
Vortex Solver
CORBA
KERNEL
=Shastra Protocol
KERNEL
DSAV Loop Manager
KERNEL
S
CORBA
CORBA
KERNEL
S
KERNEL
Visualize Applet
S
CORBA
Web Browser
Visualize Applet
Web Server
Data Set Server
CORBA
KERNEL
S
KERNEL
Visualize Applet
Web Browser
Visualization Users
Web Browser
User Applications
CORBA
Internal Technology Tools Host
Flow Simulator
CORBA
KERNEL
Web Technology Tools
(a)
(b)
Figure 3:
The runtime architecture of the Shastra collaboration environment is depicted in (b). (a) displays the communication paths between the dierent components of the DSAV loop architecture, computation servers, user visualization interfaces and data set repositories
Java and C++ versions of the collaboration substrate are available. Three dimensional web graphicas are performed using VRML and The External Authoring Interface. The Java applications are dynamically downloadable on the y and no prior software is needed other than a standard web browser with Java and VRML support. CORBA is used for making requests of large back end computation servers where necessary, while collaboration amongst Java applets and C++ packages is managed through protocols developed within Shastra.
4.2 WAN Collaboration Features
The Shastra architecture provides several WAN speci c features that signi cantly aid the creation of Internet based collaboration tools. A shared object system that supports optomistic consistency control using the Operation Transformation technique is provided. This technique allows for shared objects to truly be simultaneously and asynchronously manipulated while maintaining consistent state. An adaptive data location algorithm is used to adjust the distribution of of shared objects over the network to improve communication and enhance overall system performance. The data location algorithm dynamically adjusts the location of objects and the transmission of information based on communication cost, network activity, and computation cost. The implementation also provides a set of `coupling' lters that provide users and programmer's with highly exible control over the components of a user interface that are shared between applications. Users may selectively adjust the sharing of any component of the user interface. Programmer's may easily create shareable widgets and easily add semantic sharing control based on manipulation of a coupling lter. 6
4.3 Collaborative Visualization Module
A modularized visualizer that supports collaborative view sharing, distributed resource access and compressed VRML display is presented. The Visualizer is a pure Java client capable of displaying VRML scenes, including compressed geometry VRML scenes and binary format VRML scenes. It supports collaborative navigation and interogation of shared scene graphs. The Visualizer can be used independently or collaboratively to view objects and scenes retrieved from Web servers, JDBC compliant databases, and the specialized Encoding Server. The Visualizer is available as a Web based Applet using the VRML External Access Interface. This allows it to execute in any Java Capable Web browser with an VRML plugin. This ensures the widest possible distribution and access of the visualizer. Currently versions running in Netscape Communicator and Microsoft Internet Explorer are available. The visualizer is also available as a standalone Java application using the Java3D VRML browser and supporting CORBA interaction. This application is available for high performance situations in which users with specialized high performance needs wish to engage in small group collaborative visualization of large scenes. The visualizer can load and display various compressed 3d formats as well as VRML models to improved system performance.
(a)
(b)
Figure 4:
(a) presents the interanal static architecture of the visualization module used by the web applications. (b) displays the organization of several visualizer's collaboratively sharing objects and scenes.
The visualizer can operate in single user or multi-user modes. In single user mode the user may retrieve objects from remote servers, or the local disk and visualize and navigate privately. In multi-user mode loaded objects are shared amongst all users who are sharing a DSAV loop. In multi-user mode users may control the degree of coupling between their visualizers. Flexible collaboration coupling is provided by the underlying Shastra collaboration substrate. Users may elect to share the scene view, object properties, and object display. Which users can control this coupling is determined by the particular type of oor control being used. This oor control is chosen by the DSAV creator. When the scene view is shared navigation of the scene is shared amongst all users. When not shared each user navigates the view independently. Object properties include color, wireframe or solid display, and can be shared or made private based on user selection and the current oor control policy. Similarly the display of selected objects can be shared or independent. Users may select which loaded shared objects all users view, or may elect to only control the display in their on view. Users may navigate the scene using standard VRML navigation controls. These include the standard Walk, Fly, and Examiner modes. When views are shared navigation by a single user causes the same navigation in all other users views. Which user controls the navigation is controlled by the
oor control policy selected at DSAV creation.
7
(a)
(b)
Figure 5:
Two screenshots of the collaborative visualizer. Picture (a) displays a snapshot of the Stanford bunny that was transmitted using incremental geometry compression. Picture (b) is the visualization of an iso-surface of potential energy interaction of two molecules from volume data.
5 Application: Collaborative Axial Vortex Flow Visualization To demonstrate the ability of the interaction model to aid multiple users interacting with large simulations a system for the visualization of the solution to axial vortex ow problems has been created. Visualization of ow elds plays an important role in computational uid dynamics (CFD). A powerful tool, visualization of ow elds makes it possible to understand physical mechanisms in complex physical systems such as turbulent uid ows. The answers to the following questions are expected from visualizing a turbulent axial vortex ow: (i) how is the turbulent kinetic energy k produced within the axial vortex ? (ii) is the production term of the turbulent kinetic energy P related to the large scale helical vortices that the axial vortex forms ? (iii) how do the helical vortices developed ? (iv) do the helical vortices move or are they stationary ? (v) if the helical vortices move, do they rotate or move axially ?
(a)
.
(b)
Figure 6:
Two visualizations of vortex ow iso-surfaces within the visualization applet. Vortex data provided by Dr. Greg Blaisdale of Purdue University 8
The collaborative vortex visualization system consists of a collection of applications. The vortex visualization application is a web based visualization applet. The visualizer acts as the users interface to the other components of the system. An analysis tool called Vistool that can be used to perform complex analysis on the results of simulations of uid ow such as iso-contouring, and mesh decimation. A uid ow solver that runs on a super-computer. The current version runs on the Intel Paragon parallel workstation with 128 nodes. The user interacts with the various components of the vortex simulation loop through the visualization applet. The visualization applet provides the user with the user-interface for creating shareable DSAV loop's. Within the visualizer the user can select and specify ow solvers and vistool servers to include within speci c DSAV loops. Multiple visualization users may interact with the same DSAV loop. A ow solver, vistool server, and data set may belong to only one DSAV loop. It may however be connected to other DSAV loops if the DSAV loop it belongs to allows this. Multiple DSAV loops may be created as needed by visualization users. Every component of the DSAV loop has a unique network id. Input and output data sets for DSAV components also have unique network id's and are associated with the DSAV loops that created them. This network id can be permanently associated with the data set if the user wants to. This supports asynchronous manipulation of shared data. Users may selectively start and stop components on the workstations that they have access to. In addition to DSAV control the visualization applet can be used to share views, collaboratively navigate those views, and share visualization properties of displayed results between multiple users. Users can designate their views as private or shared and may also designate resultant data sets as private or shared as well. The vistool analysis server may be controlled in one of two ways. The rst method allows users to specify an operation to be performed on a network data set. They then may selectively retrieve the result upon completion of the analysis. The second method allows them to specify an input server (a ow solver for example) and an output server (the visualizer). When the simulator produces a result the data is sent to the analyizer and the result is propogated to the nal server, where the data set is stored and can be manipulated. The existing vistool server supports iso-contouring, mesh decimation, and iso-surface extraction tasks. These tasks may be associated with the connections speci ed between servers. Multiple users can view these connections and resultant data sets by perusing the loop management panel which displays the state of created loops, connections, and data sets. The vortex ow solver may be controlled in the same manner as vistool, data sets with operations may be explicitly submitted and retrieved, or connections may be placed between the solver and vistool, or the visualizer with speci c operations speci ed on the connections. The ow solver takes a nite element mesh representation of a uid ow problem and produces a mesh representation with the ow values stored at the vertices of the mesh. This result may then be distributed to analysis and visualization tools.
5.1 Example Vortex Visualizations
Examples of the type of 3D visualizations we can perform at this point are shown in Figures 7 and 8. Figure 7(a) shows a time sequence of an isocontour of vorticity magnitude. The rst frame shows the initial conditions which include only a small amplitude random disturbance. As time evolves the contour becomes more distorted due to the development of the turbulence. The second frame shows the creation of helical waves which are similar to the instability waves predicted by linear theory. The last frame shows the creation of small scale 3D disturbances superimposed on the helical vortex structures. The ability to see the time evolution of the ow is important to our gaining insight into the behavior of the turbulence. Therefore, our future plans include making animations of the evolution of this complex 3D ow. The helical structures are more easily seen in the volume rendering of vorticity magnitude shown in Figure 8. With complex data sets such as this, it is helpful if the detail of the data can be reduced. One technique for accomplishing this is to consider the ow topology. Figure 7.b shows a streamline that follows the focus in the vector eld of velocity in the core of the vortex. In the gure several surrounding streamlines are also shown. This is an important ow feature to consider because it shows whether the vortex core is straight or has large distortions. Vortex meander (or large amplitude motion of the vortex core) is a limiting factor in making accurate experimental measurements of turbulent vortices, and this shows an advantage of computer simulations for this problem.
9
(a)
(b)
Figure 7:
(a) shows a time varying visualization of vortex production. (b) shows streamlines around a vortex core.
Figure 8:
Example vorticity isocontours of an axial vortex in a turbulent ow eld with volume visualization of the surrounding ow.
6 Application: 3D Soil Contaminant Visualization A second application demonstrating the utility of the DSAV loop interaction model is the visualization of hydraulic conductivity in soil simulation. The hydraulic conductivity visualization system consists of a collection of applications. The visualization application is a web based visualization applet. The visualizer acts as the users interface to the other components of the system. Vistool is also used as the analysis engine for this application. A ow solver called Parssim developed at the Universtiy of Texas Center for Subsurface Model is used to solve the ow problems describing the soil conductivity. The current version runs on multiple platforms including the IBM SP2. Figure 9 shows sample screenshots of the visualizations of the results of the simulation. The user interacts with the various components of the DSAV loop through the visualization applet. The visualization applet provides the user-interface for creating shareable DSAV loop's. Within the visualizer the user can select and specify ow solvers and vistool servers to include within speci c DSAV loops. Multiple visualization users may interact with the same DSAV loop. A ow solver, vistool server, and data set may belong to only one DSAV loop. It may however be connected to other DSAV loops if the DSAV loop it belongs to allows this. Multiple DSAV loops may be created as needed by visualization users. Every component of the DSAV loop has a unique network id. Input and output data sets for DSAV components also have unique network id's and are associated with the DSAV loops that created them. This network id can be permanently associated with the data set if the user wants to. This supports asynchronous manipulation of shared data. Users may selectively start and stop components on the workstations that they have access to. In addition to DSAV control the visualization applet can be used to share views, collaboratively navigate those views, and share visualization properties of displayed results 10
between multiple users. Users can designate their views as private or shared and may also designate resultant data sets as private or shared as well. The parssim ow solver may be controlled in a similar manner to vistool, data sets with operations may be explicitly submitted and retrieved, or connections may be placed between the solver and vistool, or the visualizer with speci c operations speci ed on the connections. Parssim takes a nite element mesh representation of a uid ow problem and produces a mesh representation with the ow values stored at the vertices of the mesh. This result may then be distributed to analysis and visualization tools.
(a)
(b)
(c)
(d)
Figure 9:
(The surface in these images are an isocontour of the hydraulic conductivity of the soil. The surface is colored according to the concentration of a contaminant (green, low; magenta, high) dissolved in the groundwater. Picture (a) presents the visualization within the web based applet. Picture (b) is a close up of the surface visualized. Pictures (c) and (d) present two more visualizations within the visualization applet. Data provided by Center of Subsurface Modeling of University of Texas at Austin.
References [1] Mark Abbott and Lalit Kumar Jain. DOVE: Distributed Objects Based Scienti c Visualization Environment. In ACM 1998 Workshop on Java for High-Performance Network Computing . ACM Press, 1998. 11
[2] V. Anupam and C. Bajaj. Collaborative Multimedia Scienti c Design in SHASTRA. IEEE Multimedia, pages 39{49, 1994. [3] V. Anupam and C. Bajaj. SHASTRA - An Architecture for Development of Collaborative Applications. International Journal of Intelligent and Cooperative Information Systems, pages 155{172, 1994. [4] V. Anupam, C. Bajaj, F. Bernardini, S. Cutchin, J. Chen, D. Schikore S. Evans, G. Xu, and P. Zhang. Scienti c Problem Solving in a Distributed and Collaborative Environment. Mathematics and Computers in Simulation, 36:433 { 542, 1994. [5] C. Bajaj. Scienti c and Multimedia Toolkits. In Paci c Graphics 95, 1995. [6] J.E. Baldeschwieler, R. D. Blumofe, and E. A. Brewer. Atlas: An infrasturcture for global computing. In Proc. of the 7th ACM SIGOPS European Workshop: Systems support for Worldwide applications, Septemeber 1996. [7] A. Baratloo, M. Karaul, H. Karl, and Z. Kedem. KnittingFactory: An Infrastructure for Distributed Web Applications. Technical Report Technical Report TR 1997-748, New York University, November 1997. [8] A. Baratloo, M. Karaul, Z. Kedem, and P. Wycko. Charlotte: metacomputing on the Web. In K. Yetongnon and S. Hariri, editors, Proceedings of the ISCA International Conference. Parallel and Distributed Computing Systems, Dijon, France, 25{27 September, 1996, volume 1, pages 2{??, Raleigh, NC, USA, 1996. International Society of Computers and Their Applications (ISCA). [9] Lukasz Beca, Gang Cheng, Georey C. Fox, Tomasz Jurga, Konrad Olszewski, Marek Podgorny, Piotr Sokolowski, Tomasz Stachowiak, and Krzysztof Walczak. Tango - a collaborative environment for the world-wide web. Technical report, Northeast Parallel Architectures Center, Syracuse University. [10] R. Bentley, T. Horstmann, K. Sikkel, and J. Trevor. Supporting Collaborative Information Sharing with the World Wide Web: The BSCW Shared Workspace System. In Proceedings of the Fifth Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, 1996. [11] Michael Boyles, Rajeev Raje, and Shiaofen Fang. CEV: Collaborative Environment for Visualization Using Java RMI. In ACM 1998 Workshop on Java for High-Performance Network Computing . ACM Press, 1998. [12] M. Brown and M. Najork. Collaborative Active Textbooks: A Web-Based Algorithm Animation System for an Electronic Classroom. Technical report, SRC, 1996. [13] Marc. H. Brown and Marc. A. Najork. Distributed Active Objects. Technical report, SRC, 1996. [14] C. Carlsson and O. Hagsand. DIVE: a Multi User Virtual Reality System. In Proceedings of IEEE 1993 Virtual Reality Annual International Symposium, VRAIS, pages 394{400, 1993. [15] Annie Chabert, Ed Grossman, Larry S. Jackson, Stephen R. Pietrowiz, and Chris Seguin. Java objectsharing in Habanero. Communications of the ACM, 41(6):69{76, June 1998. [16] K. Mani Chandy, Adam Rifkin, Paolo A.G. Sivilotti, Jacob Mandelson, Matthew Richardson, Wesley Tanaka, and Luke Weisman. A world-wide distributed system using java and the internet. In IEEE International Symposium on High Performance Distributed Computing (HPDC-5), August 1996. [17] S. Dossick and G. Kaiser. WWW Access to Legacy Client/Server Applicatons. Technical Report CUCS-003-96, Columbia University, 1996. [18] Greg Eisenhauer, Weiming Gu, Eileen Kraemer, Karsten Schwan, and John Stasko. Online Displays of Parallel Programs: Problems and Solutions. In Hamid R. Arabnia, C. Ierotheou, Ronald A. Olsson, Yi Pan, R. Pandrey, and E. G. Talbi, editors, Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications, PDPTA'97, pages 11{20, Las Vegas, NV, July 1997. 12
[19] C. Ellis, S. Gibbs, and G. Rein. Groupware: Some issues and experiences. Communications of the ACM, 34(1):38{58, 1991. [20] Susan Evans. Interactive Surface Modeling and Analysis. PhD thesis, Purdue University, August 1997. [21] A. Ferrari. JPVM - The Java Parallel Virtual Machine. http://www.cs.virginia.edu/ ajf2j/jpvm.html. [22] I. Foster and C. Kesselman. Globus: A metacomputing infrastructure toolkit. In International Journal of Supercomputer Applications (to appear), 1998. [23] T. Frivold, R. Lang, and M. Fong. Extending WWW for Synchronous Collaboration. In Proceedings of the Second World Wide Web Conference'94: Mosaic and the Web, 1994. [24] C. Greenhalgh and S. Benford. MASSIVE, A Distributed Virtual Reality System Incorporating Spatial Trading. In Proceedings of the 15th International Conference on Distributed Computing Systems, pages 27{34, 1995. ACM. [25] Yasuaki Honda, Kouichi Matsuda, Jun Rekimot, and Rodger Lea. Virtual Society: Extending the WWW to support a Multi-user Interactive Shared 3D Environment. Technical report, Sony Computer Science Laboratory Inc, 1995. http://www.csl.sony.co.jp/project/VS/index.html. [26] Yves Jean, Thomas Kindler, William Ribarsky, Weiming Gu, Gregory Eisenhauer, Karsten Schwan, and Fred Alyea. Case study: An integrated approach for steering, visualization, and analysis of atmospheric simulations. Technical Report 95-15, Georgia Institute of Technology. Graphics, Visualization and Usability Center. [27] Yves Jean, Thomas Kindler, William Ribarsky, Weiming Gu, Gregory Eisenhauer, Karsten Schwan, and Fred Alyea. Case study: An integrated approach for steering, visualization, and analysis of atmospheric simulations. Technical Report 95-15, Georgia Institute of Technology. Graphics, Visualization and Usability Center. [28] Arie Kaufman. Volume Visualization. IEEE Computer Society Press, 1991. [29] B. Kvande. The Java Collaborator Toolset, a Collaborator Platform for the Java(tm) Environment. Master's thesis, Old Dominion University, August 1996. master's thesis. [30] L. Cardelli. Obliq A Language with Distributed Scope. Technical report, DEC SRC, 1994. [31] Michael J. Lewis and Andrew Grimshaw. The core legion object model. In Proceedings of the Fifth IEEE International Symposium on High Performance Distributed Computing. IEEE Computer Society Press, August 1996. [32] Maaretn and Sierhuis. Towards a framework for collaborative modeling and simulation. In Proceedings of CSCW 96, 1996. [33] M. R. Macedonia, M. J. Zyda, D. R. Pratt, P. T. Barham, and S. Zeswitz. Npsnet: A network software architecture for large, scale virtual environments. Presence, Teleoperators and Virtual Environments, pages 265{287, 1994. [34] M. Philippsen and M. Zenger. Javaparty{transparent remote objects in java. In Proc of the ACM PPoPP Workshop on Java for Science and Engineering Computaton, June 1997. [35] J. S. Vetter. Computational Steering Annotated Bibliography. Technical Report GIT-CC-94-15, Georgia Tech, May 1997. [36] Jason D. Wood, Helen Wright, and Ken W. Brodlie. Collaborative visualization. In Roni Yagel and Hans Hagen, editors, IEEE Visualization 97, pages 253{260. IEEE, November 1997.
13