The SEDRIS Data Representation Model
APPENDIX B - Constraints
Constraints On Components

Definition

DRM objects are constrained in taking component DRM objects as follows.

  1. Let M be a <Model> instance.

    1. Let T be a <Property Table> instance. If T appears in the component tree of M, T shall not appear in the component tree of a <Data Table Library> instance.

    2. Let X be a <Property Grid> instance that is not a component of a <Data Table Library> instance, where X appears in the component tree of M.

      1. X shall not appear in the component tree of a <Model> instance other than M.

      2. X shall not appear in the component tree of an <Environment Root> instance.

    3. Let V be a <Variable> instance, where V appears in the component tree of M.

      1. V shall not appear in the component tree of a <Model> instance other than M.

      2. V shall not appear in the component tree of an <Environment Root> instance.

      3. M shall have an <Interface Template> component, which shall comply with <<Constraints On Associates>>.

    4. Let X be an instance of a class other than <Property Grid>, <Symbol>, or <Variable>, where X appears in the component tree of M.

      1. X shall not appear in the component tree of a <Model> instance other than M.

      2. X shall not appear in the component tree of an <Environment Root> instance.

  2. Let R be an <Environment Root> instance.

    1. Let T be a <Property Table> instance. If T appears in the component tree of R, T shall not appear in the component tree of a <Data Table Library> instance.

    2. Let X be a <Property Grid> instance that is not a component of a <Data Table Library> instance, where X appears in the component tree of R.

      1. X shall not appear in the component tree of an <Environment Root> instance other than R.

      2. X shall not appear in the component tree of a <Model> instance.

    3. Let V be a <Variable> instance, where V appears in the component tree of R.

      1. V shall not appear in the component tree of a <Model> instance.

      2. V shall not appear in the component tree of an <Environment Root> instance other than R.

      3. R shall have an <Interface Template> component, which shall comply with <<Constraints On Associates>>.

    4. Let X be an instance of a class other than <Property Grid>, <Symbol>, or <Variable>, where X appears in the component tree of R.

      1. X shall not appear in the component tree of a <Model> instance.

      2. If X appears in the component tree of another <Environment Root> instance R2, the srf_context_info of R2 shall match that of R.

Rationale

Why would a generic <Model> instance use pieces of the terrain? If the <Model> instance is intended to be instanced as part of the terrain of an <Environment Root> instance, <Environment Root> should instantiate the <Model> instance, not duplicate parts of it.

If a <Model> instance or an <Environment Root> instance needs to instantiate another <Model> instance M, use a <Feature Model Instance> instance or <Geometry Model Instance> instance. If only a portion of M is desired for reuse, that portion should be a <Model> instance of its own.

Example

  1. If a <Polygon> instance is within the component tree of an <Environment Root> instance, no <Model> instance can use the <Polygon> instance.

  2. If a <Polygon> instance is within the component tree of a <Model> instance, no <Environment Root> instance can use the <Polygon> instance directly. The component tree of a <Model> instance can be accessed only through <Geometry Model Instance> instances and/or <Feature Model Instance> instances.

  3. If a <Polygon> instance is within the component tree of a <Model> instance, no other <Model> instance can use that <Polygon> instance directly. The component tree of a <Model> instance can be accessed only through <Geometry Model Instance> instances and/or <Feature Model Instance> instances.

FAQs

No FAQs supplied.


Prev: Constraints On Associates. Next: Contained Edge Constraints. Up:Index.