Application module: Surface conditions ISO/TS 10303-1110: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 ARMs
   4.2 ARM type definitions
   4.3 ARM entity definitions
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM entity definitions
     5.2.2 MIM function definition
     5.2.3 MIM rule definitions

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

5.2 MIM EXPRESS short listing

This clause specifies the EXPRESS schema derived from the mapping table. It uses elements from the common resources or from other application modules and defines the EXPRESS constructs that are specific to this part of ISO 10303.

This clause constitutes the Module Interpreted Module (MIM) of the application module.

This clause also specifies the modifications that apply to the constructs imported from the common resources.

The following restrictions apply to the use, in this schema, of constructs defined in common resources or in application modules:

Short names of entities defined in this schema are described in Annex A. Unambiguous identification of this schema is defined in Annex B.

EXPRESS specification:

*)
SCHEMA Surface_conditions_mim;

USE FROM application_context_schema    --  ISO 10303-41
  (application_context_element);

USE FROM Generic_material_aspects_mim;    --  ISO/TS 10303-1681

USE FROM Geometric_tolerance_mim;    --  ISO/TS 10303-1051

USE FROM material_property_definition_schema    --  ISO 10303-45
  (material_designation,
   property_definition_relationship);

USE FROM Part_view_definition_mim;    --  ISO/TS 10303-1023

USE FROM product_property_definition_schema    --  ISO 10303-41
  (property_definition,
   shape_aspect_relationship);

USE FROM product_property_representation_schema    --  ISO 10303-41
  (property_definition_representation);

USE FROM Value_with_unit_extension_mim;    --  ISO/TS 10303-1753
(*

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

application_context_schema ISO 10303-41
Generic_material_aspects_mim ISO/TS 10303-1681
Geometric_tolerance_mim ISO/TS 10303-1051
material_property_definition_schema ISO 10303-45
Part_view_definition_mim ISO/TS 10303-1023
product_property_definition_schema ISO 10303-41
product_property_representation_schema ISO 10303-41
Value_with_unit_extension_mim ISO/TS 10303-1753

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

5.2.1 MIM entity definitions

This subclause specifies the MIM entities for this module. The MIM entities and definitions are specified below.

5.2.1.1 contact_ratio_representation   EXPRESS-G

A contact_ratio_representation is a type of representation that represents the ratio of contact between an object and a measuring gauge.

For more information, see ARM definition of Contact_ratio.

EXPRESS specification:

*)
ENTITY contact_ratio_representation
  SUBTYPE OF (representation);
WHERE
  WR1: (SIZEOF ( SELF.items ) =1 ) AND (SIZEOF ( QUERY ( i <* SELF.items | (SIZEOF(['QUALIFIED_MEASURE_SCHEMA.'+ 'MEASURE_REPRESENTATION_ITEM' , 'EXTENDED_MEASURE_REPRESENTATION_MIM.' + 'VALUE_RANGE']* TYPEOF(i)) = 1) AND (i.name = 'ratio value'))) = 1);
  WR2: (SIZEOF ( QUERY ( pdr <* USEDIN ( SELF ,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) | pdr\property_definition_representation.name = 'contact ratio reference' ) ) = 1 ) AND (SIZEOF ( QUERY (pdr <* USEDIN ( SELF ,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) | (pdr\property_definition_representation.name = 'contact ratio reference' ) AND ('PRODUCT_DEFINITION_SCHEMA.'+ 'PRODUCT_DEFINITION' IN TYPEOF ( pdr\property_definition_representation.definition\property_definition.definition)) )) = 1);
  WR3: (SIZEOF(USEDIN(SELF ,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION')) = 1) AND (SIZEOF ( QUERY ( pdr <* USEDIN ( SELF , 'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (pdr.definition , 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+'GENERAL_PROPERTY_ASSOCIATION.'+ 'DERIVED_DEFINITION' ) | ( 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+ 'GENERAL_PROPERTY' IN TYPEOF (gpa\general_property_association.base_definition ) ) AND (gpa\general_property_association.base_definition\general_property.name ='surface_condition') )) = 1 )) = 1);
END_ENTITY;
(*

Formal propositions:

WR1: Each instance of contact_ratio_representation shall contain exactly one representation_item in its set of items. This representation_item shall be of type measure_representation_item or of type value_range and it shall have a name of 'ratio value'.

WR2: Each instance of contact_ratio_representation shall be referenced as the used_representation by exactly one property_definition_representation that has a name of 'contact ratio reference'. This property_definition_representation shall relate the representation with a product_definition.

WR3: Each instance of contact_ratio_representation shall be referenced by exactly one property_definition_representation. This property_definition_representation shall relate the representation with a property_definition that is the derived_definition of a general_property_association that refers as base_definition to a general_property, which is a surface condition.

5.2.1.2 hardness_representation   EXPRESS-G

A hardness_representation is a type of representation that represents the hardness of an object. For more information, see ARM definition for Hardness.

EXPRESS specification:

*)
ENTITY hardness_representation
  SUBTYPE OF (representation);
WHERE
  WR1: ( {2<= SIZEOF ( SELF.items ) <=4} ) AND ( SIZEOF ( QUERY ( i <* items | ( 'QUALIFIED_MEASURE_SCHEMA.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND ( i.name IN [ 'measuring method' , 'measuring position' ] ) ) ) + SIZEOF ( QUERY ( i <* items | ( SIZEOF ( ['QUALIFIED_MEASURE_SCHEMA.'+ 'MEASURE_REPRESENTATION_ITEM' , 'EXTENDED_MEASURE_REPRESENTATION_MIM.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) AND ( i.name IN ['depth' , 'hardness'] ) ) ) = SIZEOF ( SELF.items ) );
  WR2: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'measuring method' ) ) =1;
  WR3: SIZEOF ( QUERY ( i <* SELF.items | i.name ='hardness' ) ) =1;
  WR4: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'measuring position' ) ) <=1;
  WR5: SIZEOF ( QUERY ( i <* SELF.items | i.name ='depth' ) ) <=1;
  WR6: ( SIZEOF ( USEDIN ( SELF , 'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr <* USEDIN ( SELF , 'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( pdr.definition , 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+'GENERAL_PROPERTY_ASSOCIATION.'+ 'DERIVED_DEFINITION' ) | ( 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND ( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 ) ) =1 );
END_ENTITY;
(*

Formal propositions:

WR1: Each instance of hardness_representation shall contain between two and four representation_item instances in its set of items. These representation_item instances shall either be of type descriptive_representation_item and have a name of either 'measuring method' or 'measuring position', or shall be of type measure_representation_item or value_range and have a name of either 'depth' or 'hardness'.

WR2: Each instance of hardness_representation shall contain exactly one representation_item in its set of items that has a name of 'measuring method'.

WR3: Each instance of hardness_representation shall contain exactly one measure_representation_item or value_range in its set of items that has a name of 'hardness'.

WR4: Each instance of hardness_representation shall contain at most one representation_item in its set of items that has a name of 'measuring position'.

WR5: Each instance of hardness_representation shall contain at most one measure_representation_item or value_range in its set of items that has a name of 'depth'.

WR6: Each instance of hardness_representation shall be referenced by exactly one property_definition_representation. This property_definition_representation shall relate the representation with a property_definition that is the derived_definition of a general_property_association that refers as base_definition to a general_property, which is a surface condition.

5.2.1.3 surface_texture_representation   EXPRESS-G

A surface_texture_representation is a type of representation that represents a surface texture such as roughness or waviness. The kind of surface texture that is represented is given in the names of the representation_item instances.

The method or standard according to which the surface texture is represented is specified in the description of the descriptive_representation_item.

For more information, see ARM definition of Surface_texture.

EXPRESS specification:

*)
ENTITY surface_texture_representation
  SUBTYPE OF (representation);
WHERE
  WR1: SIZEOF ( QUERY ( i <* SELF.items | SIZEOF ( ['QUALIFIED_MEASURE_SCHEMA.'+ 'MEASURE_REPRESENTATION_ITEM' , 'EXTENDED_MEASURE_REPRESENTATION_MIM.'+ 'VALUE_RANGE' , 'QUALIFIED_MEASURE_SCHEMA.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM']* TYPEOF ( i ) ) <>1 ) ) =0;
  WR2: ( SIZEOF ( QUERY ( i <* SELF.items | 'QUALIFIED_MEASURE_SCHEMA.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) ) =1 ) AND ( SIZEOF ( QUERY ( i <* SELF.items | ( 'QUALIFIED_MEASURE_SCHEMA.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND ( i.name = 'measuring method' ) ) ) =1 );
  WR3: SIZEOF ( QUERY ( i <* SELF.items | SIZEOF ( ['QUALIFIED_MEASURE_SCHEMA.'+ 'MEASURE_REPRESENTATION_ITEM' , 'EXTENDED_MEASURE_REPRESENTATION_MIM.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) ) >0;
  WR4: ( SIZEOF ( USEDIN ( SELF , 'REPRESENTATION_SCHEMA.'+'REPRESENTATION_RELATIONSHIP.'+ 'REP_1' ) ) <=1 ) AND ( SIZEOF ( USEDIN ( SELF , 'REPRESENTATION_SCHEMA.'+'REPRESENTATION_RELATIONSHIP.'+ 'REP_2' ) ) =0 ) AND ( SIZEOF ( QUERY ( rr <* USEDIN ( SELF , 'REPRESENTATION_SCHEMA.'+'REPRESENTATION_RELATIONSHIP.'+ 'REP_1' ) | rr.rep_2.name = 'measuring direction' ) ) = SIZEOF ( USEDIN ( SELF , 'REPRESENTATION_SCHEMA.'+'REPRESENTATION_RELATIONSHIP.'+ 'REP_1' ) ) );
  WR5: ( SIZEOF ( USEDIN ( SELF , 'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr <* USEDIN ( SELF , 'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( pdr.definition , 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+'GENERAL_PROPERTY_ASSOCIATION.'+ 'DERIVED_DEFINITION' ) | ( 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND ( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 ) ) =1 );
END_ENTITY;
(*

Formal propositions:

WR1: Each instance of surface_texture_representation shall contain only representation_item instances that are of type measure_representation_item, value_range, or descriptive_representation_item.

WR2: Each instance of surface_texture_representation shall contain exactly one descriptive_representation_item. The name of this descriptive_representation_item shall be 'measuring method'.

WR3: Each instance of surface_texture_representation shall contain at least one measure_representation_item or value_range.

WR4: Each instance of surface_texture_representation shall be referenced by at most one representation_relationship. If such a relationship is present, the surface_texture_representation shall be the rep_1 and the rep_2 shall be a representation whose name is 'measuring direction'.

WR5: Each instance of surface_texture_representation shall be referenced by exactly one property_definition_representation. This property_definition_representation shall relate the representation with a property_definition that is the derived_definition of a general_property_association that refers as base_definition to a general_property, which is a surface condition.

5.2.1.4 tactile_appearance_representation   EXPRESS-G

A tactile_appearance_representation is a type of representation that represents the tactile appearance of an object.

For more information see ARM definition of Tactile_appearance.

EXPRESS specification:

*)
ENTITY tactile_appearance_representation
  SUBTYPE OF (representation);
WHERE
  WR1: SIZEOF ( QUERY ( i <* SELF.items | SIZEOF ( ['QUALIFIED_MEASURE_SCHEMA.'+ 'MEASURE_REPRESENTATION_ITEM' , 'EXTENDED_MEASURE_REPRESENTATION_MIM.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) <>1 )) =0;
  WR2: SIZEOF ( QUERY ( i <* SELF.items | name ='depth' ) ) <=1;
  WR3: ( SIZEOF ( USEDIN ( SELF , 'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr <* USEDIN ( SELF , 'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( pdr.definition , 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+'GENERAL_PROPERTY_ASSOCIATION.'+ 'DERIVED_DEFINITION' ) | ( 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND ( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 )) =1 );
END_ENTITY;
(*

Formal propositions:

WR1: Each instance of tactile_appearance_representation shall only representation_item instances of type measure_representation_item or value_range in its set of items.

WR2: At most one measure_representation_item or value_range in the set of items shall have a name of 'depth'.

WR3: Each instance of tactile_appearance_representation shall be referenced by exactly one property_definition_representation. This property_definition_representation shall relate the representation with a property_definition that is the derived_definition of a general_property_association that refers as base_definition to a general_property, which is a surface condition.

5.2.1.5 visual_appearance_representation   EXPRESS-G

A visual_appearance_representation is a type of representation that represents the visual appearance of an object.

For more information see ARM definition of Visual_appearance.

EXPRESS specification:

*)
ENTITY visual_appearance_representation
  SUBTYPE OF (representation);
WHERE
  WR1: ( {3<= SIZEOF ( SELF.items ) <=9} ) AND ( SIZEOF ( QUERY ( i <* items | ( 'QUALIFIED_MEASURE_SCHEMA.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND ( i.name IN [ 'colour id' , 'colour name' , 'lustre' , 'pattern' , 'transparency', 'orientation'] ) ) ) + SIZEOF ( QUERY ( i <* items | ( SIZEOF ( ['QUALIFIED_MEASURE_SCHEMA.'+ 'MEASURE_REPRESENTATION_ITEM' , 'EXTENDED_MEASURE_REPRESENTATION_MIM.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) AND ( i.name IN ['refraction index' , 'opacity'] ) ) ) + SIZEOF ( QUERY ( i <* items | ( 'FILE_IDENTIFICATION_MIM.'+ 'DOCUMENT_FILE' IN TYPEOF ( i ) ) AND ( i.name IN [ 'texture map' ] ) ) ) = SIZEOF ( SELF.items ) );
  WR2: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'colour id' )) =1;
  WR3: SIZEOF ( QUERY ( i <* SELF.items | i.name ='lustre' ) )=1;
  WR4: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'colour name') ) <=1;
  WR5: SIZEOF ( QUERY ( i <* SELF.items | i.name ='pattern' ) )<=1;
  WR6: SIZEOF ( QUERY ( i <* SELF.items | i.name ='transparency') ) <=1;
  WR7: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'texture map') ) <=1;
  WR8: SIZEOF ( QUERY ( i <* SELF.items | i.name ='refraction index' ) )<=1;
  WR9: SIZEOF ( QUERY ( i <* SELF.items | i.name ='opacity') ) <=1;
  WR10: SIZEOF ( QUERY ( i <* SELF.items | i.name ='orientation') ) <=1;
  WR11: ( SIZEOF ( USEDIN ( SELF , 'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr <* USEDIN ( SELF , 'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( pdr.definition , 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+'GENERAL_PROPERTY_ASSOCIATION.'+ 'DERIVED_DEFINITION' ) | ( 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND ( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 )) =1 );
END_ENTITY;
(*

Formal propositions:

WR1: Each instance of visual_appearance_representation shall contain between two and five representation_item instances in its set of items. These representation_item instances shall be of type descriptive_representation_item and have a name of 'colour id', 'colour name', 'lustre', 'pattern', or 'transparency'.

WR2: Each instance of visual_appearance_representation shall contain exactly one representation_item in its set of items that has a name of 'colour id'.

WR3: Each instance of visual_appearance_representation shall contain exactly one representation_item in its set of items that has a name of 'lustre'.

WR4: Each instance of visual_appearance_representation shall contain at most one representation_item in its set of items that has a name of 'colour name'.

WR5: Each instance of visual_appearance_representation shall contain at most one representation_item in its set of items that has a name of 'pattern'.

WR6: Each instance of visual_appearance_representation shall contain at most one representation_item in its set of items that has a name of 'transparency'.

WR7: Each instance of visual_appearance_representation shall contain at most one representation_item in its set of items that has a name of 'texture map'.

WR8: Each instance of visual_appearance_representation shall contain at most one representation_item in its set of items that has a name of 'refraction index'.

WR9: Each instance of visual_appearance_representation shall contain at most one representation_item in its set of items that has a name of 'opacity'.

WR10: Each instance of visual_appearance_representation shall contain at most one representation_item in its set of items that has a name of 'orientation'.

WR11: Each instance of visual_appearance_representation shall be referenced by exactly one property_definition_representation. This property_definition_representation shall relate the representation with a property_definition that is the derived_definition of a general_property_association that refers as base_definition to a general_property, which is a surface condition.

5.2.2 MIM function definition

This subclause specifies the MIM function for this module. The MIM function and definition is specified below.

5.2.2.1 surface_condition_correlation

The surface_condition_correlation function returns FALSE if, in the case where the name attribute of an instance of property_definition is one of the names associated with the representation of surface conditions, the instance of representation has a different name.

If the names are the same, the function returns TRUE. If the name of the property_definition is not in the list of names of surface conditions, the function returns UNKNOWN.

EXPRESS specification:

*)
FUNCTION surface_condition_correlation (pd : property_definition; rep : representation) : LOGICAL;
CASE pd.name OF
      'visual appearance', 'tactile appearance', 'contact ratio', 'hardness', 'treatment result', 'surface texture' : 
	  RETURN(pd.name = rep.name);
      OTHERWISE : RETURN(UNKNOWN);
    END_CASE;
END_FUNCTION;
(*

Argument definitions:

pd: the property_definition that is considered.

rep: the representation that is considered.

5.2.3 MIM rule definitions

This subclause specifies the MIM rules for this module. The MIM rules and definitions are specified below.

5.2.3.1 material_for_coating_layer

The material_for_coating_layer rule constrains instances of shape_aspect with name 'coating layer', to be referred to by exactly one material_designation that specifies the material they are made of.

EXPRESS specification:

*)
RULE material_for_coating_layer FOR
(shape_aspect);
LOCAL
      coating_layers: SET OF shape_aspect := [];
    END_LOCAL;
    coating_layers:= QUERY( r <* shape_aspect | 
	  (r.name = 'coating layer') );
WHERE
  WR1: SIZEOF( QUERY( r <* coating_layers | SIZEOF(USEDIN(r , 'MATERIAL_PROPERTY_DEFINITION_SCHEMA.MATERIAL_DESIGNATION.DEFINITIONS'))<>1 )) = 0;
END_RULE;
(*

Argument definitions:

shape_aspect : the set of all instances of shape_aspect.

Formal propositions:

WR1: There shall not be any instance of shape_aspect with name 'coating layer' that is not referred to by exactly one material_designation.

5.2.3.2 restrict_representation_for_surface_condition

The restrict_representation_for_surface_condition rule enforces that the instance of representation that provides the values of a surface condition be associated with the appropriate instance of property_definition.

EXPRESS specification:

*)
RULE restrict_representation_for_surface_condition FOR
(property_definition_representation);
WHERE
  WR1: SIZEOF(QUERY(pdr <* property_definition_representation | NOT surface_condition_correlation(pdr.definition, pdr.used_representation) ))=0;
END_RULE;
(*

Argument definitions:

property_definition_representation : the set of all instances of property_definition_representation.

Formal propositions:

WR1: there shall not be any instance of property_definition_representation such that the represented property identifies a surface condition and such that the used_representation is not the representation appropriate for this kind of surface condition.

5.2.3.3 restrict_treatment_result

The restrict_treatment_result rule constrains the content of a representation that fulfils the requirement of a Treatment_result.

EXPRESS specification:

*)
RULE restrict_treatment_result FOR
(representation);
LOCAL
      treatment_results: SET OF representation := [];
    END_LOCAL;
    treatment_results:= QUERY( r <* representation | 
	  (r.name = 'treatment result') );
WHERE
  WR1: (SIZEOF( QUERY( r <* treatment_results | (SIZEOF(r.items) > 2) )) = 0) AND (SIZEOF( QUERY( r <* treatment_results | (SIZEOF( QUERY( i <* r.items | NOT ('QUALIFIED_MEASURE_SCHEMA.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) > 0) )) = 0);
  WR2: SIZEOF( QUERY( r <* treatment_results | (SIZEOF( QUERY( i <* r.items | i.name = 'result' )) = 0) )) = 0;
  WR3: SIZEOF( QUERY( r <* treatment_results | (SIZEOF( QUERY( i <* r.items | i.name = 'purpose' )) > 1) )) = 0;
END_RULE;
(*

Argument definitions:

representation : the set of all instances of representation.

Formal propositions:

WR1: Each instance of representation that has a name of 'treatment result' shall contain at most 2 representation_item instances in its set of items. These representation_item instances shall be of type descriptive_representation_item.

WR2: Exactly one representation_item shall have a name of 'result'.

WR3: At most one representation_item shall have a name of 'purpose'.



*)
END_SCHEMA;  -- Surface_conditions_mim
(*


© ISO 2019 — All rights reserved