Schematic overview of DAVEfunc

Shown below are schematic overviews of the various elements currently available in DAVEfunc. Each element is described in detail in the appendix. The following key is used to describe the elements and associated attributes.

Key:
	elementname : mandatory_attributes, [optional_attributes]
            mandatory_single_subelement
	    optional_single_subelement?
            zero_or_more_subelements*     
	    one_or_more_subelements+
	    (character data) implies Unicode text information
      

The fileHeader element contains information about the source of the data contained within the DAVEfunc major element, including the author, creation date, description, reference information, and a modification history.

    fileHeader :
	author : name, org, [xns, email]
	    address? :	
	        (address character data)
	fileCreationDate : date
	fileVersion? : 
            (version identification character data)
	description? :
	    (description character data)
        reference* : refID, author, title, date, [accession, href]
        modificationRecord* : modID, [refID]
	    author : name, org, [xns, email]
		address? :
		    (address character data)
	    description? :
                (descriptive character data)
            extraDocRef? : refID
        

fileHeader sub-elements:

author

Name, organization, and optional XNS ID and mailing address of the author

fileCreationDate

Creation date of this file. See the "Additional DAVE-ML conventions" section later in this document for the recommended format.

fileVersion

A string that indicates the version of the document. No convention is reached, but this could include an automated revision number from configuration control processes.

description

Optional but recommended text description: what does this DAVE-ML file represent?

reference

A list of zero or more references with a document-unique ID (must begin with alpha character), author, title, date, and optional accession and URL of the reference.

modificationRecord

An optional list of modifications with optional reference pointers, as well as author information and descriptions for each modification record. These modifications are referred to by individual function tables and/or data points, using the AIAA modification letter convention. If more than one document is associated with the modification, multiple subelement extraDocRefs may be used in place of the modificationRecord 's refID attribute.

The variableDef element contains a definition of a constant, parameter, signal, or variable used within or generated by the defined subsystem model. It contains attributes with the variable name, an XML-unique varID identifier, the units of measure of the variable, and optional axis system, sign convention, alias, and symbol information. Optional sub-elements include a description and a mathematical description, in MathML 2 markup, of the calculations needed to derive the variable from other variables or function table outputs. A final optional subelement, isOutput, serves to indicate an intermediate calculation that should be brought out to the rest of the simulation.

There must be a single variableDef for each and every input, output or intermediate signal within the DAVEfunc model.

    variableDef+ : name, varID, units, [axisSystem, sign, alias, symbol]
	description? :
            (description character data)
	calculation? :
	    math (defined in mathML2.0 DTD) :
	isOutput? :
          

variableDef attributes:

name

A UNICODE name for the table (may be same as gtID.

varID

An XML-legal name that is unique within the file

units

The units-of-measure for the signal.

axsiSystem

An optional brief indicator of the axis system (body, inertial, etc.) in which the signal is measured

sign

An optional brief indicator of which direction is considered positive (+RWD, +UP, etc.)

symbol

A UNICODE Greek symbol for the signal [to be superceded with more formal MathML or Tex element in a later release]

varID

An XML-legal name that is unique within the file

variableDef sub-elements:

description

An optional text description of the variable

calculation

An optional container for the the MathML markup that describes how this variable is calculated from other variables or function table outputs. This element contains a single math element which is defined in the MathML 2 markup language.

isOutput

This optional element, if present, identifies this variable needs to be passed as an output. How this is accomplished is up to the implementer. Unless specified by this element, a variable is considered an output only if it is the result of a calculation or function AND is not used elsewhere in this DAVEfunc model.

The breakpoint set definition element, breakpointDef, is used to define a list of comma-separate values that define the coordinate values along one axis of a gridded linear function value table. It contains a mandatory bpID, a file-unique XML identifier attribute, an optional name and units of measure attributes, an optional text description element and the comma-separated list of floating-point values in the bpVals element. This list must be monotonically increasing in value.

    breakpointDef* : bpID, [name, units]
	description? :
	bpVals :
	    (character data of comma-separated breakpoints)
          

breakpointDef attributes:

bpID

An XML-legal name that is unique within the file

name

A UNICODE name for the set (may be same as gtID.

units

The units-of-measure for the breakpoint values.

breakpointDef sub-elements:

description

An optional description of the breakpoint set.

bpVals

A comma-separated, monotonically-increasing list of floating-point values.

The griddedTableDef element defines a multi-dimensional table of values corresponding with the value of an arbitrary function at the intersection of a set of specified independent inputs. The coordinates along each dimension are defined in separate breakpointDef elements that are referenced within this element by bpRefs, one for each dimension.

The data contained within the dataTable definition are a comma-separated set of floating-point values. This list of values represents a multidimensional array whose size is inferred from the length of each breakpoint vector. For example, a two-dimensional table that is a function of an eight-element Mach breakpoint set and a ten-element angle-of-attack breakpoint set is expected to contain 80 comma-separated values.

By convention, the breakpointRefs are listed in order such that the last breakpoint set varies most rapidly in the associated data table listing.

An optional confidenceBound scalar value may be provided that reprents the confidence level in the values presented. [This statistical capability needs significant improvement in later DAVEfunc releases.]

    griddedTableDef* : gtID, [name, units]
        description? :
            (description character data)
        provenance? :
            author : name, org, [xns, email]
                address? :
                    (address character data)
            functionCreationDate :
                (date in YYYY-MM-DD format, character data)
            documentRef* : docID
            modificationRef* : modID
        breakpointRefs :
	  bpRef+ : bpID
	confidenceBound? : value
	dataTable
	  (character data) 
	  

griddedTableDef attributes:

gtID

An XML-legal name that is unique within the file

name

A UNICODE name for the table (may be same as gtID.

units

The units-of-measure for the table's output signal.

griddedTableDef sub-elements:

description

The optional description element allows the author to describe the data contained within this griddedTable.

provenance

The optional provenance element allows the author to describe the source and history of the data within this griddedTable.

breakpointRefs

The mandatory breakpointRefs element contains separate bpRef elements, each pointing to a separately-defined breakpointDef. Thus, the independent coordinates associated with this function table are defined elsewhere and only a reference is given here. The order of appearance of the bpRefs is important.

confidenceBound

The numeric value specified in this element represents the statistical confidence in the values contained within this table.

dataTable

The numeric values of the function at the function vertices specified by the breakpoint sets are contained within this element, in a single comma-separated list. Parsing this list and storing it in the appropriate array representation is up to the implementor. By convention, the last breakpoint value increases most rapidly.

The ungriddedTableDef element defines a set of non-orthogonal data points, along with their independent values (coordinates), corresponding with the dependent value of an arbitrary function.

An optional confidenceBound scalar value may be provided that reprents the confidence level in the values presented. [This statistical capability needs significant improvement in later DAVEfunc releases.]

    ungriddedTableDef* : utID, [name, units]
        description? :
            (description character data)
        provenance? :
            author : name, org, [xns, email]
                address? :
                    (address character data)
            functionCreationDate :
                (date in YYYY-MM-DD format, character data)
            documentRef* : docID
            modificationRef* : modID
	confidenceBound? : value
	dataTable+ :
	  

ungriddedTableDef attributes:

utID

A mandatory XML-legal name that is unique within the file

name

An optional UNICODE name for the table (may be same as gtID.

units

Optional units-of-measure for the table's output signal.

ungriddedTableDef sub-elements:

description

The optional description element allows the author to describe the data contained within this ungriddedTable.

provenance

The optional provenance element allows the author to describe the source and history of the data within this ungriddedTable.

confidenceBound

The numeric value specified in this element represents the statistical confidence in the values contained within this table.

dataPoint

One or more sets of coordinate and output numeric values of the function at various locations within it's input space. This element includes one coordinate for each function input variable. Parsing this information into a usable interpolative function is up to the implementor. By convention, the coordinates are listed in the same order that they appear in the using function.

The function element connects breakpoint sets (for gridded tables), independent variables, and data tables to their respective output variable.

    function* : name
	description? :
	provenance? :
	    author : name, org, [xns, email]
		address?
		    (address character data)
	    functionCreationDate :
	    extraDocRef* : docID
	    modificationRef* : modID
	EITHER 
	{
	  independentVarPts+ : varID, [name, units, sign, extrapolate]
	      (input values as character data)
	  dependentVarPts : varID, [name, units, sign]
	      (output values as character data)
        } 
	OR 
	{
	  independentVarRef+ : varID, [min, max, extrapolate]
	  dependentVarRef : varID
	  functionDefn : [name]
	      CHOICE OF
	      {
	        CHOICE OF
                {
                  griddedTableRef : gtID
                OR
	          griddedTable : [name]
		    breakpointRefs
		        bpRef+ : bpID
		    confidenceBound? : value
		    dataTable
		        (gridded data table as character data)
                }
	      }
	      OR
	      {
	        CHOICE OF
                {
                  ungriddedTableRef : utID
                OR
		  ungriddedTable : [name]
		    confidenceBound? : value
    		    dataPoint+
		        (coordinate/value sets as character data)
                }
	      }
        }
          

function attributes:

name

A UNICODE name for the function.

function sub-elements:

description

The optional description element allows the author to describe the data contained within this function.

provenance

The optional provenance element allows the author to describe the source and history of the data within this function.

independentVarPts

If the author chooses, he|she can express a linearly-interpolated functions by specifing the indendent (breakpoint) values sets as one or more independentVarPts which are comma-separated, monotonically increasing coordinate values corresponding to the dependentVarpts given next. In the case of multiple dimensions, more than one indepdendentVarPts must be specified, one for each dimension. The mandatory varID attribute is used to connect each independentVarPts with an input signal.

dependentVarPts

This element goes along with the previous element to specify a function table. Only one dependentVarPts may be specified. If the function is multidimensional, the convention is the last breakpoint dimension changes most rapidly in this comma-separated list of output values. The mandatory varID attribute is used to connect this table output to an output signal.

independentVarRef

One or more of these elements refer to a separately-defined variableDef. For multidimensional tables, the order of specification is important and match the order in which breakpoints are specified or the order of coordinates in ungridded table coordinate/value sets.

dependentVarRef

One dependentVarRef must be specified to marry the output of the function to a particular variableDef.

functionDefn

This mandatory element (if not a simple function) identifies either a separately-specified data table or specifies a private table, either gridded or ungridded.

griddedTableRef

If not defining a simple function table, the author may use this element to point to a separately-specified griddedTableDef element.

griddedTable

As an alternative to reutilization of a previously defined table, this element may be used to define a private output gridded table. See the writeup on griddedTableDef for more information.

ungriddedTableRef

If not using a simple function table, the author may use this element to point to separately-specified ungriddedTableDef element.

ungriddedTable

As an alternative to reuse of a previously defined table, this element may be used to define a private output ungridded table. See the writeup on ungriddedTableDef for more information.