5. Supporting technologies

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”.