Template:— referencing_product_as_realized (ref_prod_real)
Capability:representing_product_as_individual
Date: 2007/09/28 12:44:06
Revision: 1.6

This section specifies the template referencing_product_as_realized.

NOTE  The template has been defined in the context of the capability representing_product_as_individual 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 relate and identify product_as_individual with a version of product_as_realized.

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_realized". The text highlighted in blue shows the template parameters.
...


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

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

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

Figure 2 —  The graphical representation of the referencing_product_as_realized template

Input parameters
The following input parameters are defined for this template:
id (Type='STRING')
The identifier of the Product_as_individual, e.g. serial number.
id_class_name (Default=Serial_identification_code,Type='CLASS')
The name of the class being used to classify the identification (Identification_assignment) of the individual product. This provides 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)
id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @id_class_name class.
owner_id (Type='STRING')
The name or identifier of the organization owning the id or name.
owner_class_name (Default=Organization_name,Type='CLASS')
The name of the class being used to classify the identification of the organization. For example CAGE code, or organization name.
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)
owner_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the @owner_class_name class
par_id (Default=Unknown,Type='STRING')
The identifier of the Product_as_realized, e.g. version marking, modification status.
par_id_class_name (Default=Version_identification_code,Type='CLASS')
The name of the class being used to classify the identification (Identification_assignment) of the product_as_realized (a version of the individual product). This provides the role or reason for the identification.
The following classes and their sub-classes can be used:
classifications: "Version_identification_code" (urn:plcs:rdl:std:Version_identification_code)
par_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @par_id_class_name class.
par_owner_id (Default=Unknown,Type='STRING')
The name or identifier of the organization owning the version_id.
par_owner_class_name (Default=Organization_name,Type='CLASS')
The name of the class being used to classify the identification of the organization. For example CAGE code, or organization name.
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)
par_owner_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the @par_owner_class_name class
Reference parameters
The following reference parameters are defined for this template:
pai(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_realized.pai%
where target is the parameter to which the Product_as_individual is bound.
par(Type='ENTITY (Product_as_realized)')
Allow the Product_as_realized entity instantiated in this path to be referenced when this template is used.
Note: The Product_as_realized entity can be referenced in a template path by:
%^target = $referencing_product_as_realized.par%
where target is the parameter to which the Product_as_realized is bound.
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.
-- instantiate Product_as_individual
Product_as_individual
%^pai = Product_as_individual%
^pai.id = '/IGNORE'
^pai.name = '/IGNORE'
^pai.description = '/IGNORE'

-- assign ID to individual
/assigning_identification(
    id=@id,
    id_class_name=@id_class_name,
    id_ecl_id=@id_ecl_id,
    org_id=@owner_id,
    org_id_class_name=@owner_class_name,
    org_id_ecl_id=@owner_ecl_id,
    items=^pai)/

-- instantiate Product_as_realized
Product_as_realized
%^par = Product_as_realized%
^par.id = '/IGNORE'
^par.description = '/IGNORE'
^par.of_product -> ^pai

-- assign ID to Product_as_realized
/assigning_identification(
    id=@par_id,
    id_class_name=@par_id_class_name,
    id_ecl_id=@par_id_ecl_id,
    org_id=@par_owner_id,
    org_id_class_name=@par_owner_class_name,
    org_id_ecl_id=@par_owner_ecl_id,
    items=^par)/
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
Product_as_realized.id '/IGNORE' Product_version.id
Product_as_realized.description '/IGNORE' Product_version.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_realized(id='12376588', id_class_name='Serial_identification_code', id_ecl_id='urn:plcs:rdl:std', id_owner='Crescent', id_owner_class_name='Organization_name', id_owner_ecl_id='urn:plcs:rdl:std', par_id='Mod1', par_id_class_name='Version_identification_code', par_id_ecl_id='urn:plcs:rdl:std', par_owner='Express Delivery Inc', par_owner_class_name='Organization_name', par_owner_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated referencing_product_as_realized template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by referencing_product_as_realized template

Figure 3 —  Entities instantiated by referencing_product_as_realized template

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_realized(id='12376588', id_class_name='Serial_identification_code', id_ecl_id='urn:plcs:rdl:std', id_owner='Crescent', id_owner_class_name='Organization_name', id_owner_ecl_id='urn:plcs:rdl:std', par_id='Mod1', par_id_class_name='Version_identification_code', par_id_ecl_id='urn:plcs:rdl:std', par_owner='Express Delivery Inc', par_owner_class_name='Organization_name', par_owner_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Instantiation of referencing_product_as_realized template

Figure 4 —  Instantiation of referencing_product_as_realized template

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