| Application module: Product occurrence | ISO/TS 10303-1063:2018-11(E) © ISO | 
         (*
ISO/TC 184/SC 4/WG 12 N9689 - ISO/TS 10303-1063 Product occurrence - EXPRESS ARM
Supersedes 
         ISO/TC 184/SC 4/WG 12 N7750
*)
         
SCHEMA Product_occurrence_arm;
         USE FROM
         Assembly_structure_arm;
            -- ISO/TS 10303-1026
         USE FROM
         Extended_measure_representation_arm;
            -- ISO/TS 10303-1106
         USE FROM
         Part_view_definition_arm;
            -- ISO/TS 10303-1023
         USE FROM
         Product_view_definition_relationship_arm;
            -- ISO/TS 10303-1041
         USE FROM
         Specified_product_arm;
            -- ISO/TS 10303-1104
TYPE extended_value_with_unit =
         
         EXTENSIBLE
         
         
         SELECT
            (Value_with_unit, 
    Value_limit, 
    Value_range);
         END_TYPE; 
         
ENTITY Definition_based_product_occurrence
           SUBTYPE OF (Product_occurrence);
           derived_from : Part_view_definition;
WHERE
           WR1: SELF\Product_view_definition.defined_version = derived_from.defined_version;
         
         END_ENTITY;
ENTITY Product_occurrence
           ABSTRACT SUPERTYPE
         
         OF (ONEOF (Definition_based_product_occurrence,
                                Specification_based_product_occurrence,
                                Specified_occurrence)
                        AND ONEOF (Product_occurrence_with_quantity,
                             Single_instance,
                             Specified_occurrence))
           SUBTYPE OF (Product_view_definition);
           SELF\Product_view_definition.defined_version : Part_version;
DERIVE
           SELF\Product_view_definition.initial_context : Initial_view_definition_context := View_definition_context('','') || Initial_view_definition_context(?);
INVERSE
           occurrence_contexts : SET[0:?] OF Product_occurrence_definition_relationship FOR related_view;
           view_definition_contexts : SET[0:?] OF View_definition_relationship FOR related_view;
WHERE
           WR1: ('PRODUCT_OCCURRENCE_ARM.SPECIFIED_OCCURRENCE' IN TYPEOF(SELF)) OR (SIZEOF(occurrence_contexts) + SIZEOF(view_definition_contexts)
            >= 1);
           WR2: NOT EXISTS(SELF\Product_view_definition.additional_characterization);
           WR3: SIZEOF(QUERY( oc <* occurrence_contexts |
            NOT( NOT('ASSEMBLY_STRUCTURE_ARM.ASSEMBLY_COMPONENT_RELATIONSHIP' IN TYPEOF(oc)) OR
            NOT EXISTS(oc\Assembly_component_relationship.quantity))
            )) = 0;
         
         END_ENTITY;
ENTITY Product_occurrence_with_quantity
           ABSTRACT SUPERTYPE
         
         OF (ONEOF (Quantified_instance,
                                Selected_instance))
           SUBTYPE OF (Product_occurrence);
           occurrence_quantity : 
         OPTIONAL 
         extended_value_with_unit;
         
         END_ENTITY;
ENTITY Quantified_instance
           SUBTYPE OF (Product_occurrence_with_quantity);
           SELF\Product_occurrence_with_quantity.occurrence_quantity : Value_with_unit;
         
         END_ENTITY;
ENTITY Selected_instance
           SUBTYPE OF (Product_occurrence_with_quantity);
           quantity_criterion : 
         OPTIONAL 
         STRING;
         
         END_ENTITY;
ENTITY Single_instance
           SUBTYPE OF (Product_occurrence);
         
         END_ENTITY;
ENTITY Specification_based_part_version
           SUBTYPE OF (Specification_based_product_version, Part_version);
         
         END_ENTITY;
ENTITY Specification_based_product_occurrence
           SUBTYPE OF (Product_occurrence);
           SELF\Product_view_definition.defined_version : Specification_based_part_version;
         
         END_ENTITY;
ENTITY Specified_occurrence
           SUBTYPE OF (Product_occurrence);
           definition : Product_occurrence;
           upper_usage : Product_occurrence;
WHERE
           WR1: SIZEOF(occurrence_contexts) = 0;
         
         END_ENTITY;
         END_SCHEMA;  -- Product_occurrence_arm
© ISO 2018 — All rights reserved