Application module: Value with unit ISO/TS 10303-1054:2019(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

4 Information requirements
   4.1 Required AM ARM
   4.2 ARM type definitions
   4.3 ARM entity definitions
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
F Change history
Bibliography
Index

(*
ISO/TC 184/SC 4/WG 12 N10399 - ISO/TS 10303-1054 Value with unit - EXPRESS ARM
Supersedes ISO/TC 184/SC 4/WG 12 N9725
*)



SCHEMA Value_with_unit_arm;

USE FROM Maths_value_arm;    -- ISO/TS 10303-1092


TYPE any_number_value = NUMBER;
END_TYPE;

TYPE any_string_value = STRING;
END_TYPE;

TYPE area_measure = REAL;
END_TYPE;

TYPE count_measure = NUMBER;
END_TYPE;

TYPE length_measure = REAL;
END_TYPE;

TYPE measure_value = EXTENSIBLE SELECT
   (any_number_value,
    any_string_value,
    length_measure,
    plane_angle_measure,
    area_measure,
    count_measure,
    ratio_measure,
    volume_measure);
END_TYPE;

TYPE non_negative_length_measure = length_measure;
WHERE
  WR1: SELF >= 0.0;
END_TYPE;

TYPE non_negative_plane_angle_measure = plane_angle_measure;
WHERE
  WR1: SELF >= 0.0;
END_TYPE;

TYPE plane_angle_measure = REAL;
END_TYPE;

TYPE positive_length_measure = non_negative_length_measure;
WHERE
  WR1: SELF > 0.0;
END_TYPE;

TYPE positive_plane_angle_measure = non_negative_plane_angle_measure;
WHERE
  WR1: SELF > 0.0;
END_TYPE;

TYPE ratio_measure = REAL;
END_TYPE;

TYPE volume_measure = REAL;
END_TYPE;

ENTITY Amount_of_substance_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Area_unit
  SUBTYPE OF (Derived_unit);
END_ENTITY;

ENTITY Context_dependent_unit
  SUBTYPE OF (Unit);
WHERE
  WR1: EXISTS(SELF\Unit.name);
END_ENTITY;

ENTITY Conversion_based_unit
  SUBTYPE OF (Unit);
  conversion_factor : Value_with_unit;
WHERE
  WR1: EXISTS(SELF\Unit.name);
END_ENTITY;

ENTITY Derived_unit
  SUPERTYPE OF (ONEOF (Area_unit,
                       Volume_unit))
  SUBTYPE OF (Unit);
  elements : SET[1:?] OF Derived_unit_element;
END_ENTITY;

ENTITY Derived_unit_element;
  base_unit : Unit;
  exponent : REAL;
END_ENTITY;

ENTITY Duration
  SUBTYPE OF (Value_with_unit);
WHERE
  WR1: 'VALUE_WITH_UNIT_ARM.' + 'TIME_UNIT' IN TYPEOF(SELF\Value_with_unit.unit);
END_ENTITY;

ENTITY Electric_current_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Length_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Luminous_intensity_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Mass_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Maths_value_with_unit;
  unit : Unit;
  value_component : maths_value;
END_ENTITY;

ENTITY Plane_angle_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Ratio_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Solid_angle_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Thermodynamic_temperature_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Time_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Uncertainty_with_unit
  SUBTYPE OF (Value_with_unit);
  name : STRING;
  description : OPTIONAL STRING;
END_ENTITY;

ENTITY Unit
  SUPERTYPE OF (ONEOF (Amount_of_substance_unit,
                       Electric_current_unit,
                       Length_unit,
                       Luminous_intensity_unit,
                       Mass_unit,
                       Plane_angle_unit,
                       Ratio_unit,
                       Solid_angle_unit,
                       Thermodynamic_temperature_unit,
                       Time_unit));
  name : STRING;
  si_unit : BOOLEAN;
END_ENTITY;

ENTITY Value_with_unit;
  unit : Unit;
  value_component : measure_value;
END_ENTITY;

ENTITY Volume_unit
  SUBTYPE OF (Derived_unit);
END_ENTITY;

END_SCHEMA;  -- Value_with_unit_arm


© ISO 2019 — All rights reserved