The scirun problem solving environment and computational steering software system

Since the introduction of computers, scientists and engineers have attempted to harness their power to simulate complex physical phenomena. Today, the computer is an almost universal tool used in a wide range of scientific and engineering domains. Currently, organizing, running and visualizing a new large-scale simulation still requires hours or days of a researcher's time. Time and effort required for data input, output and conversion further slows and complicates process. We present the design and application of SCIRun, a Problem Solving Environment (PSE), and a computational steering software system. SCIRun allows a scientist or engineer to interactively steer a computation, changing parameters, recomputing, and then revisualizing all within the same programming environment. The tightly integrated modular environment provided by SCIRun allows computational steering to be applied to a broad range of advanced scientific computations. This dissertation demonstrates that computational steering can be a useful tool in computational science, engineering, and medicine applications and that this utility is obtained by providing a flexible and efficient infrastructure whereby disparate computational tools can be used in a single, focused environment. Furthermore, we demonstrate that using such an environment, a scientist or engineer can rapidly investigate the solution space for iterative computational design problems. Four applications are demonstrated: Torso defibrillator modeling, Monte Carlo global illumination, a computational fluid dynamics application, and a simulation of atmospheric diffusion. These applications were selected to explore the gamut of a flexible and extensible problem solving environment.

[1]  Robert M. Keller,et al.  Data Flow Program Graphs , 1982, Computer.

[2]  B. VanVoorst,et al.  Toward visual programming languages for steering scientific computations , 1994, IEEE Computational Science and Engineering.

[3]  Arie E. Kaufman Volume visualization , 1996, CSUR.

[4]  Christopher R. Johnson,et al.  Applications of Automatic Mesh Generation and Adaptive Methods in Computational Medicine , 1995 .

[5]  Bjarne Stroustrup,et al.  The C++ programming language (2nd ed.) , 1991 .

[6]  David R. Butenhof Programming with POSIX threads , 1993 .

[7]  D. R. Haynor,et al.  Visualization Of 3-D Finite Element Model Analysis Of Defibrillation , 1991, Proceedings of the Annual International Conference of the IEEE Engineering in Medicine and Biology Society Volume 13: 1991.

[8]  Christopher R. Johnson,et al.  Nonuniform spatial mesh adaptation using a posteriori error estimates: applications to forward and inverse problems , 1994 .

[9]  Steven G. Parker,et al.  SCIRun: applying interactive computer graphics to scientific problems , 1996, SIGGRAPH '96.

[10]  Hans Hagen,et al.  Scientific Visualization: Overviews, Methodologies, and Techniques , 1997 .

[11]  Peter Shirley,et al.  Physically based lighting calculations for computer graphics , 1991 .

[12]  Tom Meyer,et al.  3D widgets for exploratory scientific visualization , 1994, UIST '94.

[13]  Karsten Schwan,et al.  Models for computational steering , 1996, Proceedings of International Conference on Configurable Distributed Systems.

[14]  Nelson L. Max,et al.  Visualizing wind velocities by advecting cloud textures , 1992, Proceedings Visualization '92.

[15]  Martin Berzins,et al.  An algorithm for ODEs from atmospheric dispersion problems , 1997 .

[16]  C R Johnson,et al.  A computer model for the study of electrical current flow in the human thorax. , 1992, Computers in biology and medicine.

[17]  Karsten Schwan,et al.  High performance computational steering of physical simulations , 1997, Proceedings 11th International Parallel Processing Symposium.

[18]  Josie Wernecke,et al.  The inventor mentor - programming object-oriented 3D graphics with Open Inventor, release 2 , 1993 .

[19]  R.S. MacLeod,et al.  Visualization of cardiac bioelectricity-a case study , 1992, Proceedings Visualization '92.

[20]  Robert S. MacLeod,et al.  Visualization blackboard-visualizing bioelectric fields , 1993, IEEE Computer Graphics and Applications.

[21]  Daniel A. Reed,et al.  Virtual Reality and Parallel Systems Performance Analysis , 1995, Computer.

[22]  N. G. Cooper Los Alamos Science Number 15: Special Issue on Stanislaw Ulam 1909 - 1984 , 1987 .

[23]  C R Johnson,et al.  Computational and numerical methods for bioelectric field problems. , 1997, Critical reviews in biomedical engineering.

[24]  William Ribarsky,et al.  Object-oriented, dataflow visualization system-a paradigm shift? , 1992, Proceedings Visualization '92.

[25]  James Arthur Kohl,et al.  CUMULVS: Collaborative Infrastructure for Developing Distributed Simulations , 1997, PPSC.

[26]  Jack Dongarra,et al.  Performance of LAPACK: a portable library of numerical linear algebra routines , 1992, Proc. IEEE.

[27]  David M. Beazley,et al.  Controlling the data glut in large-scale molecular-dynamics simulations , 1997 .

[28]  A. Lumsdaine,et al.  A Sparse Matrix Library in C + + for High PerformanceArchitectures , 1994 .

[29]  Jan G. Verwer,et al.  Gauss-Seidel Iteration for Stiff ODES from Chemical Kinetics , 1994, SIAM J. Sci. Comput..

[30]  Jarke J. van Wijk,et al.  CSE: a modular architecture for computational steering , 1996 .

[31]  Steven G. Parker,et al.  A computational steering model applied to problems in medicine , 1994, Proceedings of Supercomputing '94.

[32]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[33]  D. F. Watson Computing the n-Dimensional Delaunay Tesselation with Application to Voronoi Polytopes , 1981, Comput. J..

[34]  C.R. Johnson,et al.  SCIRun: A Scientific Programming Environment for Computational Steering , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[35]  Christopher R. Johnson,et al.  Computer Simulations Reveal Complexity of Electrical Activity in the Human Thorax , 1992 .

[36]  S Arridge,et al.  Optical tomography using the SCIRun problem solving environment: Preliminary results for three-dimensional geometries and parallel processing. , 1999, Optics express.

[37]  Karsten Schwan,et al.  Falcon: on-line monitoring and steering of large-scale parallel programs , 1995, Proceedings Frontiers '95. The Fifth Symposium on the Frontiers of Massively Parallel Computation.

[38]  James R. Rice,et al.  From Scientific Software Libraries to Problem Solving Environments John R. Rice , 1996 .

[39]  Michelle Miller,et al.  Simulation Steering with SCIRun in a Distributed Memory Environment , 1998 .

[40]  T. DeRose,et al.  A coordinate-free approach to geometric programming , 1989 .

[41]  John Stuart Lakos,et al.  Large-Scale C++ Software Design , 1996 .

[42]  Dennis Gannon,et al.  Programming with the HPC++ Parallel Standard Template Library , 1997, PPSC.

[43]  Don Tucker The Scirun Inverse Eeg Pipeline | a Modeling and Simulation System for Cortical Mapping and Source Localization , 1998 .

[44]  Michelle Miller,et al.  An integrated problem solving environment: the SCIRun computational steering system , 1998, Proceedings of the Thirty-First Hawaii International Conference on System Sciences.

[45]  James Arthur Kohl,et al.  Cumulvs: Providing Fault Toler. Ance, Visualization, and Steer Ing of Parallel Applications , 1996, Int. J. High Perform. Comput. Appl..

[46]  John K. Ousterhout,et al.  Tcl and the Tk Toolkit , 1994 .

[47]  Robert S. MacLeod,et al.  Computational medicine: bioelectric field problems , 1993, Computer.

[48]  John Kenneth Salisbury,et al.  Haptic rendering: programming touch interaction with virtual objects , 1995, I3D '95.

[49]  Nigel P. Weatherill,et al.  Efficient three-dimensional grid generation using the Delaunay triangulation , 1992 .

[50]  David M. Beazley,et al.  Computational steering. Software systems and strategies , 1997 .

[51]  J V Albertos,et al.  The automatic implantable cardioverter defibrillator. , 1988, Pacing and clinical electrophysiology : PACE.

[52]  W. Hibbard,et al.  Interactivity is the key , 1989, VVS '89.

[53]  Michelle Miller,et al.  Simulation steering with SCIRun in a distributed environment , 1998, Proceedings. The Seventh International Symposium on High Performance Distributed Computing (Cat. No.98TB100244).

[54]  James T. Kajiya,et al.  The rendering equation , 1998 .

[55]  Martin Berzins,et al.  On the use of adaptive gridding methods for modelling chemical transport from multi-scale sources , 1997 .

[56]  Daniel C. Robbins,et al.  Three-dimensional widgets , 1992, I3D '92.

[57]  B B Lerman,et al.  Relation between transcardiac and transthoracic current during defibrillation in humans. , 1990, Circulation research.

[58]  Carla S. Williams,et al.  The state of the art of visual languages for visualization , 1992, Proceedings Visualization '92.

[59]  Jeffrey S. Vetter Computational steering annotated bibliography , 1997, SIGP.

[60]  Bil Lewis,et al.  Threads Primer: A Guide to Multithreaded Programming , 1995 .

[61]  Donald P. Greenberg,et al.  The hemi-cube: a radiosity solution for complex environments , 1985, SIGGRAPH.

[62]  Delores M. Etter,et al.  Structured FORTRAN 77 for engineers and scientists , 1983 .

[63]  Han-Wei Shen,et al.  Semi-Automatic Image Segmentation: A Bimodal Thresholding Approach , 1994 .

[64]  Martin Berzins,et al.  SCIRun: Application to Atmospheric Dispersion Problems Using Unstructured Meshes , 2001 .

[65]  John R. Rice,et al.  Solving elliptic problems using ELLPACK , 1985, Springer series in computational mathematics.

[66]  John Rohlf,et al.  IRIS performer: a high performance multiprocessing toolkit for real-time 3D graphics , 1994, SIGGRAPH.

[67]  Yarden Livnat,et al.  An Automatic Adaptive Refinement and Derefinement Method for 3D Elliptic Problems , 1994 .

[68]  Sudhanshu Kumar Semwal,et al.  Volume rendering of flow-visualization point data , 1991, Proceeding Visualization '91.

[69]  William Schroeder,et al.  The Visualization Toolkit: An Object-Oriented Approach to 3-D Graphics , 1997 .

[70]  Richard W. Hamming,et al.  Numerical methods for scientists and engineers (2nd ed.) , 1986 .

[71]  Martin Berzins,et al.  A 3D UNSTRUCTURED MESH ADAPTATION ALGORITHM FOR TIME-DEPENDENT SHOCK-DOMINATED PROBLEMS , 1997 .

[72]  Gregory M. Nielson Theme Issue Introduction: Challenges in Visualization Research , 1996, IEEE Trans. Vis. Comput. Graph..

[73]  M E Shenton,et al.  P300 topographic asymmetries are present in unmedicated schizophrenics. , 1993, Electroencephalography and clinical neurophysiology.

[74]  Karsten Schwan,et al.  Progress: A Toolkit for Interactive Program Steering , 1995, ICPP.

[75]  Martin Berzins,et al.  Multi-scale Atmospheric Dispersion Modelling by Use of Adaptive Gridding Techniques , 1998 .

[76]  M. Mirowski,et al.  The automatic implantable cardioverter-defibrillator: an overview. , 1985, Journal of the American College of Cardiology.

[77]  James Arvo,et al.  A framework for realistic image synthesis , 1997, SIGGRAPH.

[78]  Karsten Schwan,et al.  Case study: an integrated approach for steering, visualization, and analysis of atmospheric simulations , 1995, Proceedings Visualization '95.

[79]  Robert E. Marshall,et al.  Visualization methods and simulation steering for a 3D turbulence model of Lake Erie , 1990, I3D '90.

[80]  Brian Cabral,et al.  Imaging vector fields using line integral convolution , 1993, SIGGRAPH.

[81]  Eric J. Golin,et al.  Fine-grain visualization algorithms in dataflow environments , 1993, Proceedings Visualization '93.

[82]  Roy Hall,et al.  Illumination and Color in Computer Generated Imagery , 1988, Monographs in Visual Communication.

[83]  J. D. Brunner,et al.  VASE: the visualization and application steering environment , 1993, Supercomputing '93.

[84]  William E. Lorensen,et al.  Marching cubes: A high resolution 3D surface construction algorithm , 1987, SIGGRAPH.

[85]  Robert S. MacLeod,et al.  Visualization tools for computational electrocardiology (Proceedings Only) , 1992, Other Conferences.

[86]  Donald P. Greenberg,et al.  A multiscale model of adaptation and spatial vision for realistic image display , 1998, SIGGRAPH.

[87]  R.S. MacLeod,et al.  Computer Models For Calculating Transthoracic Current Flow , 1991, Proceedings of the Annual International Conference of the IEEE Engineering in Medicine and Biology Society Volume 13: 1991.

[88]  Christopher R. Johnson,et al.  The SCIRun Computational Steering Software System , 1997, SciTools.

[89]  Karsten Schwan,et al.  An annotated bibliography of interactive program steering , 1994, SIGP.

[90]  G. T. Q. Hoare,et al.  Stanisław Ulam 1909-1984 , 1999, Mathematical Gazette.

[91]  Michitaka Hirose,et al.  Multisensory data sensualization based on human perception , 1996, Proceedings of the IEEE 1996 Virtual Reality Annual International Symposium.

[92]  Richard A. Robb,et al.  Visualization in biomedical computing , 1999, Parallel Comput..

[93]  Han-Wei Shen,et al.  A Near Optimal Isosurface Extraction Algorithm Using the Span Space , 1996, IEEE Trans. Vis. Comput. Graph..

[94]  Evgenia Smirni,et al.  The next frontier: interactive and closed loop performance steering , 1996, 1996 Proceedings ICPP Workshop on Challenges for Parallel Processing.

[95]  M. Levoy,et al.  Fast volume rendering using a shear-warp factorization of the viewing transformation , 1994, SIGGRAPH.

[96]  G. David Kerlick,et al.  Towards interactive steering, visualization and animation of unsteady finite element simulations , 1993, Proceedings Visualization '93.

[97]  Richard P. Hopkins,et al.  Data-Driven and Demand-Driven Computer Architecture , 1982, CSUR.

[98]  Raj Srinivasan,et al.  XDR: External Data Representation Standard , 1995, RFC.

[99]  F. P. Brooks,et al.  Grasping reality through illusion—interactive graphics serving science , 1988, CHI '88.

[100]  Steven G. Parker,et al.  Applications in Computational Medicine using SCIRun: A Computational Steering Programming Environment , 1995 .