DAVE-ML relies on MathML, version 2.0, as a means to describe mathematical relationships. MathML is a low-level specification for describing mathematics as a basis for machine to machine communication. It is used in DAVE-ML to describe relationships between variables and function tables and may also be used for providing high-quality typeset documentation from the DAVE-ML source files. More information is available at the MathML home web page, found at http://www.w3.org/Math/.
MathML provides a fairly complete set of mathematical functions,
including trigonometric, exponential and switching functions. One function that is available
in most programming languages and computer-aided design tools, but is missing from MathML 2,
is the two-argument arc tangent function which provides a continuous angle calculation by
comparing the sine and cosine components of a two-dimensional coordinate set. Thus DAVE-ML
provides a means to extend MathML 2 for a small predefined set of functions (currently only
the 'atan2' function is supported). Thus, a DAVE-ML compliant processing tool should
recognize this extension (which is accomplished using the valid MathML 2 'csymbol'
element). See the variable definition element
section for a discussion and an example of inserting an extension to MathML 2, the atan2
function, into a DAVE-ML calculation
element.