The SEDRIS Data Representation Model
APPENDIX B - Constraints
No Attribute Conflicts

Definition

  1. No two directly attached <Property Value> components of an object instance may specify identical values for their meaning fields.

    If an inherited <Property Value> has the same meaning field value as a directly attached <Property Value>, then the directly attached component replaces the inherited component in the inheritance context.

  2. No two directly attached <Property Description> components of an object instance may specify identical values for their meaning fields.

    If an inherited <Property Description> has the same meaning field value as a directly attached <Property Description>, then the directly attached component replaces the inherited component in the inheritance context.

Rationale

The intent of this constraint is eliminate ambiguity in specifying the attributes of an object instance.

Example

  1. Consider a <Union Of Primitive Geometry> instance that is a collection of <Polygon> instances representing a parking lot that is primarily surfaced with asphalt but has a few patches of concrete.

    The <Union Of Primitive Geometry> instance has a <Property Value> component with meaning = { SE_PROP_CODE_TYP_ATTRIBUTE, {{ EAC_PRIMARY_MATERIAL_TYPE }} and its value is EEC_PRIATTY_ASPHALT. This is inherited by all the <Polygon> components of the union, so that if a <Polygon> instance represents a section of asphalt, it need not specify any further information.

    Consider a <Polygon> in the union which represents one of the areas of concrete. This <Polygon> has a <Property Value> component which also has meaning = { SE_PROP_CODE_TYP_ATTRIBUTE, {{ EAC_PRIMARY_MATERIAL_TYPE }} but with value EEC_PRIATTY_CONCRETE. For that <Polygon>, the EEC_PRIATTY_CONCRETE value overrides the inherited EEC_PRIATTY_ASPHALT value.

    No Attribute Conflicts, Example 1

FAQs

As a producer, I have a <Model> of a building which can be used for a police station or a post office. Can both EAC_BUILDING_FUNCTION values be attached to the <Model> via two <Property Value> components? Or can both <Property Value> components be attached to the <Model>'s <Classification Data>?
No. Instead, do the following.

  1. Produce the building <Model> as a component <Model> in the <Model Library>. (That is, set the <Model>'s model_reference_type field to SE_MDL_REF_TYP_COMPONENT.)

  2. Add a separate model to the <Model Library> for the police station, with a <Classification Data> tagged as EDCS_ECC_BUILDING and having an elaborating <Property Value> of EAC_BUILDING_FUNCTION, EEC_BLDGFN_POLICE_STATION.

    The <Geometry Model>'s <Geometry Hierarchy> (and/or <Feature Model>'s <Feature Hierarchy>, as the case may be) is just a <Geometry Model Instance> (or <Feature Model Instance>) which instances the building component model in (1), above.

  3. Similarly, add a separate model to the <Model Library> for the post office.


Prev: Nested Primitive Geometry. Next: Non Crossing Aggregations. Up:Index.

Last updated: July 16, 2004 Copyright © 2004 SEDRIS