Template:— representing_product_concept (rep_prod_cpt) Date: 2008/02/27 16:39:46
Revision: 1.7

This section specifies the template representing_product_concept.

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 product concept and its target market.

NOTE    If the target market for the product concept is unknown, the market identification should be assigned the value 'unknown'.

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


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

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

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

Figure 2 —  The graphical representation of the representing_product_concept template

Input parameters
The following input parameters are defined for this template:
prod_cpt_id (Type='STRING')
Identification of the Product_concept.
prod_cpt_id_class (Type='CLASS')
The name of the class used to classify the product concept identifier (@prod_cpt_id) and to provide the role or reason for the identification.
The following classes and their sub-classes can be used:
classifications: "Product_concept_identification_code" (urn:plcs:rdl:std:Product_concept_identification_code), "Product_concept_name" (urn:plcs:rdl:std:Product_concept_name)
prod_cpt_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the @prod_cpt_id_class
prod_cpt_org_id (Type='STRING')
The identifier of the Organization that "owns" the product concept identifier.
prod_cpt_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_cpt_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.
market_id (Type='STRING')
Identification of the Market.
market_id_class (Type='CLASS')
The name of the class used to classify the market identifier (@market_id) and to provide the role or reason for the identification.
The following classes and their sub-classes can be used:
classifications: "Market_identification_code" (urn:plcs:rdl:std:Market_identification_code), "Market_name" (urn:plcs:rdl:std:Market_name)
market_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the @market_id_class
market_org_id (Type='STRING')
The identifier of the Organization that "owns" the market identifier.
market_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)
market_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.
Reference parameters
The following reference parameters are defined for this template:
prod_cpt(Type='ENTITY (Product_concept)')
Allow the Product_concept entity instantiated in this path to be referenced when this template is used.
Note: The Product_concept entity can be referenced in a template path by:
%^target = $representing_product_concept.prod_cpt%
where target is the parameter to which the Product_concept is bound.
market(Type='ENTITY (Market)')
Allow the Market entity instantiated in this path to be referenced when this template is used.
Note: The Market entity can be referenced in a template path by:
%^target = $representing_product_concept.market%
where target is the parameter to which the Market is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Market
Each instance of the entity (Market) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_product_concept) namely: market_id, market_id_class, market_id_ecl_id, market_org_id, market_org_id_class, market_org_id_ecl_id.
The instance is referenced by the following template parameter: market.
Unique constraint: Product_concept
Each instance of the entity (Product_concept) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_product_concept) namely: prod_cpt_id, prod_cpt_id_class, prod_cpt_id_ecl_id, prod_cpt_org_id, prod_cpt_org_id_class, prod_cpt_org_id_ecl_id.
The instance is referenced by the following template parameter: prod_cpt.
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.
Market

-- Mark the Market entity as
-- referable when this template is used by binding it to the reference
-- parameter market
%^market = Market%
Market.name = '/IGNORE'
Market.market_segment_type = '/IGNORE'

-- Identification of the Market
/assigning_identification(
    items=^market,
    id=@market_id,
    id_class_name=@market_id_class,
    id_ecl_id=@market_id_ecl_id,
    org_id=@market_org_id,
    org_id_class_name=@market_org_id_class,
    org_id_ecl_id=@market_org_id_ecl_id )/
Product_concept

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

-- Identification of the Product_concept
/assigning_identification(
    items=^prod_cpt,
    id=@prod_cpt_id,
    id_class_name=@prod_cpt_id_class,
    id_ecl_id=@prod_cpt_id_ecl_id,
    org_id=@prod_cpt_org_id,
    org_id_class_name=@prod_cpt_org_id_class,
    org_id_ecl_id=@prod_cpt_id_ecl_id )/

-- Associating the Product_concept with its Market
Product_concept.target_market -> ^market
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Market.name '/IGNORE'
Market.market_segment_type '/IGNORE'
Product_concept.id '/IGNORE'
Product_concept.name '/IGNORE'
Product_concept.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_concept(prod_cpt_id='Normal bike', prod_cpt_id_class='Product_concept_name', prod_cpt_id_ecl_id='urn:plcs:rdl:std', prod_cpt_org_id='Bike Ltd', prod_cpt_org_id_class='Organization_name', prod_cpt_org_id_ecl_id='urn:plcs:rdl:std', market_id='Europe', market_id_class='Market_Name', market_id_ecl_id='urn:plcs:rdl:std', market_org_id='Bike Ltd', market_org_id_class='Organization_name', market_org_id_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated representing_product_concept template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_product_concept template

Figure 3 —  Entities instantiated by representing_product_concept template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#1 = PRODUCT_CONCEPT('/IGNORE','/IGNORE','/IGNORE',#24); #3 = IDENTIFICATION_ASSIGNMENT('Normal bike','/IGNORE',$,(#1)); #5 = CLASSIFICATION_ASSIGNMENT(#7,(#3),'/IGNORE'); #7 = EXTERNAL_CLASS('/NULL','Product_concept_name','/IGNORE',#8); #8 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #10 = ORGANIZATION('/IGNORE','/IGNORE'); #12 = IDENTIFICATION_ASSIGNMENT('Bike Ltd','/IGNORE','/IGNORE',(#10)); #14 = CLASSIFICATION_ASSIGNMENT(#16,(#12),'/IGNORE'); #16 = EXTERNAL_CLASS('/NULL','Organization_name','/IGNORE',#8); #18 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#10,'/IGNORE',(#3,#47)); #20 = CLASSIFICATION_ASSIGNMENT(#22,(#18),'/IGNORE'); #22 = EXTERNAL_CLASS('/NULL','Owner_of','/IGNORE',#8); #24 = MARKET('/IGNORE','/IGNORE'); #47 = IDENTIFICATION_ASSIGNMENT('Europe','/IGNORE',$,(#24)); #49 = CLASSIFICATION_ASSIGNMENT(#51,(#47),'/IGNORE'); #51 = EXTERNAL_CLASS('/NULL','Market_name','/IGNORE',#8);
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_concept(prod_cpt_id='Normal bike', prod_cpt_id_class='Product_concept_name', prod_cpt_id_ecl_id='urn:plcs:rdl:std', prod_cpt_org_id='Bike Ltd', prod_cpt_org_id_class='Organization_name', prod_cpt_org_id_ecl_id='urn:plcs:rdl:std', market_id='Europe', market_id_class='Market_Name', market_id_ecl_id='urn:plcs:rdl:std', market_org_id='Bike Ltd', market_org_id_class='Organization_name', market_org_id_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Instantiation of representing_product_concept template

Figure 4 —  Instantiation of representing_product_concept template

Characterizations
The following section details how the representing_product_concept template can be optionally characterized by assigning other constructs to it. These are characterizations commonly applied to the template. The ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
The following characterizations may apply:
Characterization Assigning classifications

NOTE   this characterization is optional.

Additional classifications can be assigned to both Product_concept and Market using the template assigning_reference_data.

Characterization Assigning descriptions

NOTE   this characterization is optional.

Descriptions can be assigned to both Product_concept and Market using the template assigning_descriptor.

Characterization Assigning identifications

NOTE   this characterization is optional.

Additional identifications can be assigned to both Product_concept and Market using the template assigning_identification.

© OASIS 2010 — All rights reserved