Application module: Product class ISO/TS 10303-1103: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 type definitions
     5.2.2 MIM entity definitions
     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.1 Mapping specification

In the following, "Application element" designates any entity data type defined in Clause 4, any of its explicit attributes and any subtype constraint. "MIM element" designates any entity data type defined in Clause 5.2 or imported with a USE FROM statement, from another EXPRESS schema, any of its attributes and any subtype constraint defined in Clause 5.2 or imported with a USE FROM statement.

This clause contains the mapping specification that defines how each application element of this part of ISO 10303 (see Clause 4) maps to one or more MIM elements (see Clause 5.2).

The mapping for each application element is specified in a separate subclause below. The mapping specification of an attribute of an ARM entity is a subclause of the clause that contains the mapping specification of this entity. Each mapping specification subclause contains up to five elements.

Title: The clause title contains:

MIM element: This section contains, depending on the considered application element:

When the mapping of an application element involves more than one MIM element, each of these MIM elements is presented on a separate line in the mapping specification, enclosed between parentheses or brackets.

Source: This section contains:

This section is omitted when the keywords PATH or IDENTICAL MAPPING or NO MAPPING EXTENSION PROVIDED are used in the MIM element section.

Rules: This section contains the name of one or more global rules that apply to the population of the MIM entity data types listed in the MIM element section or in the reference path. When no rule applies, this section is omitted.

A reference to a global rule may be followed by a reference to the subclause in which the rule is defined.

Constraint: This section contains the name of one or more subtype constraints that apply to the population of the MIM entity data types listed in the MIM element section or in the reference path. When no subtype constraint applies, this section is omitted.

A reference to a subtype constraint may be followed by a reference to the subclause in which the subtype constraint is defined.

Reference path: This section contains:

For the expression of reference paths and of the constraints between MIM elements, the following notational conventions apply:

[] enclosed section constrains multiple MIM elements or sections of the reference path are required to satisfy an information requirement;
() enclosed section constrains multiple MIM elements or sections of the reference path are identified as alternatives within the mapping to satisfy an information requirement;
{} enclosed section constrains the reference path to satisfy an information requirement;
<> enclosed section constrains at one or more required reference path;
|| enclosed section constrains the supertype entity;
-> the attribute, whose name precedes the -> symbol, references the entity or select type whose name follows the -> symbol;
<- the entity or select type, whose name precedes the <- symbol, is referenced by the entity attribute whose name follows the <- symbol;
[i] the attribute, whose name precedes the [i] symbol, is an aggregate; any element of that aggregate is referred to;
[n] the attribute, whose name precedes the [n] symbol, is an ordered aggregate; member n of that aggregate is referred to;
=> the entity, whose name precedes the => symbol, is a supertype of the entity whose name follows the => symbol;
<= the entity, whose name precedes the <= symbol, is a subtype of the entity whose name follows the <= symbol;
= the string, select, or enumeration type is constrained to a choice or value;
\ the reference path expression continues on the next line;
* one or more instances of the relationship entity data type may be assembled in a relationship tree structure. The path between the relationship entity and the related entities, is enclosed with braces;
-- the text following is a comment or introduces a clause reference;
*> the select or enumeration type, whose name precedes the *> symbol, is extended into the select or enumeration type whose name follows the *> symbol;
<* the select or enumeration type, whose name precedes the <* symbol, is an extension of the select or enumeration type whose name follows the <* symbol;
!{} section enclosed by {} indicates a negative constraint placed on the mapping.
The definition and use of mapping templates are not supported in the present version of the application modules. However, use of predefined templates /MAPPING_OF/, /SUBTYPE/, and /SUPERTYPE/ is supported.

5.1.1 Assigned_property

This application object, Assigned_property, is defined in the module property_assignment. This mapping section extends the mapping of Assigned_property, to include assertions defined in this module.

5.1.1.1 Assigned_property to * (as described_element)

MIM element: PATH
Reference path:   property_definition
property_definition.definition ->
characterized_definition
property_definition
property_definition.definition ->
characterized_definition =
characterized_object =>
(characterized_product_concept_feature <=
product_concept_feature
(/MAPPING_OF(Specification)/))
(characterized_product_concept_feature_category <=
product_concept_feature_category
(/MAPPING_OF(Specification_category)/))

5.1.2 Class_category_association

MIM element: product_concept_feature_category_usage
Source: ISO 10303-1103
Reference path:   product_concept_feature_category_usage <= group_assignment

5.1.2.1 mandatory

MIM element: object_role.name
Source: ISO 10303-41
Reference path:   product_concept_feature_category_usage <=
group_assignment
group_assignment =
role_select
role_select <-
role_association.item_with_role
role_association.role ->
object_role
{(object_role.name = 'mandatory category usage')
(object_role.name = 'optional category usage')}

5.1.2.2 Class_category_association to Product_class (as associated_product_class)

MIM element: PATH
Reference path:   product_concept_feature_category_usage.items[1] ->
category_usage_item
category_usage_item =
product_class

5.1.2.3 Class_category_association to Specification_category (as associated_category)

#1:   if the associated specification category is not exclusive

MIM element: PATH
Reference path:   product_concept_feature_category_usage <=
group_assignment
group_assignment.assigned_group ->
group group =>
product_concept_feature_category
|product_concept_feature_category|

#2:   if the associated specification category is exclusive

MIM element: PATH
Reference path:   product_concept_feature_category_usage <=
group_assignment
group_assignment.assigned_group ->
group group =>
product_concept_feature_category
product_concept_feature_category =>
exclusive_product_concept_feature_category

5.1.3 Class_condition_association

MIM element: product_concept_feature_association
Source: ISO 10303-44

5.1.3.1 condition_type

MIM element: product_concept_feature_association.name
Source: ISO 10303-44
Reference path:   {(product_concept_feature_association.name)
(product_concept_feature_association.name = 'part usage')
(product_concept_feature_association.name = 'identification')
(product_concept_feature_association.name = 'validity')
(product_concept_feature_association.name = 'design case')}

5.1.3.2 description

MIM element: product_concept_feature_association.description
Source: ISO 10303-44

5.1.3.3 Class_condition_association to Product_class (as associated_product_class)

MIM element: PATH
Reference path:   product_concept_feature_association.concept ->
product_concept
product_concept =>
product_class

5.1.3.4 Class_condition_association to Specification_expression (as associated_condition)

MIM element: PATH
Reference path:   product_concept_feature_association.feature ->
product_concept_feature product_concept_feature =>
conditional_concept_feature
|conditional_concept_feature|

5.1.4 Class_inclusion_association

MIM element: product_concept_feature_association
Source: ISO 10303-44

5.1.4.1 description

MIM element: product_concept_feature_association.description
Source: ISO 10303-44

5.1.4.2 Class_inclusion_association to Product_class (as associated_product_class)

MIM element: PATH
Reference path:   product_concept_feature_association.concept ->
product_concept
product_concept =>
product_class

5.1.4.3 Class_inclusion_association to Specification_inclusion (as associated_inclusion)

MIM element: PATH
Reference path:   product_concept_feature_association.feature ->
product_concept_feature
product_concept_feature =>
conditional_concept_feature
conditional_concept_feature =>
inclusion_product_concept_feature

5.1.5 Class_specification_association

MIM element: product_concept_feature_association
Source: ISO 10303-44

5.1.5.1 association_type

MIM element: product_concept_feature_association.name
Source: ISO 10303-44
Reference path:   {(product_concept_feature_association.name)
(product_concept_feature_association.name = 'replaceable standard')
(product_concept_feature_association.name = 'non replaceable standard')
(product_concept_feature_association.name = 'availability')
(product_concept_feature_association.name = 'identification')
(product_concept_feature_association.name = 'option')
(product_concept_feature_association.name = 'part usage')}

5.1.5.2 Class_specification_association to Product_class (as associated_product_class)

MIM element: PATH
Reference path:   product_concept_feature_association.concept ->
product_concept
product_concept =>
product_class

5.1.5.3 Class_specification_association to Specification (as associated_specification)

MIM element: PATH
Reference path:   product_concept_feature_association.feature ->
product_concept_feature
product_concept_feature_association.feature ->
product_concept_feature
{(|product_concept_feature|)
(product_concept_feature =>
package_product_concept_feature)}

5.1.6 Classification_assignment

This application object, Classification_assignment, is defined in the module classification_assignment. This mapping section extends the mapping of Classification_assignment, to include assertions defined in this module.

5.1.6.1 Classification_assignment to * (as items)

MIM element: PATH
Reference path:   applied_classification_assignment.items[i] -> classification_item
classification_item =
(/MAPPING_OF(Specification)/)
(/MAPPING_OF(Specification_category)/)

5.1.7 Identification_assignment

This application object, Identification_assignment, is defined in the module identification_assignment. This mapping section extends the mapping of Identification_assignment, to include assertions defined in this module.

5.1.7.1 Identification_assignment to Product_class (as items)

MIM element: PATH
Reference path:   applied_identification_assignment.items[i] ->
identification_item
identification_item *> id_for_class
id_for_class = product_class

5.1.8 Product_class

MIM element: product_class
Source: ISO 10303-1103
Reference path:   product_class <= [product_concept] [characterized_object]

5.1.8.1 level_type

MIM element: characterized_object.name
Source: ISO 10303-41
Reference path:   product_class <=
product_concept
characterized_object.name

5.1.8.2 version_id

MIM element: identification_assignment.assigned_id
Source: ISO 10303-41
Reference path:   id_for_class =
product_class
id_for_class <*
identification_item
identification_item <-
applied_identification_assignment.items[i]
applied_identification_assignment <=
identification_assignment
{identification_assignment.role ->
identification_role identification_role.name = 'version'}
identification_assignment.assigned_id

5.1.9 Product_class_relationship

MIM element: product_concept_relationship
Source: ISO 10303-44

5.1.9.1 description

MIM element: product_concept_relationship.description
Source: ISO 10303-44

5.1.9.2 relation_type

MIM element: product_concept_relationship.name
Source: ISO 10303-44
Reference path:   {(product_concept_relationship.name)
(product_concept_relationship.name = 'derivation')
(product_concept_relationship.name = 'hierarchy'
(product_concept_relationship.name = 'version sequence')
(product_concept_relationship.name = 'substitution')}

5.1.9.3 Product_class_relationship to Product_class (as related)

MIM element: PATH
Reference path:   product_concept_relationship.related_product_concept ->
product_concept =>
product_class

5.1.9.4 Product_class_relationship to Product_class (as relating)

MIM element: PATH
Reference path:   product_concept_relationship.relating_product_concept ->
product_concept =>
product_class

5.1.10 Specification

#1:   If the specification is not a package of specifications

MIM element: (|product_concept_feature|) (|characterized_product_concept_feature|)
Source: ISO 10303-44

#2:   If the specification is a package of specifications

MIM element: package_product_concept_feature
Source: ISO 10303-1103
Reference path:   package_product_concept_feature <=
(product_concept_feature)
(product_concept_feature =>
characterized_product_concept_feature)

5.1.10.1 description

MIM element: product_concept_feature.description
Source: ISO 10303-44

5.1.10.2 id

MIM element: product_concept_feature.id
Source: ISO 10303-44

5.1.10.3 name

MIM element: product_concept_feature.name
Source: ISO 10303-44

5.1.10.4 package

MIM element: IDENTICAL MAPPING

5.1.10.5 version_id

MIM element: identification_assignment.assigned_id
Source: ISO 10303-41
Reference path:   id_for_class = product_concept_feature
id_for_class <* identification_item
identification_item <-
applied_identification_assignment.items[i]
applied_identification_assignment <=
identification_assignment
{identification_assignment.role ->
identification_role
identification_role.name = 'version'}
identification_assignment.assigned_id

5.1.10.6 Specification to Specification_category (as category)

MIM element: PATH
Reference path:   specification_for_category = product_concept_feature
specification_for_category <* groupable_item
groupable_item <-
applied_group_assignment.items[i]
applied_group_assignment <=
group_assignment
{group_assignment = role_select
role_select <-
role_association.item_with_role
role_association.role ->
object_role
object_role.name = 'specification category member'}
group_assignment.assigned_group ->
group =>
product_concept_feature_category

5.1.11 Specification_category

#1:   if the associated specification category is not exclusive

MIM element: (|product_concept_feature_category|) (|characterized_product_concept_feature_category|)
Source: ISO 10303-1103
Reference path:   (characterized_product_concept_feature_category <=
product_concept_feature_category <=
group)
(product_concept_feature_category <=
group)

#2:   if the associated specification category is exclusive (implicit_exclusive_condition is true)

MIM element: exclusive_product_concept_feature_category
Source: ISO 10303-1103
Reference path:   exclusive_product_concept_feature_category <=
(product_concept_feature_category)
(product_concept_feature_category =>
characterized_product_concept_feature_category)
product_concept_feature_category <=
group

5.1.11.1 description

MIM element: group.description
Source: ISO 10303-41

5.1.11.2 id

MIM element: group.name
Source: ISO 10303-41

5.1.11.3 implicit_exclusive_condition

MIM element: IDENTICAL MAPPING

5.1.12 Specification_category_hierarchy

MIM element: group_relationship
Source: ISO 10303-41
Reference path:   {group_relationship.name = 'specification category hierarchy'}

5.1.12.1 Specification_category_hierarchy to Specification_category (as sub_category)

MIM element: PATH
Reference path:   group_relationship.related_group ->
group group =>
product_concept_feature_category

5.1.12.2 Specification_category_hierarchy to Specification_category (as super_category)

MIM element: PATH
Reference path:   group_relationship.relating_group ->
group group =>
product_concept_feature_category

5.1.13 Specification_expression

MIM element: |conditional_concept_feature|
Source: ISO 10303-44

5.1.13.1 description

MIM element: product_concept_feature.description
Source: ISO 10303-44
Reference path:   conditional_concept_feature <=
product_concept_feature
product_concept_feature.description

5.1.13.2 id

MIM element: product_concept_feature.id
Source: ISO 10303-44
Reference path:   conditional_concept_feature <=
product_concept_feature
product_concept_feature.id

5.1.13.3 operation

MIM element: concept_feature_relationship_with_condition.conditional_operator
Source: ISO 10303-44
Reference path:   conditional_concept_feature.condition ->
concept_feature_relationship_with_condition
concept_feature_relationship_with_condition.conditional_operator ->
concept_feature_operator
{(concept_feature_operator.name = 'and')
(concept_feature_operator.name = 'or')
(concept_feature_operator.name = 'oneof')
(concept_feature_operator.name = 'not')}

5.1.13.4 Specification_expression to Specification (as operand)

#1:   If the set of operands contains one element (NOT operation)

NOTE 1   Both relating_product_concept_feature and related_product_concept_feature shall refer to the same product_concept_feature.

MIM element: PATH
Reference path:   conditional_concept_feature.condition ->
concept_feature_relationship_with_condition
concept_feature_relationship_with_condition <=
concept_feature_relationship
[concept_feature_relationship.relating_product_concept_feature ->]
[concept_feature_relationship.related_product_concept_feature ->]
product_concept_feature

#2:   If the set of operands contains 2 elements

NOTE 2   There is no order nor specific semantics related to the usage of relating_product_concept_feature or related_product_concept_feature.

MIM element: PATH
Reference path:   conditional_concept_feature.condition ->
concept_feature_relationship_with_condition
concept_feature_relationship_with_condition <=
concept_feature_relationship
(concept_feature_relationship.relating_product_concept_feature ->)
(concept_feature_relationship.related_product_concept_feature ->)
product_concept_feature

#3:   If the set of operands contains more than 2 elements

NOTE 3   A tree structure shall be built using the constructs stated in the parentheses. In this case, all concept_feature_relationship_with_condition instances used reference the same concept_feature_operator as the conditional_operator.

MIM element: PATH
Reference path:   conditional_concept_feature.condition ->
concept_feature_relationship_with_condition
concept_feature_relationship_with_condition <=
concept_feature_relationship
(concept_feature_relationship.relating_product_concept_feature ->)
(concept_feature_relationship.related_product_concept_feature ->)
product_concept_feature
{product_concept_feature =>
conditional_concept_feature
conditional_concept_feature.condition ->
concept_feature_relationship_with_condition
(concept_feature_relationship_with_condition <= concept_feature_relationship)*}

5.1.13.5 Specification_expression to Specification_expression (as operand)

#1:   If the set of operands contains one element (NOT operation)

NOTE 1   Both relating_product_concept_feature and related_product_concept_feature shall refer to the same conditional_concept_feature.

MIM element: PATH
Reference path:   conditional_concept_feature.condition ->
concept_feature_relationship_with_condition
concept_feature_relationship_with_condition <=
concept_feature_relationship
[concept_feature_relationship.relating_product_concept_feature ->]
[concept_feature_relationship.related_product_concept_feature ->]
product_concept_feature product_concept_feature =>
conditional_concept_feature

#2:   If the set of operands contains 2 elements

NOTE 2   There is no order nor specific semantics related to the usage of relating_product_concept_feature or related_product_concept_feature.

MIM element: PATH
Reference path:   conditional_concept_feature.condition -> concept_feature_relationship_with_condition
concept_feature_relationship_with_condition <=
concept_feature_relationship
(concept_feature_relationship.relating_product_concept_feature ->)
(concept_feature_relationship.related_product_concept_feature ->)
product_concept_feature product_concept_feature =>
conditional_concept_feature

#3:   If the set of operands contains more than 2 elements

NOTE 3   A tree structure shall be built using the constructs stated in the parentheses.

MIM element: PATH
Reference path:   conditional_concept_feature.condition ->
concept_feature_relationship_with_condition
concept_feature_relationship_with_condition <=
concept_feature_relationship
(concept_feature_relationship.relating_product_concept_feature ->)
(concept_feature_relationship.related_product_concept_feature ->)
product_concept_feature
{product_concept_feature =>
conditional_concept_feature
conditional_concept_feature.condition ->
concept_feature_relationship_with_condition
(concept_feature_relationship_with_condition <= concept_feature_relationship)*}

5.1.14 Specification_inclusion

MIM element: inclusion_product_concept_feature
Source: ISO 10303-1103
Reference path:   inclusion_product_concept_feature <=
conditional_concept_feature
conditional_concept_feature.condition ->
concept_feature_relationship_with_condition
concept_feature_relationship_with_condition.conditional_operator ->
concept_feature_operator
{concept_feature_operator.name = 'implication'}

5.1.14.1 description

MIM element: product_concept_feature.description
Source: ISO 10303-44
Reference path:   inclusion_product_concept_feature <=
conditional_concept_feature
conditional_concept_feature <=
product_concept_feature
product_concept_feature.description

5.1.14.2 id

MIM element: product_concept_feature.id
Source: ISO 10303-44
Reference path:   inclusion_product_concept_feature <=
conditional_concept_feature
conditional_concept_feature <=
product_concept_feature
product_concept_feature.id

5.1.14.3 Specification_inclusion to Specification (as if_condition)

MIM element: PATH
Reference path:   inclusion_product_concept_feature <=
conditional_concept_feature
conditional_concept_feature.condition ->
concept_feature_relationship_with_condition
concept_feature_relationship_with_condition <=
concept_feature_relationship
concept_feature_relationship.relating_product_concept_feature ->
product_concept_feature

5.1.14.4 Specification_inclusion to Specification (as included_specification)

MIM element: PATH
Reference path:   inclusion_product_concept_feature <=
conditional_concept_feature
conditional_concept_feature.condition ->
concept_feature_relationship_with_condition
concept_feature_relationship_with_condition <=
concept_feature_relationship
concept_feature_relationship.related_product_concept_feature ->
product_concept_feature

5.1.14.5 Specification_inclusion to Specification_expression (as if_condition)

MIM element: PATH
Reference path:   inclusion_product_concept_feature <=
conditional_concept_feature
conditional_concept_feature.condition ->
concept_feature_relationship_with_condition
concept_feature_relationship_with_condition <=
concept_feature_relationship
concept_feature_relationship.relating_product_concept_feature ->
product_concept_feature
product_concept_feature =>
conditional_concept_feature

5.1.14.6 Specification_inclusion to Specification_expression (as included_specification)

MIM element: PATH
Reference path:   inclusion_product_concept_feature <=
conditional_concept_feature
conditional_concept_feature.condition ->
concept_feature_relationship_with_condition
concept_feature_relationship_with_condition <=
concept_feature_relationship
concept_feature_relationship.related_product_concept_feature ->
product_concept_feature
product_concept_feature =>
conditional_concept_feature


© ISO 2019 — All rights reserved