DAVE-ML relies on MathML, version 2.0, to define mathematical relationships. MathML-2 is an XML grammar 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-2 home web page, found at http://www.w3.org/Math/.

MathML-2 provides a mostly 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 arctangent function which provides a continuous angle calculation by
comparing the sine and cosine components of a 2D coordinate set. DAVE-ML provides a means of
extending MathML-2 for a predefined set of functions (currently only the
*atan2* function is defined). Thus, a DAVE-ML-compliant processing tool
should recognize this extension (which is accomplished by using the MathML-2
`csymbol`

element). See Section 6.2.2, “`variableDef`

overview” for a
discussion and Example 6, “An intermediate variable with a `calculation`

element that uses a
DAVE-ML function extension to the default MathML-2 function set”.