Schema: qualified_measure_schema

Source : ISO 10303-45



SCHEMA qualified_measure_schema;

REFERENCE FROM mathematical_functions_schema   -- ISO 10303-50
  (maths_value);

REFERENCE FROM measure_schema   -- ISO 10303-41
  (measure_with_unit,
   unit);

REFERENCE FROM representation_schema   -- ISO 10303-43
  (representation_item);

REFERENCE FROM support_resource_schema   -- ISO 10303-41
  (label,
   text,
   bag_to_set);


TYPE value_qualifier = SELECT
   (precision_qualifier,
    type_qualifier,
    uncertainty_qualifier);
END_TYPE;

ENTITY descriptive_representation_item
  SUBTYPE OF (representation_item);
  description : text;
END_ENTITY;

ENTITY expanded_uncertainty
  SUBTYPE OF (standard_uncertainty);
  coverage_factor : REAL;
END_ENTITY;

ENTITY maths_value_qualification;
  name : label;
  description : text;
  qualified_maths_value : maths_value_with_unit;
  qualifiers : SET[1:?] OF value_qualifier;
WHERE
  WR1: SIZEOF(QUERY(temp <* qualifiers | 'QUALIFIED_MEASURE_SCHEMA.PRECISION_QUALIFIER' IN TYPEOF(temp))) < 2;
  WR2: NOT ('REPRESENTATION_SCHEMA.REPRESENTATION_ITEM' IN TYPEOF(SELF\maths_value_qualification.qualified_maths_value));
END_ENTITY;

ENTITY maths_value_representation_item
  SUBTYPE OF (representation_item, maths_value_with_unit);
END_ENTITY;

ENTITY maths_value_with_unit;
  value_component : maths_value;
  unit_component : unit;
END_ENTITY;

ENTITY measure_qualification;
  name : label;
  description : text;
  qualified_measure : measure_with_unit;
  qualifiers : SET[1:?] OF value_qualifier;
WHERE
  WR1: SIZEOF(QUERY(temp <* qualifiers | 'QUALIFIED_MEASURE_SCHEMA.PRECISION_QUALIFIER' IN TYPEOF(temp))) < 2;
  WR2: NOT ('REPRESENTATION_SCHEMA.REPRESENTATION_ITEM' IN TYPEOF(SELF\measure_qualification.qualified_measure));
END_ENTITY;

ENTITY measure_representation_item
  SUBTYPE OF (representation_item, measure_with_unit);
END_ENTITY;

ENTITY precision_qualifier;
  precision_value : INTEGER;
END_ENTITY;

ENTITY qualified_representation_item
  SUBTYPE OF (representation_item);
  qualifiers : SET[1:?] OF value_qualifier;
WHERE
  WR1: SIZEOF(QUERY(temp <* qualifiers | 'QUALIFIED_MEASURE_SCHEMA.PRECISION_QUALIFIER' IN TYPEOF(temp))) < 2;
END_ENTITY;

ENTITY qualitative_uncertainty
  SUBTYPE OF (uncertainty_qualifier);
  uncertainty_value : text;
END_ENTITY;

ENTITY standard_uncertainty
  SUPERTYPE OF (expanded_uncertainty)
  SUBTYPE OF (uncertainty_qualifier);
  uncertainty_value : REAL;
END_ENTITY;

ENTITY type_qualifier;
  name : label;
END_ENTITY;

ENTITY uncertainty_qualifier
  SUPERTYPE OF (ONEOF (standard_uncertainty,
                       qualitative_uncertainty));
  measure_name : label;
  description : text;
END_ENTITY;

END_SCHEMA;  -- qualified_measure_schema