Data-Flow Oriented Visual Programming Libraries for Scientific Computing

The growing release of scientific computational software does not seem to aid the implementation of complex numerical algorithms. Released libraries lack a common standard interface with regard to for instance finite element, difference or volume discretizations. And, libraries written in standard languages such as FORTRAN or c++ need not even contain the information required for combining different libraries in a safe manner.This paper introduces a small standard interface, to adorn existing libraries with. The interface aims at the - automated - implementation of complex algorithms for numerics and visualization. First, we derive a requirement list for the interface: it must be identical for different libraries and numerical disciplines, support interpreted, compiled and visual programming, must be implemented using standard tools and languages, and adorn libraries in the absence of source code. Next, we show the benefits of its implementation in a mature (visual) programming environment [1], [2] and [3]), where it adorns both public domain and commercial libraries. The last part of this paper describes the interface itself. For an example, the implementational details are worked out.

[1]  James E. Rumbaugh,et al.  Object-Oriented Modelling and Design , 1991 .

[2]  John W. Eaton,et al.  GNU octave : a high-level interactive language for numerical computations : Octave version 2.0.17 (stable) , 1997 .

[3]  Stephen Wolfram,et al.  The Mathematica book (4th edition) , 1999 .

[4]  Arjeh M. Cohen,et al.  On the Role of OpenMath in Interactive Mathematical Documents , 2001, J. Symb. Comput..

[5]  Jean-Marc Nerson,et al.  Object-Oriented Analysis and Design , 1992, TOOLS.

[6]  Timothy A. Budd,et al.  An introduction to object-oriented programming , 1991 .

[7]  Leslie Lamport,et al.  LaTeX: User's Guide & Reference Manual , 1986 .

[8]  Alexandru Telea,et al.  A Component-Based Dataflow Framework for Simulation and Visualization , 1999, ECOOP Workshops.

[9]  Andrew C. Fowler,et al.  Mathematical Models in the Applied Sciences , 1997 .

[10]  James Martin,et al.  Object-oriented analysis and design , 1992 .

[11]  Bart Wydaeghe. Pacosuite Component Composition Based on Composition Patterns and Usage Scenarios , 2001 .

[12]  Jack Dongarra,et al.  LAPACK's user's guide , 1992 .

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

[14]  Wim Vanderperren,et al.  Visual component composition using composition patterns , 2001, Proceedings 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems. TOOLS 39.

[15]  Warren R. Smith Models for Solidification and Splashing in Laser Percussion Drilling , 2002, SIAM J. Appl. Math..

[16]  Mikhail Auguston,et al.  Iterative constructs in the visual data flow language , 1997, Proceedings. 1997 IEEE Symposium on Visual Languages (Cat. No.97TB100180).

[17]  L. Chambers Linear and Nonlinear Waves , 2000, The Mathematical Gazette.

[18]  Richard Barrett,et al.  Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods , 1994, Other Titles in Applied Mathematics.

[19]  David H. Laidlaw,et al.  The application visualization system: a computational environment for scientific visualization , 1989, IEEE Computer Graphics and Applications.

[20]  Timothy A. Budd An introduction to object-oriented programming (2nd ed.) , 1997 .

[21]  Alexandru Telea,et al.  Visualisation and simulation with object-oriented networks , 2000 .

[22]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

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

[24]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .