gViz logo

The gViz Project

Research Overview

Linking Simulations and Visualizations - The gViz Library




The early work on Grid-enabling IRIS Explorer identified a limitation for computational steering: the inclusion of the simulation as a module was rather restrictive.  In response, we have developed a fresh approach in which the simulation runs autonomously, and the visualization system can be attached and detached at will – as is possible in pV3.

 

The outcome is the gViz library, with two components: one part is embedded in the simulation, the other part in the visualization.  Thus the gViz library provides the middleware to glue the simulation and visualization together.  Alternatively simulations can be accessed from Web service based clients since the gViz library provides a SOAP interface.

 

A number of design goals steered the development of the library:

Usable with different simulations and different visualization systems: we have used the library in conjunction with simulations written in C and in Matlab; and with a range of visualization systems including IRIS Explorer, SCIRun, Matlab and vtk.
Allow connect and disconnect:
we are able to check-in to a simulation to review its progress, perhaps steer some parameters and check-out – as often as required.
Provide secure and authorised connections:
the library can use Globus Toolkit 3.x to provide authenticated access by specified users to running simulations; these connections can be secured using the encryption provided by Globus.
Minimize intrusion and performance loss:
it is a simple process to insert the gViz library code into a simulation (as demonstrated by our scientific collaborators); the library buffers steering commands from the client until the simulation is ready to act on the request
Support collaboration:
multiple clients can connect to a simulation, with robust handling of different producer-consumer rates
Support historical audit trail:
the library maintains an activity log which acts as an audit of a session

The gViz library has been demonstrated through the pollution application mentioned earlier, where the simulation is a finite volume code (written in C) and where a variety of visualization systems have been used as the front-end – these include IRIS Explorer, SCIRun, Matlab and vtk.  The IRIS Explorer example combines the gViz library idea with the earlier work on Grid-enabling: part of the visualization code is executed on the same remote resource as the simulation, in order to extract data of interest (basically the cells of the finite volume mesh which have concentrations above a threshold) before transmission back to the desktop.

A further demonstrator has been developed in conjunction with Professor Arun Holden (Leeds) and Dr Richard Clayton (Sheffield), for virtual tissue engineering of the heart.  The simulations here are models of propagating electrical activity in heart tissue, in the study of arrhythmia of ventricular tachycardia and fibrillation. This is modelled by a reaction diffusion PDE, where the diffusion term describes propagation of membrane voltage from one cell to its neighbours, and the reaction term describes dynamic behaviour of the voltage difference across the cell membrane. The gViz library has been incorporated into the heart model code, which is written in C. For the demonstration project, a relatively simple simulation of a spiral wave (re-entry) in a 2D tissue sheet has been used, using the 4 variable Fenton Karma model, and the spatial distribution of each of the four state variables across the finite difference grid is imaged as a colourmap. This application is rather different from the pollution case where the steering consisted of modifying the wind direction as the simulation proceeded. One important research question concerns the conditions under which spiral waves (re-entry) are initiated, and in this case many simulations are initiated and monitored as they proceed. In the majority of simulations re-entry is not initiated, and using gViz these simulations can be terminated whilst those that do initiate re-entry can be allowed to continue. When initially launched, each simulation is registered with a directory service (implemented as a web service), and the front-end visualization system looks up the directory service to select which simulations to attach to.  Figure 3 shows an example of the application with IRIS Explorer as front-end.
Computational Biology Application
Figure 3 - Computational Biology Application of the gViz Library

This demonstration has shown that remote visualisation is both possible and beneficial. It was included in posters presented at the UK Physiological Society meeting (Oxford, September 2004) and will be used in papers to be published in a forthcoming special issue of Phil Trans Royal Society on Computational Biology. Ongoing work under the umbrella of the Integrative Biology eScience project (www.integrativebiology.ox.ac.uk) will develop this application to enable visualization of 3D data with more detailed cell models.

Next: Project Review

Return to gViz Home Page



December 2004