Shown below are schematic overviews of the various elements currently available in
	DAVEfunc. Each element is described in detail in Section 8, “Element references and descriptions” later in this document. The following key is used to describe the
	elements and associated attributes.
	
      
Key:
    elementname : mandatory_attributes, [optional_attributes]
            mandatory_single_sub-element
            optional_single_sub-element?                     {editorial comment}
            ( choice_1_sub-element | choice_2_sub-element )
            zero_or_more_sub-elements*     
            one_or_more_sub-elements+
            (character data) implies UNICODE text information
       The 
          DAVEfunc
         element has six possible sub-elements: 
    DAVEfunc :
        fileHeader
        variableDef+
        breakpointDef*
        griddedTableDef*
        ungriddedTableDef*
        function*
        checkData?
      DAVEfunc sub-elements:
fileHeader
            
          This mandatory element contains information about the origin and development of this model.
variableDef
            
           
	      Each DAVEfunc model must contain at least one signal path (such as
	      a constant output value). Each input, output or internal signal used by the model must
	      be specified in a separate variableDef.
	    
A signal can have only a single origin (an input block, a calculation, or a function output) but can be used (referenced) more than once as an input to one or more functions, signal calculations, and/or as a model output.
In DAVE-ML 2.0, all signals are real and scalar.
 
	      The variableDefs should appear
	      in calculation order; that is, a variableDef should not appear
	      before the definitions of variables upon which it is dependent. This is good practice
	      since doing so avoids a circular reference. If a variable depends upon the output
	      (dependentVar) of a function it can be assumed
	      that dependence has been met, since function definitions appear later in the
	      DAVEfunc element.
	    
	    
breakpointDef
            
           A DAVEfunc model can contain zero, one, or more breakpoint set
              definitions. These definitions can be shared among several gridded function tables.
              Breakpoint definitions can appear in any order. 
griddedTableDef
            
           
	      A DAVEfunc model can contain zero, one, or more gridded nonlinear
	      function table definitions. Each table must be used by multiple function definition if desired for
	      efficiency. Alternatively, some or all 
	      functions in a model can specify their tables internally
	      with an embedded griddedTableDef
	       element.
	      
	      
	      
	      
	    
A gridded function table contains dependent values, or data points, corresponding to the value of a function at the intersection of one or more breakpoint sets (one for each dimension of the table). The independent values (coordinates or breakpoint sets) are not stored within the gridded table definition but are referenced by the parent function. This allows a function table to be supported by more than one set of breakpoint values (such as left- and right-aileron deflections).
ungriddedTableDef
            
           
	      A DAVEfunc model can contain zero, one, or more ungridded nonlinear function table
	      definitions. 
	      Unlike a rectangularly gridded table, an ungridded table specifies data
	      points as individual sets of independent and dependent values. Each table must be used
	      by at least one but can be used by multiple function definitions if necessary
	      for efficiency. Alternatively, functions can retain their tables
	      internally with a ungriddedTable element without sharing the table values with other
	      functions.
	      
	    
 
	      Ungridded table values are specified as a single (unsorted) list of independent
	      variable (input) values and associated dependent variable (output) values. While the
	      list is not sorted, the order of the independent variable inputs is important and must
	      match the order given in the parent function. Thus, functions that
	      share an ungridded table definition must have the same ordering of independent variables.
	    
The method of interpolating the ungridded data is not specified.
function
            
           
	      A function ties together breakpoint
	      sets (for gridded-table nonlinear functions), function values (either internally or by
	      reference to table definitions), and the input- and output-variable signal
	      definitions, as shown in Figure 1. Functions also include provenance, or background history, of the function data
	      such as wind tunnel test or other source information.
	    
checkData
            
          This optional element contains information allowing the model to be automatically verified after implementation by the receiving party.
An example of each of these sub-elements is given below. Complete descriptions of each element in detail are found in Section 8, “Element references and descriptions”.
2011-07-12