Application module: Value with unit | ISO/TS 10303-1054:2019(E) © ISO |
This clause specifies the information requirements for the Value with unit application module. The information requirements are specified as the Application Reference Model (ARM) of this application module.
NOTE 1 A graphical representation of the information requirements is given in Annex C.
NOTE 2 The mapping specification is specified in 5.1. It shows how the information requirements are met by using common resources and constructs defined or imported in the MIM schema of this application module.
This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following begins the Value_with_unit_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Value_with_unit_arm;
(*
The following EXPRESS interface statement specifies the elements imported from the ARM of another application module.
EXPRESS specification:
*)
USE FROM
Maths_value_arm;
--
ISO/TS 10303-1092
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Maths_value_arm ISO/TS 10303-1092
NOTE 2 See Annex C, Figures C.1and C.2 for a graphical representation of this schema.
This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.
EXPRESS specification:
*)
TYPE
any_number_value =
NUMBER;
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
any_string_value =
STRING;
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
area_measure =
REAL;
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
count_measure =
NUMBER;
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
length_measure =
REAL;
END_TYPE;
(*
The measure_value type is an extensible list of alternate data types that allows for the designation of the data types any_number_value, any_string_value, length_measure, plane_angle_measure, area_measure, count_measure, ratio_measure, and volume_measure.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
*)
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;
(*
EXPRESS specification:
*)
TYPE
non_negative_length_measure =
length_measure;
WHERE
WR1: SELF >= 0.0;
END_TYPE;
(*
Formal propositions:
WR1: the value shall be a non-negative number.
EXPRESS specification:
*)
TYPE
non_negative_plane_angle_measure =
plane_angle_measure;
WHERE
WR1: SELF >= 0.0;
END_TYPE;
(*
Formal propositions:
WR1: the value shall be a non-negative number.
EXPRESS specification:
*)
TYPE
plane_angle_measure =
REAL;
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
positive_length_measure =
non_negative_length_measure;
WHERE
WR1: SELF > 0.0;
END_TYPE;
(*
Formal propositions:
WR1: the value shall be a positive number.
EXPRESS specification:
*)
TYPE
positive_plane_angle_measure =
non_negative_plane_angle_measure;
WHERE
WR1: SELF > 0.0;
END_TYPE;
(*
Formal propositions:
WR1: the value shall be a positive number.
EXPRESS specification:
*)
TYPE
ratio_measure =
REAL;
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
volume_measure =
REAL;
END_TYPE;
(*
This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.
NOTE 1 This definition applies to the SI quantity 'mole'. When the mole is used, the elementary entities, whose quantity is expressed, must be specified . They may be atoms, molecules, ions, electrons or other particles or specified groups of such particles (see ISO 31-8).
NOTE 2 This unit corresponds to one of the seven fundamental quantities as specified in ISO 1000.
EXPRESS specification:
*)
ENTITY Amount_of_substance_unit
SUBTYPE OF (Unit);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Area_unit
SUBTYPE OF (Derived_unit);
END_ENTITY;
(*
EXAMPLE The number of parts in an assembly is a physical quantity that may be measured in a unit called 'parts'. Such a unit cannot be related to an SI unit.
EXPRESS specification:
*)
ENTITY Context_dependent_unit
SUBTYPE OF (Unit);
WHERE
WR1: EXISTS(SELF\Unit.name);
END_ENTITY;
(*
Formal propositions:
WR1: The Context_dependent_unit shall have a name.
NOTE A Conversion_based_unit is often used to convert a unit in one system of units to a similar unit in another system.
EXAMPLE An Imperial inch is 25.4 millimetres
EXPRESS specification:
*)
ENTITY Conversion_based_unit
SUBTYPE OF (Unit);
conversion_factor : Value_with_unit;
WHERE
WR1: EXISTS(SELF\Unit.name);
END_ENTITY;
(*
Attribute definitions:
conversion_factor: the Value_with_unit that defines the conversion.
Formal propositions:
WR1: The Conversion_based_unit shall have a name.
EXAMPLE Newtons per square metre is a derived unit.
EXPRESS specification:
*)
ENTITY Derived_unit
SUPERTYPE OF (ONEOF (Area_unit,
Volume_unit))
SUBTYPE OF (Unit);
elements : SET[1:?] OF Derived_unit_element;
END_ENTITY;
(*
Attribute definitions:
elements: a set of units and their exponents whose product defines the Derived_unit.
NOTE Each element is one term in the Derived_unit.
EXPRESS specification:
*)
ENTITY Derived_unit_element;
base_unit : Unit;
exponent : REAL;
END_ENTITY;
(*
Attribute definitions:
base_unit: the unit of a term in the Derived_unit.
exponent: the real number for the Derived_unit.
EXPRESS specification:
*)
ENTITY Duration
SUBTYPE OF (Value_with_unit);
WHERE
WR1: 'VALUE_WITH_UNIT_ARM.' + 'TIME_UNIT' IN TYPEOF(SELF\Value_with_unit.unit);
END_ENTITY;
(*
Formal propositions:
WR1: the unit of the Duration shall be a Time_unit.
EXPRESS specification:
*)
ENTITY Electric_current_unit
SUBTYPE OF (Unit);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Length_unit
SUBTYPE OF (Unit);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Luminous_intensity_unit
SUBTYPE OF (Unit);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Mass_unit
SUBTYPE OF (Unit);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Maths_value_with_unit;
unit : Unit;
value_component : maths_value;
END_ENTITY;
(*
Attribute definitions:
unit: the Unit with which the physical quantity is expressed.
value_component: the mathematical expression that describes the quantity.
EXPRESS specification:
*)
ENTITY Plane_angle_unit
SUBTYPE OF (Unit);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Ratio_unit
SUBTYPE OF (Unit);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Solid_angle_unit
SUBTYPE OF (Unit);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Thermodynamic_temperature_unit
SUBTYPE OF (Unit);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Time_unit
SUBTYPE OF (Unit);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Uncertainty_with_unit
SUBTYPE OF (Value_with_unit);
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
(*
Attribute definitions:
name: the words by which the Uncertainty_with_unit is known.
description: the text that provides further information about the Uncertainty_with_unit. The value of this attribute need not be specified.
EXPRESS specification:
*)
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;
(*
Attribute definitions:
name: the words by which the Unit is known.
si_unit: the Boolean value that indicates whether the Unit is one of the units defined in the SI system.
EXPRESS specification:
*)
ENTITY Value_with_unit;
unit : Unit;
value_component : measure_value;
END_ENTITY;
(*
Attribute definitions:
unit: the Unit with which the physical quantity is expressed.
value_component: the value of the quantity.
EXPRESS specification:
*)
ENTITY Volume_unit
SUBTYPE OF (Derived_unit);
END_ENTITY;
(*
*)
END_SCHEMA; -- Value_with_unit_arm
(*
© ISO 2019 — All rights reserved