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
  (identifier,
   label,
   text,
   bag_to_set);


TYPE value_format_type = identifier;
WHERE
  WR1: LENGTH(SELF) <= 80;
END_TYPE;

TYPE value_qualifier = SELECT
   (maths_value_precision_qualifier,
    precision_qualifier,
    type_qualifier,
    uncertainty_qualifier,
    value_format_type_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_precision_qualifier;
  precision_value : maths_value;
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)) OR ('QUALIFIED_MEASURE_SCHEMA.MATHS_VALUE_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)) OR ('QUALIFIED_MEASURE_SCHEMA.MATHS_VALUE_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)) OR ('QUALIFIED_MEASURE_SCHEMA.MATHS_VALUE_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;

ENTITY value_format_type_qualifier;
  format_type : value_format_type;
END_ENTITY;

END_SCHEMA;  -- qualified_measure_schema