The SEDRIS Data Representation Model
APPENDIX A - Classes
Hierarchical Table

Abstract Class Name: Hierarchical Table

Superclass - <SEDRIS Abstract Base>

Subclasses

Definition

This abstract class exists to facilitate a common definition of hierarchically defined tables within the SEDRIS data representation model. It explains their use, implementation, and how to resolve references.

Conceptually, a <Hierarchical Table> is an ordered collection of objects. Objects within a table are referenced by their ordinal position in the collection. Referencing objects encode this position as an field called an index. This indexed referencing scheme does not contain an explicit reference to a table instance. Instead, the reference to the table instance is implicitly based on the definition of the derived table class, the referencing object, and the referencing index field. Further, the entire content of the conceptual table does not have to be contained within a single table instance. The conceptual table may be "constructed" from multiple < Hierarchical Table> based instances contained within the object hierarchy. The start_index field of a <Hierarchical Table> based class, together with the number of components of the table is used to define the "range" of a particular instance of the table. These ranges are combined, by traversal up the hierarchy, to form the conceptual table to which index fields refer. When ranges overlap, the range from the < Hierarchical Table> that is lower in the hierarchy takes precedence. From a practical, implementation perspective, resolving an index reference is simple. First, traverse up the hierarchy until a table of the appropriate derived class (with respect to the referencing object and reference index) is found attached to an aggregate object in the hierarchy. When a table instance is found, an evaluation shall be performed to determine if the referencing index lies within the range of the table instance (table.start_index <= reference_index < start_index + number_of_table_components) If it does, then the expression ( start_index + 1 - reference_index) should be used to determine the ordinal position of the reference object within the ordered components of the table. If the reference index does not fall within the table's range, then the traversal shall continue up the hierarchy. All reference indices shall resolve to some table contained within the hierarchy.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

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

Example

See the <Vertex With Component Indices> class for specific examples.

Constraints

None.

Component of (two-way)

Inherited Field Elements

This class has no inherited field elements.

Field Elements

SE_Integer_Positive start_index;

Prev: GSM Location 3D. Next: Hierarchy Data. Up:Index.

Last updated: October 1, 2002 Copyright © 2002 SEDRIS™