Template:— referencing_product_as_individual (ref_prod_ind) Date: 2008/02/26 09:24:26
Revision: 1.5

This section specifies the template referencing_product_as_individual.

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 reference to a serialized product by its identification, without a reference to its realization or modification status.

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


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

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

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 referencing_product_as_individual template

Figure 2 —  The graphical representation of the referencing_product_as_individual template

Input parameters
The following input parameters are defined for this template:
prod_ind_id (Type='STRING')
Identification of the Product_as_individual.
prod_ind_id_class (Type='CLASS')
The name of the class used to classify the product as individual identifier (@prod_ind_id) and to provide the role or reason for the identification.
The following classes and their sub-classes can be used:
classifications: "Product_as_individual_identification_code" (urn:plcs:rdl:std:Product_as_individual_identification_code)
prod_ind_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the @prod_ind_id_class
prod_ind_org_id (Type='STRING')
The identifier of the Organization that "owns" the product as individual identifier.
prod_ind_org_id_class (Default=Organization_name,Type='CLASS')
The name of the class that determines the type of identifier being used for identifying the Organization. For example CAGE code.
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
prod_ind_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the definition of the class used to classify the organization identifier.
part (Type= 'ENTITY (Part)' )
The Part of which the Product_as_individual is a realization.
Reference parameters
The following reference parameters are defined for this template:
prod_ind(Type='ENTITY (Product_as_individual)')
Allow the Product_as_individual entity instantiated in this path to be referenced when this template is used.
Note: The Product_as_individual entity can be referenced in a template path by:
%^target = $referencing_product_as_individual.prod_ind%
where target is the parameter to which the Product_as_individual is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Product_as_individual
Each instance of the entity (Product_as_individual) within the data set shall be uniquely identified by a combination of the following parameters on this template (referencing_product_as_individual) namely: prod_ind_id, prod_ind_id_class, prod_ind_id_ecl_id, prod_ind_org_id, prod_ind_org_id_class, prod_ind_org_id_ecl_id.
The instance is referenced by the following template parameter: prod_ind.
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_as_individual

-- Mark the Product_as_individual entity as
-- referable when this template is used by binding it to the reference
-- parameter prod_ind
%^prod_ind = Product_as_individual%
Product_as_individual.id = '/IGNORE'
Product_as_individual.name = '/IGNORE'
Product_as_individual.description = '/IGNORE'

-- Identification of the Product_as_individual
/assigning_identification(
    items=^prod_ind,
    id=@prod_ind_id,
    id_class_name=@prod_ind_id_class,
    id_ecl_id=@prod_ind_id_ecl_id,
    org_id=@prod_ind_org_id,
    org_id_class_name=@prod_ind_org_id_class,
    org_id_ecl_id=@prod_ind_org_id_ecl_id )/
Product_design_to_individual
Product_design_to_individual.individual_product -> ^prod_ind
Product_design_to_individual.product_design -> @part
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Product_as_individual.id '/IGNORE' Product.id
Product_as_individual.name '/IGNORE' Product.name
Product_as_individual.description '/IGNORE' Product.description
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/referencing_product_as_individual(prod_ind_id='23465-481', prod_ind_id_class='Serial_number', prod_ind_id_ecl_id='urn:plcs:rdl:sample', prod_ind_org_id='Bike Ltd', prod_ind_org_id_class='Organization_name', prod_ind_org_id_ecl_id='urn:plcs:rdl:std', part='#1')/
(an illustration of the consolidated referencing_product_as_individual template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by referencing_product_as_individual template

Figure 3 —  Entities instantiated by referencing_product_as_individual template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#1 = PART('/IGNORE','/IGNORE','/IGNORE'); #2 = PRODUCT_AS_INDIVIDUAL('/IGNORE','/IGNORE','/IGNORE'); #3 = PRODUCT_DESIGN_TO_INDIVIDUAL(#1,#2); #5 = IDENTIFICATION_ASSIGNMENT('23465-481','/IGNORE',$,(#2)); #7 = CLASSIFICATION_ASSIGNMENT(#9,(#5),'/IGNORE'); #9 = EXTERNAL_CLASS('/NULL','Serial_number','/IGNORE',#10); #10 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample',$); #12 = ORGANIZATION('/IGNORE','/IGNORE'); #14 = IDENTIFICATION_ASSIGNMENT('Bike Ltd','/IGNORE','/IGNORE',(#12)); #16 = CLASSIFICATION_ASSIGNMENT(#18,(#14),'/IGNORE'); #18 = EXTERNAL_CLASS('/NULL','Organization_name','/IGNORE',#19); #19 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #20 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#12,'/IGNORE',(#5)); #22 = CLASSIFICATION_ASSIGNMENT(#24,(#20),'/IGNORE'); #24 = EXTERNAL_CLASS('/NULL','Owner_of','/IGNORE',#19);
The instance model in STEP XML exchange file format (ISO 10303 Part 28 ed.2 syntax) is:
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:
/referencing_product_as_individual(prod_ind_id='23465-481', prod_ind_id_class='Serial_number', prod_ind_id_ecl_id='urn:plcs:rdl:sample', prod_ind_org_id='Bike Ltd', prod_ind_org_id_class='Organization_name', prod_ind_org_id_ecl_id='urn:plcs:rdl:std', part='#1')/


Figure 4 —  Instantiation of referencing_product_as_individual template

Figure 4 —  Instantiation of referencing_product_as_individual template

Characterizations
No common characterizations of the template referencing_product_as_individual 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