Presentations
Schedule of Events
|
|
Using MathML to Describe Numerical Computations
Jian Li and G. Scott Lett
Physiome Sciences, Inc.
Abstract
MathML content markup has tags with clear semantics for representing
basic operators and functions. These are nearly sufficient to mark up algorithms
for numerical computations that are usually programmed with imperative
languages. The advantages of using MathML content markup to mark up algorithms
are the following.
-
Algorithms can be described in a programming language-neutral way, so that
code for different imperative languages can be generated from the same
MathML content representation.
-
MathML content markup provides unique semantics for both content and presentation.
Thus, software can be created to render presentation and generate code
for numerical computation. This "what-you-see-is-what-you-compute" solution
helps avoid problems associated with synchronizing the presentation of
an algorithm and its implementation.
We present a Java application for solving initial-value problems, using
MathML content markup to represent ordinary differential equations. Users
can visually create, edit, and debug ODE equations in a WYSIWYG environment.
The application generates software objects from the equations, which a
compute server uses to approximate their solution. Using extensions of
MathML, the software permits users to define their own algorithms and data
structures to provide a flexible computing environment. The application
can export the software objects as source code in languages such as C++,
Fortran, and Matlab.
|