Application module: Characteristic ISO/TS 10303-1654:2018-11(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 ARMs
   4.2 ARM type definitions
   4.3 ARM entity definitions
   4.4 ARM subtype constraint definitions
   4.5 ARM function definitions
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM type definition
     5.2.2 MIM entity definitions
     5.2.3 MIM subtype constraint definition

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

4 Information requirements

This clause specifies the information requirements for the Characteristic 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 Characteristic_arm schema and identifies the necessary external references.

A table of characteristic data is composed by a header, given by Characteristic_data_table_header and the data contents in the form of a matrix with rows and columns given by Characteristic_data_table_representation. The same Characteristic_data_table_header may be used by several Characteristic_data_table_representations. They are linked together by a Characteristic_data_table_header_usage.

A Characteristic_data_table_header is decomposed into Characteristic_data_column_headers by Characteristic_data_table_header_decomposition. The order between two Characteristic_data_column_headers is defined by a Characteristic_data_column_header_link.

A Characteristic_data_table_representation contains exactly one Characteristic_data_table that is decomposed into a list of Characteristic_data_table_rows, each consisting of a list of cells, representing a single characteristic data element.

EXPRESS specification:

*)
SCHEMA Characteristic_arm;
(*

4.1 Required AM ARMs

The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.

EXPRESS specification:

*)
USE FROM Basic_data_representation_arm;    --  ISO/TS 10303-1773

USE FROM Document_assignment_arm;    --  ISO/TS 10303-1122

USE FROM Extended_measure_representation_arm;    --  ISO/TS 10303-1106

USE FROM External_library_arm;    --  ISO/TS 10303-1778

USE FROM Value_with_unit_extension_arm;    --  ISO/TS 10303-1753

USE FROM External_properties_arm;    --  ISO/TS 10303-1129

USE FROM Property_assignment_arm;    --  ISO/TS 10303-1030

REFERENCE FROM Support_resource_arm    --  ISO/TS 10303-1800
  (bag_to_set);

REFERENCE FROM Qualified_measure_arm    --  ISO/TS 10303-1782
  (pre_defined_type_qualifiers);
(*

NOTE 1   The schemas referenced above are specified in the following part of ISO 10303:

Basic_data_representation_arm ISO/TS 10303-1773
Document_assignment_arm ISO/TS 10303-1122
Extended_measure_representation_arm ISO/TS 10303-1106
External_library_arm ISO/TS 10303-1778
Value_with_unit_extension_arm ISO/TS 10303-1753
External_properties_arm ISO/TS 10303-1129
Property_assignment_arm ISO/TS 10303-1030
Support_resource_arm ISO/TS 10303-1800
Qualified_measure_arm ISO/TS 10303-1782

NOTE 2   See Annex C, Figures C.1, C.2and C.3 for a graphical representation of this schema.

4.2 ARM type definitions

This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.

4.2.1 c_documented_element_select   EXPRESS-G

The c_documented_element_select type is an extension of the documented_element_select type. It adds the data type Property_value_representation to the list of alternate data types.

EXPRESS specification:

*)
TYPE c_documented_element_select = SELECT BASED_ON documented_element_select WITH
   (Property_value_representation);
END_TYPE;
(*

4.2.2 characteristic   EXPRESS-G

The characteristic type allows for the designation of the data types String_representation_item, Numerical_item_with_unit, Value_list, and Value_set.

EXPRESS specification:

*)
TYPE characteristic = SELECT
   (String_representation_item,
    Numerical_item_with_unit,
    Value_list,
    Value_set);
END_TYPE;
(*

4.2.3 characteristic_data_table_cell   EXPRESS-G

The characteristic_data_table_cell type allows for the designation of the data types Null_representation_item, String_representation_item, Numerical_item_with_global_unit, Numerical_item_with_unit, Value_list, and Value_set.

EXPRESS specification:

*)
TYPE characteristic_data_table_cell = SELECT
   (Null_representation_item,
    String_representation_item,
    Numerical_item_with_global_unit,
    Numerical_item_with_unit,
    Value_list,
    Value_set);
END_TYPE;
(*

4.2.4 range_class   EXPRESS-G

A range_class defines the possible boundary types of a Range_characteristic.

EXPRESS specification:

*)
TYPE range_class = ENUMERATION OF
   (closed,
    lower_open,
    upper_open,
    open);
END_TYPE;
(*

Enumerated item definitions:

closed: specifies that value is closed;

lower_open: specifies that value is lower opened;

upper_open: specifies that value is upper opened;

open: specifies that value is open;

4.2.5 scalar_or_coordinated_characteristics   EXPRESS-G

The scalar_or_coordinated_characteristics type allows for the designation of the data types Property_value_representation, and characteristic.

EXPRESS specification:

*)
TYPE scalar_or_coordinated_characteristics = SELECT
   (Property_value_representation,
    characteristic);
END_TYPE;
(*

4.3 ARM entity definitions

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.

4.3.1 Characteristic_data_column_header   EXPRESS-GMapping table

A Characteristic_data_column_header is a type of Independent_property.

EXPRESS specification:

*)
ENTITY Characteristic_data_column_header
  SUBTYPE OF (Independent_property);
INVERSE
  table_header_usage : Characteristic_data_table_header_decomposition FOR related;
END_ENTITY;
(*

Attribute definitions:

table_header_usage: specifies an inverse relationship that specifies that the existence of the Characteristic_data_column_header is dependent on the existence of the Characteristic_data_table_header_decomposition that specifies the Characteristic_data_column_header as its related.

Informal propositions:

IP1: All columns must be arranged in a linked list by Characteristic_data_column_header_link.

4.3.2 Characteristic_data_column_header_link   EXPRESS-GMapping table

A Characteristic_data_column_header_link is a type of Independent_property_relationship that define the structure of the columns of a data table.

EXPRESS specification:

*)
ENTITY Characteristic_data_column_header_link
  SUBTYPE OF (Independent_property_relationship);
  SELF\Independent_property_relationship.relating RENAMED precedent : Characteristic_data_column_header;
  SELF\Independent_property_relationship.related RENAMED subsequent : Characteristic_data_column_header;
DERIVE
  SELF\Independent_property_relationship.relation_type : STRING := 'sequence';
UNIQUE
  UR1: precedent, subsequent;
WHERE
  WR1: subsequent <> precedent;
END_ENTITY;
(*

Attribute definitions:

precedent: specifies the Characteristic_data_column_header that is the previous column header.

subsequent: specifies a the Characteristic_data_column_header that is the next column header.

relation_type: an attribute inherited from the Independent_property_relationship shall be redeclared as the string 'sequence' for the Characteristic_data_column_header_link.

Formal propositions:

UR1: The combination of precedent and subsequent shall be unique within a population of Characteristic_data_column_header_link.

WR1: The subsequent shall not be equal to the precedent.

4.3.3 Characteristic_data_table   EXPRESS-GMapping table

A Characteristic_data_table is a type of Representation_item that is described by one or more Characteristic_data_table_rows.

EXPRESS specification:

*)
ENTITY Characteristic_data_table
  SUBTYPE OF (Representation_item);
  property_value : LIST[1:?] OF Characteristic_data_table_row;
WHERE
  WR1: SIZEOF(QUERY( pv <* property_value | NOT (SIZEOF(pv.cell) = SIZEOF(property_value[1].cell)) )) = 0;
END_ENTITY;
(*

Attribute definitions:

property_value: specifies the list of one or more Characteristic_data_table_row defining the Characteristic_data_table.

Formal propositions:

WR1: The size of each row in the table shall be the same as the size of the first row in the table.

4.3.4 Characteristic_data_table_header   EXPRESS-GMapping table

A Characteristic_data_table_header is a type of Independent_property for specifying the header of a table for measurements.

EXPRESS specification:

*)
ENTITY Characteristic_data_table_header
  SUBTYPE OF (Independent_property);
INVERSE
  column : SET[2:?] OF Characteristic_data_table_header_decomposition FOR relating;
END_ENTITY;
(*

Attribute definitions:

column: specifies an inverse relationship that specifies that the existence of the Characteristic_data_table_header is dependent on the existence of the Characteristic_data_table_header_decomposition that specifies the Characteristic_data_table_header as its relating. There shall exist at least two Characteristic_data_table_header_decompositions for the Characteristic_data_table_header.

4.3.5 Characteristic_data_table_header_decomposition   EXPRESS-GMapping table

A Characteristic_data_table_header_decomposition is a type of Independent_property_relationship.

EXPRESS specification:

*)
ENTITY Characteristic_data_table_header_decomposition
  SUBTYPE OF (Independent_property_relationship);
  SELF\Independent_property_relationship.relating : Characteristic_data_table_header;
  SELF\Independent_property_relationship.related : Characteristic_data_column_header;
DERIVE
  SELF\Independent_property_relationship.relation_type : STRING := 'decomposition';
END_ENTITY;
(*

Attribute definitions:

relating: an attribute inherited from the Independent_property_relationship shall be redeclared as the Characteristic_data_table_header for the Characteristic_data_table_header_decomposition.

related: an attribute inherited from the Independent_property_relationship shall be redeclared as the Characteristic_data_column_header for the Characteristic_data_table_header_decomposition.

relation_type: an attribute inherited from the Independent_property_relationship shall be redeclared as the string 'decomposition' for the Characteristic_data_table_header_decomposition.

4.3.6 Characteristic_data_table_header_usage   EXPRESS-GMapping table

A Characteristic_data_table_header_usage is a type of Property_definition_representation that links a Characteristic_data_table_representation to the Characteristic_data_table_header to which it belongs.

EXPRESS specification:

*)
ENTITY Characteristic_data_table_header_usage
  SUBTYPE OF (Property_definition_representation);
  SELF\Property_definition_representation.definition : Characteristic_data_table_header;
  SELF\Property_definition_representation.used_representation : Characteristic_data_table_representation;
END_ENTITY;
(*

Attribute definitions:

definition: an inherited attribute shall be of type Characteristic_data_table_header for the Characteristic_data_table_header_usage.

used_representation: an inherited attribute shall be of type Characteristic_data_table_representation for the Characteristic_data_table_header_usage.

4.3.7 Characteristic_data_table_representation   EXPRESS-GMapping table

A Characteristic_data_table_representation is a type of Property_value_representation.

EXPRESS specification:

*)
ENTITY Characteristic_data_table_representation
  SUBTYPE OF (Property_value_representation);
  SELF\Representation.items : SET[1:1] OF Characteristic_data_table;
INVERSE
  header : Characteristic_data_table_header_usage FOR used_representation;
END_ENTITY;
(*

Attribute definitions:

items: an attribute inherited from the Representation shall be redeclared as the Characteristic_data_table for the Characteristic_data_table_representation.

header: identifies the Characteristic_data_table_header_usage that links the Characteristic_data_table_representation to its defining Characteristic_data_table_header.

4.3.8 Characteristic_data_table_row   EXPRESS-GMapping table

A Characteristic_data_table_row is a type of Representation_item that is described by one or more characteristic_data_table_cells.

EXPRESS specification:

*)
ENTITY Characteristic_data_table_row
  SUBTYPE OF (Representation_item);
  cell : LIST[1:?] OF characteristic_data_table_cell;
END_ENTITY;
(*

Attribute definitions:

cell: specifies the list of one or more characteristic_data_table_cell defining the Characteristic_data_table_row.

4.3.9 Correlated_property   EXPRESS-GMapping table

A Correlated_property is a type of Assigned_property that identifies a set of other correlated Assigned_propertys.

EXPRESS specification:

*)
ENTITY Correlated_property
  SUBTYPE OF (Assigned_property);
  correlated_properties : SET[1:?] OF Assigned_property;
WHERE
  WR1: SIZEOF(QUERY(cp <* correlated_properties | cp\Assigned_property.described_element <> SELF\Assigned_property.described_element)) = 0;
END_ENTITY;
(*

Attribute definitions:

correlated_properties: the set of Assigned_property that are coorelated.

Formal propositions:

WR1: The Correlated_property shall not be a meber of the coorelated Assigned_properties.

4.3.10 Externally_defined_type_qualifier   EXPRESS-GMapping table

A Externally_defined_type_qualifier is a type of Type_qualifier whose meaning is defined in an external library.

EXPRESS specification:

*)
ENTITY Externally_defined_type_qualifier
  SUBTYPE OF (Type_qualifier);
  external_source : External_source;
WHERE
  WR1: NOT(name IN pre_defined_type_qualifiers);
END_ENTITY;
(*

Attribute definitions:

external_source: the identification of the External_source that provides the meaning of the Externally_defined_type_qualifier.

Formal propositions:

WR1: The name shall not be in type of pre_defined_type_qualifiers.

4.3.11 Length_tolerance_characteristic   EXPRESS-GMapping table

A Length_tolerance_characteristic is a type of Tolerance_characteristic.

EXPRESS specification:

*)
ENTITY Length_tolerance_characteristic
  SUBTYPE OF (Tolerance_characteristic);
WHERE
  WR1: ('CHARACTERISTIC_ARM.STATISTICAL_TOLERANCE_CHARACTERISTIC' IN TYPEOF(SELF)) OR ('CHARACTERISTIC_ARM.SYMMETRICAL_TOLERANCE_CHARACTERISTIC' IN TYPEOF(SELF)) OR ('CHARACTERISTIC_ARM.PLUS_MINUS_TOLERANCE_CHARACTERISTIC' IN TYPEOF(SELF)) OR (SIZEOF(QUERY(it <* SELF\Representation.items | NOT('VALUE_WITH_UNIT_EXTENSION_ARM.LENGTH_DATA_ELEMENT' IN TYPEOF(it)) )) = 0);
  WR2: NOT('CHARACTERISTIC_ARM.SYMMETRICAL_TOLERANCE_CHARACTERISTIC' IN TYPEOF(SELF)) OR (SIZEOF(QUERY(it <* SELF\Representation.items | ('VALUE_WITH_UNIT_EXTENSION_ARM.LENGTH_DATA_ELEMENT' IN TYPEOF(it)) )) = 1);
  WR3: NOT('CHARACTERISTIC_ARM.STATISTICAL_TOLERANCE_CHARACTERISTIC' IN TYPEOF(SELF)) OR (SIZEOF(QUERY(it <* SELF\Representation.items | ('VALUE_WITH_UNIT_EXTENSION_ARM.LENGTH_DATA_ELEMENT' IN TYPEOF(it)) )) = 1);
  WR4: NOT EXISTS(SELF\Representation.description);
  WR5: NOT('CHARACTERISTIC_ARM.PLUS_MINUS_TOLERANCE_CHARACTERISTIC' IN TYPEOF(SELF)) OR (SIZEOF(QUERY(it <* SELF\Representation.items | NOT(('EXTENDED_MEASURE_REPRESENTATION_ARM.VALUE_WITH_TOLERANCES' IN TYPEOF(it)) AND ('VALUE_WITH_UNIT_EXTENSION_ARM.LENGTH_DATA_ELEMENT' IN TYPEOF(it\Value_with_tolerances.item_value))) )) = 0);
END_ENTITY;
(*

Formal propositions:

WR1: If type of SELF is not Statistical_tolerance_characteristic, not Symmetrical_tolerance_characteristic, and not Plus_minus_tolerance_characteristic, then all members of items shall be of type Length_data_element.

WR2: If type of SELF is Symmetrical_tolerance_characteristic, then there shall be only one member of items that is of type Length_data_element.

WR3: If type of SELF is Statistical_tolerance_characteristic, then there shall be only one member of items that is of type Length_data_element.

WR4: The description shall not be provided.

WR5: If an instance of Length_tolerance_characteristic is a complex of Length_tolerance_characteristic and of Plus_minus_tolerance_characteristic, then the Numerical_item_with_unit in the role of item_value for the Value_with_tolerances in the role of items inherited from the Representation shall be a complex with Length_data_element.

4.3.12 Maximum_tolerance_characteristic   EXPRESS-GMapping table

A Maximum_tolerance_characteristic is a type of Tolerance_characteristic. The Maximum_tolerance_characteristic indicates the maximum allowed value for the parameter specified.

EXPRESS specification:

*)
ENTITY Maximum_tolerance_characteristic
  SUBTYPE OF (Tolerance_characteristic);
  SELF\Representation.items : SET[1:1] OF Value_limit;
WHERE
  WR1: SELF\Representation.items[1]\Value_limit.qualifiers[1]\Type_qualifier.name = 'maximum';
END_ENTITY;
(*

Attribute definitions:

items: specifies a role of the Value_limit for the Maximum_tolerance_characteristic. There is exactly one Value_limit for each items. The items specifies the maximum value of the Value_limit for the Maximum_tolerance_characteristic.

Formal propositions:

WR1: The name of the only member of items shall be set to 'maximum'.

4.3.13 Minimum_tolerance_characteristic   EXPRESS-GMapping table

A Minimum_tolerance_characteristic is a type of Tolerance_characteristic. The Minimum_tolerance_characteristic indicates the minimum allowed value for the parameter specified.

EXPRESS specification:

*)
ENTITY Minimum_tolerance_characteristic
  SUBTYPE OF (Tolerance_characteristic);
  SELF\Representation.items : SET[1:1] OF Value_limit;
WHERE
  WR1: SELF\Representation.items[1]\Value_limit.qualifiers[1]\Type_qualifier.name = 'minimum';
END_ENTITY;
(*

Attribute definitions:

items: specifies a role of the Value_limit for the Minimum_tolerance_characteristic. There shall be exactly one Value_limit for an items. The items specifies the minimum value of the Value_limit for the Minimum_tolerance_characteristic.

Formal propositions:

WR1: The name of the only member of items shall be set to 'minimum'.

4.3.14 Nominal_tolerance_characteristic   EXPRESS-GMapping table

A Nominal_tolerance_characteristic is a type of Tolerance_characteristic.

EXPRESS specification:

*)
ENTITY Nominal_tolerance_characteristic
  SUBTYPE OF (Tolerance_characteristic);
  SELF\Representation.items : SET[1:1] OF Qualified_numerical_item_with_unit;
WHERE
  WR1: SELF\Representation.items[1]\Qualified_representation_item.qualifiers[1]\Type_qualifier.name = 'nominal';
END_ENTITY;
(*

Attribute definitions:

items: specifies a value of the Qualified_numerical_item_with_unit for the Nominal_tolerance_characteristic.

Formal propositions:

WR1: The name of the only member of items shall be set to 'nominal'.

4.3.15 Null_representation_item   EXPRESS-GMapping table

A Null_representation_item is a type of Representation_item.

EXPRESS specification:

*)
ENTITY Null_representation_item
  SUBTYPE OF (Representation_item);
END_ENTITY;
(*

4.3.16 Plus_minus_tolerance_characteristic   EXPRESS-GMapping table

A Plus_minus_tolerance_characteristic is a type of Tolerance_characteristic. The Plus_minus_tolerance_characteristic includes a minimum, maximum, and nominal characteristic numeric parameter. All three have the same base unit, but may have different prefixes.

EXPRESS specification:

*)
ENTITY Plus_minus_tolerance_characteristic
  SUBTYPE OF (Tolerance_characteristic);
  SELF\Representation.items : SET[1:1] OF Value_with_tolerances;
END_ENTITY;
(*

Attribute definitions:

items: specifies the nominal, minimum, and maximum values of the Value_with_tolerances for the Plus_minus_tolerance_characteristic. There shall be one nominal, one minimum and one maximum value for the Plus_minus_tolerance_characteristic.

4.3.17 Qualified_tolerance_characteristic   EXPRESS-GMapping table

A Qualified_tolerance_characteristic is a type of Tolerance_characteristic.

EXPRESS specification:

*)
ENTITY Qualified_tolerance_characteristic
  SUBTYPE OF (Tolerance_characteristic);
  SELF\Representation.items : SET[1:4] OF Qualified_numerical_item_with_unit;
WHERE
  WR1: valid_qualified_tolerance_characteristic(SELF);
END_ENTITY;
(*

Attribute definitions:

items: specifies a value of the Qualified_numerical_item_with_unit for the Qualified_tolerance_characteristic.

Formal propositions:

WR1: The name of each member of items shall be 'nominal' or 'typical' or 'maximum' or 'minimum'. A specific name shall be used no more than once.

4.3.18 Range_characteristic   EXPRESS-GMapping table

A Range_characteristic is a type of Property_value_representation that specifies a range of values. The range may be open or closed. The range may not be single ended.

EXPRESS specification:

*)
ENTITY Range_characteristic
  SUBTYPE OF (Property_value_representation);
  SELF\Representation.items : SET[2:2] OF Numerical_item_with_unit;
  range_type : range_class;
WHERE
  WR1: TYPEOF(SELF\Representation.items[1]) = TYPEOF(SELF\Representation.items[2]);
  WR2: TYPEOF(SELF\Representation.items[1]\Value_with_unit.unit) = TYPEOF(SELF\Representation.items[2]\Value_with_unit.unit);
  WR3: valid_range(SELF\Representation.items[1], SELF\Representation.items[2]);
END_ENTITY;
(*

Attribute definitions:

items: specifies a value of the Numerical_item_with_unit for the Range_characteristic. There shall be exactly two Numerical_item_with_unit for the Range_characteristic.

range_type: specifies the classification of the Range_characteristic. The Range_characteristic shall be open, closed, lower_open or upper_open. Open shall be interpreted as not including the end point or points in the range. Closed shall be interpreted as including the end point or points in the range.

Formal propositions:

WR1: type of the first element in the items shall be the same as the type of the second element in the items.

WR2: type of the unit of the first element in the items shall be the same as the type of the unit of the second element in the items.

WR3: the first element in the items and the second element in the items shall be in valid range.

4.3.19 Statistical_tolerance_characteristic   EXPRESS-GMapping table

A Statistical_tolerance_characteristic is a type of Tolerance_characteristic. The Statistical_tolerance_characteristic supports the exchange of properties defined by statistical distributions.

EXPRESS specification:

*)
ENTITY Statistical_tolerance_characteristic
  SUBTYPE OF (Tolerance_characteristic);
  SELF\Representation.items : SET[2:?] OF Numerical_item_with_unit;
END_ENTITY;
(*

Attribute definitions:

items: specifies a value of the Numerical_item_with_unit for the Statistical_tolerance_characteristic. There shall two or more Numerical_item_with_units for the Statistical_tolerance_characteristic.

Informal propositions:

IP1: The items inherited from Representation shall all participate in the characterization of one statistical tolerance.

IP2: The name inherited from Representation shall be a recognized statistical tolerance type.

4.3.20 Symmetrical_tolerance_characteristic   EXPRESS-GMapping table

A Symmetrical_tolerance_characteristic is a type of Tolerance_characteristic that has symmetrical tolerances around the nominal value. The structure is a nominal value with a ratio. The ratio is applied to the nominal value and applies to both plus and minus.

EXAMPLE    A resistance of 22 Ohm plus or minus 10% would be represented with two values, 22 Ohm and .10 since the same quantity 10% is referenced on both sides of the nominal value.

NOTE    An unsymmetrical distribution would be represented with a member of Plus_minus_tolerance_characteristic.

EXPRESS specification:

*)
ENTITY Symmetrical_tolerance_characteristic
  SUBTYPE OF (Tolerance_characteristic);
  SELF\Representation.items : SET[2:2] OF Numerical_item_with_unit;
WHERE
  WR1: SIZEOF(QUERY( ri <* SELF\representation.items | 'VALUE_WITH_UNIT_EXTENSION_ARM.RATIO_DATA_ELEMENT' IN TYPEOF(ri))) = 1;
END_ENTITY;
(*

Attribute definitions:

items: specifies a value of the Numerical_item_with_unit for the Symmetrical_tolerance_characteristic. There shall be exactly two Numerical_item_with_unit for the Symmetrical_tolerance_characteristic.

Formal propositions:

WR1: There shall be exactly one Ratio_data_element in items of Symmetrical_tolerance_characteristic.

4.3.21 Text_representation_item   EXPRESS-GMapping table

A Text_representation_item is a type of String_representation_item.

EXPRESS specification:

*)
ENTITY Text_representation_item
  SUBTYPE OF (String_representation_item);
END_ENTITY;
(*

4.3.22 Tolerance_characteristic   EXPRESS-GMapping table

A Tolerance_characteristic is a type of Property_value_representation. A Tolerance_characteristic is either a Length_tolerance_characteristic or a Maximum_tolerance_characteristic or a Minimum_tolerance_characteristic, or a Nominal_tolerance_characteristic, or a Plus_minus_tolerance_characteristic, or a Qualified_tolerance_characteristic or a Statistical_tolerance_characteristic, or a Symmetrical_tolerance_characteristic or a Typical_tolerance_characteristic or a Maximum_tolerance_characteristic and a Length_tolerance_characteristic, or a Minimum_tolerance_characteristic and a Length_tolerance_characteristic, or a Nominal_tolerance_characteristic and a Length_tolerance_characteristic, or a Plus_minus_tolerance_characteristic and a Length_tolerance_characteristic, or a Qualified_tolerance_characteristic and a Length_tolerance_characteristic, or a Statistical_tolerance_characteristic and a Length_tolerance_characteristic, or a Symmetrical_tolerance_characteristic and a Length_tolerance_characteristic. or a Typical_tolerance_characteristic and a Length_tolerance_characteristic.

EXPRESS specification:

*)
ENTITY Tolerance_characteristic
  ABSTRACT SUPERTYPE OF (ONEOF (Maximum_tolerance_characteristic,
                                Minimum_tolerance_characteristic,
                                Nominal_tolerance_characteristic,
                                Plus_minus_tolerance_characteristic,
                                Qualified_tolerance_characteristic,
                                Statistical_tolerance_characteristic,
                                Symmetrical_tolerance_characteristic,
                                Typical_tolerance_characteristic)
                        ANDOR Length_tolerance_characteristic)
  SUBTYPE OF (Property_value_representation);
WHERE
  WR1: SELF\Representation.context_of_items\Representation_context.id = 'tolerance values';
  WR2: NOT EXISTS(SELF\Representation.name);
END_ENTITY;
(*

Formal propositions:

WR1: The Representation.context_of_items \ Representation_context.id shall be 'tolerance values'.

WR2: The name shall not be populated.

4.3.23 Typical_tolerance_characteristic   EXPRESS-GMapping table

A Typical_tolerance_characteristic is a type of Tolerance_characteristic.

EXPRESS specification:

*)
ENTITY Typical_tolerance_characteristic
  SUBTYPE OF (Tolerance_characteristic);
  SELF\Representation.items : SET[1:1] OF Value_limit;
WHERE
  WR1: SELF\Representation.items[1]\Value_limit.qualifiers[1]\Type_qualifier.name = 'typical';
END_ENTITY;
(*

Attribute definitions:

items: specifies a value of the Qualified_numerical_item_with_unit for the Typical_tolerance_characteristic.

Formal propositions:

WR1: The name of the only member of items shall be set to 'typical'.

4.4 ARM subtype constraint definitions

This subclause specifies the ARM subtype constraints for this module. Each subtype constraint places constraints on the possible super-type / subtype instantiations. The ARM subtype constraints and definitions are specified below.

4.4.1 exclusive_property_value_representation_characteristic   EXPRESS-GMapping table

The exclusive_property_value_representation_characteristic constraint specifies a constraint that applies to instances of Property_value_representation and enforces the rule that its subtypes Range_characteristic and Tolerance_characteristic are exclusive.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT exclusive_property_value_representation_characteristic FOR Property_value_representation;
  ONEOF (Range_characteristic,
         Tolerance_characteristic);
END_SUBTYPE_CONSTRAINT;
(*

4.4.2 type_qualifier_subtypes   EXPRESS-GMapping table

The type_qualifier_subtypes constraint specifies a constraint that applies to instances of Type_qualifier and enforces the rule that its subtypes Externally_defined_type_qualifier and Pre_defined_type_qualifier are exclusive.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT type_qualifier_subtypes FOR Type_qualifier;
  ONEOF (Externally_defined_type_qualifier,
         Pre_defined_type_qualifier);
END_SUBTYPE_CONSTRAINT;
(*

4.4.3 independent_property_subtypes   EXPRESS-GMapping table

The independent_property_subtypes constraint specifies a constraint that applies to instances of Independent_property and enforces the rule that its subtypes Characteristic_data_table_header and Characteristic_data_column_header are exclusive.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT independent_property_subtypes FOR Independent_property;
  ONEOF (Characteristic_data_table_header,
         Characteristic_data_column_header);
END_SUBTYPE_CONSTRAINT;
(*

4.4.4 c_representation_item_subtypes   EXPRESS-GMapping table

The c_representation_item_subtypes constraint specifies a constraint that applies to instances of Representation_item and enforces the rule that its subtypes Characteristic_data_table and Characteristic_data_table_row are exclusive.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT c_representation_item_subtypes FOR Representation_item;
  ONEOF (Characteristic_data_table,
         Characteristic_data_table_row);
END_SUBTYPE_CONSTRAINT;
(*

4.5 ARM function definitions

This subclause specifies the ARM functions for this module. The ARM functions and definitions are specified below.

4.5.1 valid_qualified_tolerance_characteristic

The valid_qualified_tolerance_characteristic function returns TRUE if the value of input contains the correct data.

EXPRESS specification:

*)
FUNCTION valid_qualified_tolerance_characteristic (input : Qualified_tolerance_characteristic) : BOOLEAN;
LOCAL
     bag_data : BAG OF STRING := [];
     valid_set : SET OF STRING := ['nominal', 'typical' , 'maximum', 'minimum'];
  END_LOCAL;
  REPEAT i := 1 TO SIZEOF(input\Qualified_tolerance_characteristic.items);
    REPEAT j := 1 TO SIZEOF(input\Qualified_tolerance_characteristic.items[i]\Qualified_representation_item.qualifiers);
     IF 'QUALIFIED_MEASURE_ARM.TYPE_QUALIFIER' IN TYPEOF(input\Qualified_tolerance_characteristic.items[i]\Qualified_representation_item.qualifiers[j])
      THEN
        bag_data := bag_data + input\Qualified_tolerance_characteristic.items[i]\Qualified_representation_item.qualifiers[j]\Type_qualifier.name;
     END_IF;
    END_REPEAT;
  END_REPEAT;

  IF (SIZEOF(bag_to_set(bag_data)) = SIZEOF(bag_data)) AND
     (VALUE_UNIQUE(bag_data)) AND 
     (SIZEOF(valid_set * bag_data) = SIZEOF(bag_data)) 
  THEN RETURN(TRUE);
  END_IF;
    
   RETURN(FALSE);
END_FUNCTION;
(*

Argument definitions:

input: the specified Qualified_tolerance_characteristic.

4.5.2 valid_range

The valid_range function returns TRUE if the value of input1 is less than the value of input2.

EXAMPLE 1   input 1 = 3 milli Amp input 2 = -4 milli Amp the valid_range function returns FALSE

EXAMPLE 2   input 1 = 1 inch input 2 = 2 inch the valid_range function returns TRUE

EXAMPLE 3   input 1 = 1 nano Farad input 2 = 1 micro Farad the valid_range function returns TRUE

NOTE    Only the function skeleton is provided to illustrate the interfaces required.

EXPRESS specification:

*)
FUNCTION valid_range (input1 : Numerical_item_with_unit; input2 : Numerical_item_with_unit) : BOOLEAN;
RETURN(TRUE);
END_FUNCTION;
(*

Argument definitions:

input1: the specified Numerical_item_with_unit.

input2: the specified Numerical_item_with_unit.



*)
END_SCHEMA;  -- Characteristic_arm
(*


© ISO 2018 — All rights reserved