Schema: Part_and_version_identification_arm



SCHEMA Part_and_version_identification_arm;

USE FROM Product_identification_arm;    -- ISO/TS 10303-1017

USE FROM Product_version_arm;    -- ISO/TS 10303-1018

REFERENCE FROM Product_identification_arm   -- ISO/TS 10303-1017
  (types_of_product);


ENTITY Part
  SUBTYPE OF (Product);
WHERE
  WR1: SIZEOF(['part', 'raw material', 'tool']*types_of_product(SELF))=1;
END_ENTITY;

ENTITY Part_version
  SUBTYPE OF (Product_version);
  SELF\Product_version.of_product : Part;
END_ENTITY;

RULE part_version_constraint FOR
(Product_version);
WHERE
  WR1: SIZEOF ( QUERY ( pv <* Product_version | ( NOT ( 'PART_AND_VERSION_IDENTIFICATION_ARM.' + 'PART_VERSION' IN TYPEOF ( pv) ) ) AND ( 'PART_AND_VERSION_IDENTIFICATION_ARM.' + 'PART' IN TYPEOF ( pv.of_product) ) ) ) =0 ;
END_RULE;

END_SCHEMA;  -- Part_and_version_identification_arm