Application module: Product occurrence | ISO/TS 10303-1063:2018-11(E) © ISO |
This clause specifies the information requirements for the Product occurrence 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 Product_occurrence_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Product_occurrence_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
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
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Assembly_structure_arm ISO/TS 10303-1026 Extended_measure_representation_arm ISO/TS 10303-1106 Part_view_definition_arm ISO/TS 10303-1023 Product_view_definition_relationship_arm ISO/TS 10303-1041 Specified_product_arm ISO/TS 10303-1104
NOTE 2 See Annex C, Figures C.1and C.2 for a graphical representation of this schema.
This subclause specifies the ARM type for this application module. The ARM type and definition is specified below.
The extended_value_with_unit type is an extensible list of alternate data types that allows for the designation of the data types Value_with_unit, Value_limit, and Value_range.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
*)
TYPE
extended_value_with_unit =
EXTENSIBLE
SELECT
(Value_with_unit,
Value_limit,
Value_range);
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.
EXPRESS specification:
*)
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;
(*
Attribute definitions:
derived_from: the Product_view_definition on which the Definition_based_product_occurrence is based.
Formal propositions:
WR1: The defined_version inherited from Product_view_definition shall also be defined_version for derived_from.
A Product_occurrence is a type of Product_view_definition. A Product_occurrence is the identification of an occurrence of an object in a product structure. A Product_occurrence is a Definition_based_product_occurrence, Specification_based_product_occurrence, or a Specified_occurrence; and additionally, if it is not a Specified_occurrence, then it is either a Product_occurrence_with_quantity, or a Single_instance.
EXPRESS specification:
*)
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;
(*
Attribute definitions:
defined_version: an inherited attribute that is redeclared to be of type Part_view_definition.
initial_context: an inherited attribute that is redeclared to a constant value to prevent further usages.
occurrence_contexts: an inverse relationship that specifies that the existence of the Product_occurrence is dependent on the existence of the Product_occurrence_definition_relationship that specifies the Product_occurrence as its related_view. There shall be zero or more Product_occurrence_definition_relationships for a particular Product_occurrence.
view_definition_contexts: an inverse relationship that specifies that the existence of the Product_occurrence is dependent on the existence of the View_definition_relationship that specifies the Product_occurrence as its related_view. There shall be zero or more View_definition_relationships for a particular Product_occurrence.
Formal propositions:
WR1: In the case that the product_occurrence is not a Selected_instance there shall exist at least one occurrence_contexts or view_definition_contexts.
WR2: The additional_characterization shall not be populated.
WR3: if the occurrence_contexts is set and its value is also a Assembly_component_relationship, then the attribute quantity of the Assembly_component_relationship must be unset.
EXPRESS specification:
*)
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;
(*
Attribute definitions:
occurrence_quantity: specifies a role of the extended_value_with_unit for the Product_occurrence_with_quantity. The value of this attribute need not be specified.
A Quantified_instance is a type of Product_occurrence_with_quantity that identifies a quantified occurrence of a part, the occurrence quantity being defined by a Value_with_unit.
EXPRESS specification:
*)
ENTITY Quantified_instance
SUBTYPE OF (Product_occurrence_with_quantity);
SELF\Product_occurrence_with_quantity.occurrence_quantity : Value_with_unit;
END_ENTITY;
(*
Attribute definitions:
occurrence_quantity: specifies a role of the Value_with_unit for the Quantified_instance.
EXPRESS specification:
*)
ENTITY Selected_instance
SUBTYPE OF (Product_occurrence_with_quantity);
quantity_criterion :
OPTIONAL
STRING;
END_ENTITY;
(*
Attribute definitions:
quantity_criterion: specifies the string value. The value of this attribute need not be specified.
A Single_instance is a type of Product_occurrence that identifies a single occurrence of a part.
NOTE The concept of Single_instance is only meaningful for countable parts or materials.
EXPRESS specification:
*)
ENTITY Single_instance
SUBTYPE OF (Product_occurrence);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Specification_based_part_version
SUBTYPE OF (Specification_based_product_version, Part_version);
END_ENTITY;
(*
A Specification_based_product_occurrence is a type of Product_occurrence that identifies an occurrence of a Specification_based_product_version.
NOTE The occurrence characterization is not derived from a Product_view_definition as for a Definition_based_product_occurrence but from a Product_specification.
EXPRESS specification:
*)
ENTITY Specification_based_product_occurrence
SUBTYPE OF (Product_occurrence);
SELF\Product_view_definition.defined_version : Specification_based_part_version;
END_ENTITY;
(*
Attribute definitions:
defined_version: the Specification_based_part_version of which the Specification_based_product_occurrence defines a particular occurrence.
EXPRESS specification:
*)
ENTITY Specified_occurrence
SUBTYPE OF (Product_occurrence);
definition : Product_occurrence;
upper_usage : Product_occurrence;
WHERE
WR1: SIZEOF(occurrence_contexts) = 0;
END_ENTITY;
(*
Attribute definitions:
definition: the lower level Product_occurrence that is defining the Specified_occurrence.
upper_usage: the higher level Product_occurrence into which the Specified_occurrence is reflected.
Formal propositions:
WR1: A Specified_occurrence shall not be used by any Product_occurrence_definition_relationship as the related_view.
*)
END_SCHEMA; -- Product_occurrence_arm
(*
© ISO 2018 — All rights reserved