Application module: Generic product occurrence | ISO/TS 10303-1762:2008(E) © ISO |
This clause specifies the information requirements for the Generic 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.
The following EXPRESS specification begins the Generic_product_occurrence_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Generic_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
Product_view_definition_relationship_arm;
--
ISO/TS 10303-1041
USE FROM
Extended_measure_representation_arm;
--
ISO/TS 10303-1106
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 Product_view_definition_relationship_arm ISO/TS 10303-1041 Extended_measure_representation_arm ISO/TS 10303-1106 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
ABSTRACT SUPERTYPE
SUBTYPE OF (Product_occurrence);
derived_from : Product_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 either a Definition_based_product_occurrence or a Specification_based_product_occurrence or additionally may be one of 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)
AND ONEOF (Product_occurrence_with_quantity,
Single_instance))
SUBTYPE OF (Product_view_definition);
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: 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:
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: 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 it's 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.
A Selected_instance is a type of Product_occurrence_with_quantity that identifies a quantified occurrence of a part, the occurrence quantity being characterized with a quantity_criterion.
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;
(*
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
ABSTRACT SUPERTYPE
SUBTYPE OF (Product_occurrence);
SELF\Product_view_definition.defined_version : Specification_based_product_version;
END_ENTITY;
(*
Attribute definitions:
defined_version: the Specification_based_product_version of which the Specification_based_product_occurrence defines a particular occurrence.
*)
END_SCHEMA; -- Generic_product_occurrence_arm
(*
© ISO 2008 — All rights reserved