Template:— representing_product_relationship (repr_prod_rel)
Capability:representing_parts
Date: 2011/08/01 12:03:38
Revision: 1.5

This section specifies the template representing_product_relationship.

NOTE  The template has been defined in the context of the capability representing_parts which provides an overall description of the relevant parts of the ISO 10303-239 information model and a description of related templates.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent a relationship between two instances of Product.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_product_relationship". The text highlighted in blue shows the template parameters.


Figure 1 —  An EXPRESS-G representation of the Information model for representing_product_relationship

Figure 1 —  An EXPRESS-G representation of the Information model for representing_product_relationship

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.


Figure 2 —  The graphical representation of the representing_product_relationship template

Figure 2 —  The graphical representation of the representing_product_relationship template

Input parameters
The following input parameters are defined for this template:
relating (Type= 'ENTITY (Product)' )
The relating product.
related (Type= 'ENTITY (Product)' )
The product that is being related.
rel_type_name (Type='CLASS')
The name of the class being used to classify the Product_relationship. This provides the role or reason for the relationship.
The following classes and their sub-classes can be used:
classifications: "Product_relationship" (urn:plcs:rdl:std:Product_relationship)
rel_type_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the Class referenced by parameter @rel_type_name.
Reference parameters
The following reference parameters are defined for this template:
prod_rel(Type='ENTITY (Product_relationship)')
Allow the Product_relationship entity instantiated in this path to be referenced when this template is used.
Note: The Product_relationship entity can be referenced in a template path by:
%^target = $representing_product_relationship.prod_rel%
where target is the parameter to which the Product_relationship is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Product relationship
Each instance of the entity (Product_relationship) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_product_relationship) namely: relating, related, rel_type_name, rel_type_ecl_id.
The instance is referenced by the following template parameter: prod_rel.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Templates Help/Information section.
Product_relationship
%^prod_rel = Product_relationship%
Product_relationship.relation_type = '/IGNORE'
Product_relationship.description = '/IGNORE'
Product_relationship.relating_product -> @relating
Product_relationship.related_product -> @related

-- provide the type of relationship
/assigning_reference_data(
    items=^prod_rel,
    class_name=@rel_type_name,
    ecl_id=@rel_type_ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Product_relationship.relation_type '/IGNORE'
Product_relationship.description '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_product_relationship(relating='#1', related='#2', rel_type_name='Access_point', rel_type_ecl_id='urn:plcs:rdl:sample')/
(an illustration of the consolidated representing_product_relationship template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_product_relationship template

Figure 3 —  Entities instantiated by representing_product_relationship template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#1 = BREAKDOWN_ELEMENT('/IGNORE','/IGNORE','/IGNORE'); #2 = BREAKDOWN_ELEMENT('/IGNORE','/IGNORE','/IGNORE'); #3 = PRODUCT_RELATIONSHIP('/IGNORE','/IGNORE',#1,#2); #5 = CLASSIFICATION_ASSIGNMENT(#6,(#3),'/IGNORE'); #6 = EXTERNAL_CLASS('/NULL','Access_point','/IGNORE',#7); #7 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample','/IGNORE');
The instance diagram in Figure 4 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/representing_product_relationship(relating='#1', related='#2', rel_type_name='Access_point', rel_type_ecl_id='urn:plcs:rdl:sample')/


Figure 4 —  Instantiation of representing_product_relationship template

Figure 4 —  Instantiation of representing_product_relationship template

Characterizations
No common characterizations of the template representing_product_relationship have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.

© OASIS 2010 — All rights reserved