The SEDRIS Data Representation Model
APPENDIX B - Constraints Constraints On Components |
---|
DRM objects are constrained in taking component DRM objects as follows.
Let M be a <Model> instance.
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.
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.
X shall not appear in the component tree of a <Model> instance other than M.
X shall not appear in the component tree of an <Environment Root> instance.
Let V be a <Variable> instance, where V appears in the component tree of M.
V shall not appear in the component tree of a <Model> instance other than M.
V shall not appear in the component tree of an <Environment Root> instance.
M shall have an <Interface Template> component, which shall comply with <<Constraints On Associates>>.
Let X be an instance of a class other than <Property Grid>, <Symbol>, or <Variable>, where X appears in the component tree of M.
X shall not appear in the component tree of a <Model> instance other than M.
X shall not appear in the component tree of an <Environment Root> instance.
Let R be an <Environment Root> instance.
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.
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.
X shall not appear in the component tree of an <Environment Root> instance other than R.
X shall not appear in the component tree of a <Model> instance.
Let V be a <Variable> instance, where V appears in the component tree of R.
V shall not appear in the component tree of a <Model> instance.
V shall not appear in the component tree of an <Environment Root> instance other than R.
R shall have an <Interface Template> component, which shall comply with <<Constraints On Associates>>.
Let X be an instance of a class other than <Property Grid>, <Symbol>, or <Variable>, where X appears in the component tree of R.
X shall not appear in the component tree of a <Model> instance.
If X appears in the component tree of another <Environment Root> instance R2, the srf_context_info of R2 shall match that of R.
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.
If a <Polygon> instance is within the component tree of an <Environment Root> instance, no <Model> instance can use the <Polygon> instance.
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.
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.
No FAQs supplied.
|