The SEDRIS Data Representation Model
APPENDIX A - Classes
Variable

Class Name: Variable

Superclass - <Expression>

Subclasses

This DRM class is concrete and has no subclasses.

Definition

An instance of this DRM class is used to connect an <Interface Template> instance to a location within an <Expression> tree where outside control may be exerted.

For a <Variable> instance contained within a <Model>, evaluation is valid only for a specific instance of that <Model>. The value is determined by an <Expression> that is aggregated by the specific <Geometry Model Instance> or <Feature Model Instance>. This <Expression> shall be associated to the same <Interface Template> instance that is associated with the <Variable>.

For a <Variable> instance contained within an <Environment Root>, the evaluation can only be performed within the context of values that shall be supplied by the consuming system.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

This class appears on only one page of the DRM class diagram.

Example

  1. Consider a source database containing a <Model> with some polygons that reference "table driven texture". Such a polygon is defined as a <Polygon> that has one reference to an <Image> with multiple references to s and t values, which are stored in a <Data Table>. The index into this table is decided at run-time. Each <Polygon> containing a "table-driven texture" has an identifier that is used, along with the index, at run-time.

    In SEDRIS, the <Polygon> uses a <Property Table Reference> to index into the <Data Table> containing the different s and t values. Attached to the <Property Table Reference> is a <Property Table Reference Control Link>. The <Variable> attached to this <Property Table Reference Control Link> is ultimately be associated to the <Interface Template> on the <Model>. The original identifier on the <Polygon> shall reside on the <Variable> rather than the <Polygon>, since the <Variable> controls the s,t values.

  2. The following is another example of how a runtime_label on a <Variable> would be used.
    On moving models there might be polygons that have IR values attached to them. Consider a tank <Model> in such a database.

    In SEDRIS, the IR values are stored in <Property Table> instances. The <Polygon>s of the tank reference these elements through a <Property Table Reference>. A <Property Table Reference Control Link> is used for those <Polygon> instances that have "heat producing" capability (for instance, the gun barrel), so that the index into the IR table can be changed to other values as the gun is used and heats up. More than one <Polygon> will contain the same ID. The consumer shall be able to identify the <Polygon>s (through the <Control Links> and <Interface Template>) by this ID so that he can switch these <Polygon> instances to be "heat producing".

FAQs

Why is identification of <Variable> instances (provided by runtime_label) desirable?

So that consumers can control what value is being plugged in, depending on how it is identified. See examples 1, 2 for how this is used and why it is needed.

Constraints

Associated with (two-way)

Component of (two-way)(inherited)

Inherited Field Elements

This class has no inherited field elements.

Field Elements

SE_Element_Type meaning; (notes)
EDCS_Unit_Code value_unit; (notes)
EDCS_Scale_Code value_scale; (notes)
SE_Property_Data_Value_Type value_type; (notes)
SE_String description; (notes)
SE_String runtime_label; (notes)

Notes

Fields Notes


meaning

 This specifies the quantity represented by the given <Variable>
 instance.

value_unit

 This specifies the unit of measurement of the quantity represented
 by the given <Variable> instance, which shall be compatible with
 the requirements imposed by its meaning value.

 If meaning does not require a unit of measurement (for example,
 if meaning requires a value_type of STRING), value_unit shall
 be set to EUC_UNITLESS.

value_scale

 This specifies the scale applicable to value_unit.

 If meaning does not require a unit of measurement, for example,
 if meaning requires a value_type of STRING, then value_scale
 shall be set to ESC_UNI.

value_type

 This specifies the value_type of the given <Variable> instance,
 which shall be compatible with the requirements imposed by its
 meaning.

description

 This provides a meaningful explanation of the purpose of the
 given <Variable> instance.

runtime_label

 This is used for <Variable> instances that consumers need to
 identify. These are run-time flags, provided so that appropriate
 values can be "plugged in", which then affect any <Control Link>
 instances driven by such a <Variable>. If the <Variable> does not
 need a runtime_label, the field is set to the empty string.

Prev: UTM Location 2D. Next: Vertex. Up:Index.

Last updated: May 15, 2003 Copyright © 2003 SEDRIS™