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