Capability (C063):— representing_product_configuration Date: 2012/05/23 17:43:16
Revision: 1.31

Business overview

This section provides a business level overview of this capability.

Complex products can often be configured to perform different roles or configured with different options. Often this is for different markets. For example, a bicycle can be configured with normal road wheels or with alloy racing wheels.

This capability describes how the different configurations of the product design are represented.

Information model overview

This section provides an overview of the information model that supports this capability.

PLCS supports the definition of product concepts, which define products from a market or customer oriented viewpoint. As they are offered to the customers, these product concepts often define conceptual 'product models' which are available or delivered to the customer in different configurations or variations.

NOTE    If the number of possible variations of a product concept is too large, it might not be suitable to explicitly specify and manage all existing configurations of that product concept. The members of a product concept might therefore be defined implicitly by identifying the product features that characterize it or are available for it as options. Conditions among those features may be specified to manage dependencies and define the valid product variations for a particular product concept. This implicit definition of the configurations available for a certain product concept is suitable for customer option and variant specification: once all options are specified a single configuration is determined that may be represented explicitly for downstream application.

Configuration identification in the PLCS Schema is the identification of product concepts and their associated configurations, the composition of which is to be managed. If a configuration of a product concept is implemented by a certain design, i.e., a particular part version, this version can be associated with the configuration and managed using configuration effectivity.

NOTE    Explicit representation of the configurations of a product concept is suitable for management of design as-planned manufacturing configurations, the traditional BOM inputs to manufacturing resource planning. These explicit configurations may also be suitable for management of other activities 'downstream' from the design phase, such as as-built and as-maintained configurations.

Configuration effectivity in the PLCS Schema allows attachment of effectivity information to occurrences of component parts in the context of a particular configuration item. This enables the specification of the valid use of a part occurrence in the context of a lot, serial number range or time period of a particular product configuration. This controls the constituent parts that are planned to be used for manufacturing end items of a particular product configuration within a dated time period or for a certain lot or serial number range of the end items.

While configuration effectivity is used to define the planned usage of components in the context of a particular product configuration, the PLCS Schema also allows assignment of general validity periods to product data that control the usage of these product data independent of any particular life cycle or context.

The information required to represent a product configuration is summarized in the EXPRESS-G diagram in Figure 1 below and described in the following sections.

NOTE    The EXPRESS-G is not complete. For the complete EXPRESS see the modules: Identification assignment, Configuration effectivity, Configuration item, Product as individual, Assembly structure. Furthermore, the EXPRESS-G is an abstraction of the model. Some attributes are missing and some that are inherited from supertypes are shown on the subtype for clarity.



Figure 1 —  EXPRESS-G for product configuration

Figure 1 —  EXPRESS-G for product configuration

Representing a Product configuration

When a product is designed, it is first represented by as a Product_concept. For example, A new bicycle will be initially represented as a Product_concept. Then a number of possible configurations of the product are identified and represented by a Product_configuration. For example, there may be two product configurations of the bicycle concept: an ordinary bike, and a racing bicycle that will be fitted with racing wheels.

The Product_concept and Product_configuration are classified and identified. See C010: assigning_reference_data and C001: assigning_identifiers for details.

The bicycle example is shown in Figure 2. This shows the "PLCS_Bike" as a product concept, with two possible role configurations, a "Racing bike" and a "Normal Bike".



Figure 2 —  The Bicycle product concept

Figure 2 —  The Bicycle product concept

The different assembly structures that represent the different product configurations are represented by a Part_version. The possible configurations, represented by Product_configuration are related to the Part_version. by Item_design_association.

The assembly structure represents all possible assemblies. These are represented by instances of Next_assembly_usage relating the views (Part_view_definition") of the components of the bicycle design (instances of Part_version).

The constituent parts that should be used to build the physical instances of a product configuration are controlled by Item_usage_effectivity. An Item_usage_effectivity is an effectivity domain that constrains the use of a product with or within another product, in the context of a Product_configuration. The composition of the product configurations for planned units of manufacture may be controlled for a given time period, lot, or serial number range. This is managed using Time_interval_effectivity, Dated_effectivity, Lot_effectivity, or Serial_effectivity.

Figure 3 shows an example of product configuration effectivity being used to represent two possible configurations of a bike: a "racing bike" and a "normal bike". The yellow shading shows the assembly structure that represents bike configured as a racing bike, and the green shading shows the assembly structure that represents bike configured as a normal bike.



Figure 3 —  Two configurations of a bicycle

Figure 3 —  Two configurations of a bicycle

Capability templates

The following sections define a set of templates for the capability, where a template is a specification of a set of entities that need to be instantiated to represent a given set of information.

Template: assigning_product_configuration_effectivity (Short name: asg_prod_config_eff)

This section specifies the template assigning_product_configuration_effectivity.

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 product configuration effectivity.

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


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

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

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

Figure 2 —  The graphical representation of the assigning_product_configuration_effectivity template

Input parameters
The following input parameters are defined for this template:
configuration (Type= 'ENTITY (Item_design_association)' )
Defines the product configuration for which the usage is effective.
usage (Type= 'ENTITY (View_definition_usage)' )
Defines the usage of an item which is constrained by the effectivity.
effectivity (Type= 'ENTITY (Effectivity)' )
Defines the effectivity domain, e.g. dated effectivity, serial effectivity etc.
Reference parameters
The following reference parameters are defined for this template:
item_usage_eff(Type='ENTITY (Item_usage_effectivity)')
Allow the Item_usage_effectivity entity instantiated in this path to be referenced when this template is used.
Note: The Item_usage_effectivity entity can be referenced in a template path by:
%^target = $assigning_product_configuration_effectivity.item_usage_eff%
where target is the parameter to which the Item_usage_effectivity 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 Reading Capability Templates help section.
Item_usage_effectivity

-- Mark the Item_usage_effectivity entity as
-- referable when this template is used by binding it to the reference
-- parameter ^item_usage_eff
%^item_usage_eff = Item_usage_effectivity%
Item_usage_effectivity.resolved_configuration -> @configuration
Item_usage_effectivity.item_usage_relationship -> @usage
Item_usage_effectivity.effectivity_domain -> @effectivity
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_product_configuration_effectivity(configuration='#1', usage='#2', effectivity='#3')/
(an illustration of the consolidated assigning_product_configuration_effectivity template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by assigning_product_configuration_effectivity template

Figure 3 —  Entities instantiated by assigning_product_configuration_effectivity 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:
/assigning_product_configuration_effectivity(configuration='#1', usage='#2', effectivity='#3')/


Figure 4 —  Instantiation of assigning_product_configuration_effectivity template

Figure 4 —  Instantiation of assigning_product_configuration_effectivity template

Characterizations
No common characterizations of the template assigning_product_configuration_effectivity have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: referencing_product_concept (Short name: ref_prod_cpt)

This section specifies the template referencing_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 reference to a product concept without a reference to its target market, i.e. referencing a product concept independently of its market context.

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


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

Figure 1 —  An EXPRESS-G representation of the Information model for referencing_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 referencing_product_concept template

Figure 2 —  The graphical representation of the referencing_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.
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 = $referencing_product_concept.prod_cpt%
where target is the parameter to which the Product_concept is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
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 (referencing_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 Reading Capability Templates help section.
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 )/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
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:
/referencing_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')/
(an illustration of the consolidated referencing_product_concept template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by referencing_product_concept template

Figure 3 —  Entities instantiated by referencing_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)); #20 = CLASSIFICATION_ASSIGNMENT(#22,(#18),'/IGNORE'); #22 = EXTERNAL_CLASS('/NULL','Owner_of','/IGNORE',#8);
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_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')/


Figure 4 —  Instantiation of referencing_product_concept template

Figure 4 —  Instantiation of referencing_product_concept template

Characterizations
The following section details how the referencing_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 Product_concept using the template assigning_reference_data.

Characterization Assigning descriptions

NOTE   this characterization is optional.

Descriptions can be assigned to Product_concept using the template assigning_descriptor.

Characterization Assigning identifications

NOTE   this characterization is optional.

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

Template: referencing_product_configuration (Short name: ref_prod_conf)

This section specifies the template referencing_product_configuration.

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 @@@@

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

[warning:]Error model_diag_1: Either delete A DESCRIPTION OF THE DIAGRAM or provide a description
A DESCRIPTION OF THE DIAGRAM


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

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

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

[warning:]Error model_diag_1: Either delete A DESCRIPTION OF THE DIAGRAM or provide a description
A DESCRIPTION OF THE DIAGRAM


Figure 2 —  The graphical representation of the referencing_product_configuration template

Figure 2 —  The graphical representation of the referencing_product_configuration template

Input parameters
The following input parameters are defined for this template:
class_name (Type='CLASS')
THE DESCRIPTION OF THE INPUT PARAMETER
The following classes and their sub-classes can be used:
classifications: "PLCS-ARM-LF-THING" (urn:plcs:rdl:std:PLCS-ARM-LF-THING)
Reference parameters
The following reference parameters are defined for this template:
ext_class(Type='ENTITY (External_class)')
Allow the External_class entity instantiated in this path to be referenced when this template is used.
Note: The External_class entity can be referenced in a template path by:
%^target = $referencing_product_configuration.ext_class%
where target is the parameter to which the External_class 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 Reading Capability Templates help section.
Identification_assignment

-- Mark the Identification_assignment entity as
-- referable when this template is used by binding it to the reference
-- parameter id_assgn
%^id_assgn = Identification_assignment%

[warning:]Error P8: the template referencing_product_configuration does not have a parameter name [id].
Identification_assignment.identifier = @id
Identification_assignment.role = '/IGNORE'
Identification_assignment.description = '/NULL'

[warning:]Error P4: the template referencing_product_configuration does not have a parameter name [items].
Identification_assignment.items -> @items

-- provide the role of the identification by classifying the Identification_assignment
/assigning_reference_data(
    items=^id_assgn,
    class_name=@id_class_name,
    ecl_id=@id_ecl_id)/

[warning:]Error t3: the template referencing_product_configuration does not have a parameter name [id_class_name]. Parameters are: class_name items class_name ecl_id

[warning:]Error t3: the template referencing_product_configuration does not have a parameter name [id_ecl_id]. Parameters are: class_name items class_name ecl_id

-- assign an organization to the identifier and classify it as 'Owner_of'
/assigning_organization(
    items=^id_assgn,
    org_id=@org_id,
    org_id_class_name=@org_id_class_name,
    org_id_ecl_id=@org_id_ecl_id,
    org_assgn_class_name='Owner_of',
    org_assgn_ecl_id='http://www.plcsinc.org/plcs-proposed')/

[warning:]Error t3: the template referencing_product_configuration does not have a parameter name [org_id]. Parameters are: class_name items class_name ecl_id

[warning:]Error t3: the template referencing_product_configuration does not have a parameter name [org_id_class_name]. Parameters are: class_name items class_name ecl_id

[warning:]Error t3: the template referencing_product_configuration does not have a parameter name [org_id_ecl_id]. Parameters are: class_name items class_name ecl_id
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Identification_assignment.identifier @id
Identification_assignment.role '/IGNORE'
Identification_assignment.description '/NULL'
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_configuration(items='#1', class_name='Safety_critical', ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated referencing_product_configuration template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by referencing_product_configuration template

Figure 3 —  Entities instantiated by referencing_product_configuration template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#1 = TASK_METHOD($,$,$,$,()); #2 = EXTERNAL_CLASS('/IGNORE','Safety_critical',$,#3); #3 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #4 = CLASSIFICATION_ASSIGNMENT(#2,(#1),'/IGNORE');
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_configuration(items='#1', class_name='Safety_critical', ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Instantiation of referencing_product_configuration template

Figure 4 —  Instantiation of referencing_product_configuration template

Characterizations
The following section details how the referencing_product_configuration 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 date

NOTE   this characterization is optional.

The date when the Work_order and the Directed_activity was issued can be represented by assigning a date (using the relationship Date_or_date_time_assignment) to the Work_order and the Directed_activity using the assigning_calendar_date template with the Date_time being classified as a type of "Date actual release" (urn:plcs:rdl:std:Date actual release).

NOTE    The assignment of dates is described the capability C036: assigning_date_time.

Template: referencing_product_group (Short name: ref_prod_grp)

This section specifies the template referencing_product_group.

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 product group by its identification, i.e. by using the identification data of a product group a reference to that product group can be made.

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


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

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

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

Figure 2 —  The graphical representation of the referencing_product_group template

Input parameters
The following input parameters are defined for this template:
prod_grp_id (Type='STRING')
Identification of the Product_group.
prod_grp_id_class (Type='CLASS')
The name of the class used to classify the product group identifier (@prod_grp_id) and to provide the role or reason for the identification.
The following classes and their sub-classes can be used:
classifications: "Product_group_identification_code" (urn:plcs:rdl:std:Product_group_identification_code), "Product_group_name" (urn:plcs:rdl:std:Product_group_name)
prod_grp_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the @prod_grp_id_class
prod_grp_org_id (Type='STRING')
The identifier of the Organization that "owns" the product group identifier.
prod_grp_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_grp_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_grp(Type='ENTITY (Product_group)')
Allow the Product_group entity instantiated in this path to be referenced when this template is used.
Note: The Product_group entity can be referenced in a template path by:
%^target = $referencing_product_group.prod_grp%
where target is the parameter to which the Product_group is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Product_group
Each instance of the entity (Product_group) within the data set shall be uniquely identified by a combination of the following parameters on this template (referencing_product_group) namely: prod_grp_id, prod_grp_id_class, prod_grp_id_ecl_id, prod_grp_org_id, prod_grp_org_id_class, prod_grp_org_id_ecl_id.
The instance is referenced by the following template parameter: prod_grp.
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 Reading Capability Templates help section.
Product_group

-- Mark the Product_group entity as
-- referable when this template is used by binding it to the reference
-- parameter prod_grp
%^prod_grp = Product_group%
Product_group.id = '/IGNORE'
Product_group.purpose = '/IGNORE'
Product_group.description = '/IGNORE'
Product_group.product_group_context = '/IGNORE'
Product_group.membership_rule = '[ ]'

-- Identification of the Product_concept
/assigning_identification(
    items=^prod_grp,
    id=@prod_grp_id,
    id_class_name=@prod_grp_id_class,
    id_ecl_id=@prod_grp_id_ecl_id,
    org_id=@prod_grp_org_id,
    org_id_class_name=@prod_grp_org_id_class,
    org_id_ecl_id=@prod_grp_org_id_ecl_id )/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Product_group.id '/IGNORE'
Product_group.purpose '/IGNORE'
Product_group.description '/IGNORE'
Product_group.product_group_context '/IGNORE'
Product_group.membership_rule '[ ]'
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_group(prod_grp_id='200-299', prod_grp_id_class='Block_identification', prod_grp_id_ecl_id='urn:plcs:rdl:sample', prod_grp_org_id='Bike Ltd', prod_grp_org_id_class='Organization_name', prod_grp_org_id_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated referencing_product_group template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by referencing_product_group template

Figure 3 —  Entities instantiated by referencing_product_group template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#1 = PRODUCT_GROUP('/IGNORE','/IGNORE','/IGNORE','/IGNORE','/IGNORE'); #4 = IDENTIFICATION_ASSIGNMENT('200-299','/IGNORE',$,(#1)); #6 = CLASSIFICATION_ASSIGNMENT(#8,(#4),'/IGNORE'); #8 = EXTERNAL_CLASS('/NULL','Block_identification,'/IGNORE',#9); #9 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample',$); #11 = ORGANIZATION('/IGNORE','/IGNORE'); #13 = IDENTIFICATION_ASSIGNMENT('Bike Ltd','/IGNORE','/IGNORE',(#11)); #15 = CLASSIFICATION_ASSIGNMENT(#17,(#13),'/IGNORE'); #17 = EXTERNAL_CLASS('/NULL','Organization_name','/IGNORE',#18); #18 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #19 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#11,'/IGNORE',(#4)); #21 = CLASSIFICATION_ASSIGNMENT(#23,(#19),'/IGNORE'); #23 = EXTERNAL_CLASS('/NULL','Owner_of','/IGNORE',#18);
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_group(prod_grp_id='200-299', prod_grp_id_class='Block_identification', prod_grp_id_ecl_id='urn:plcs:rdl:sample', prod_grp_org_id='Bike Ltd', prod_grp_org_id_class='Organization_name', prod_grp_org_id_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Instantiation of referencing_product_group template

Figure 4 —  Instantiation of referencing_product_group template

Characterizations
The following section details how the referencing_product_group 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 identification

NOTE   this characterization is optional.

Additional identifications (incl. names) of the referenced Product_group may be assigned using the assigning_identification template.

Template: representing_product_concept (Short name: rep_prod_cpt)

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 Reading Capability Templates help 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.

Template: representing_product_configuration (Short name: rep_prod_config)

This section specifies the template representing_product_configuration.

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 the identification of a product configuration.

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


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

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

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

Figure 2 —  The graphical representation of the representing_product_configuration template

Input parameters
The following input parameters are defined for this template:
id (Type='STRING')
Identification of the product configuration (Product_configuration).
id_class_name (Type='CLASS')
The name of the class used to classify the product configuration identifier (@id) and to provide the role or reason for the identification.
The following classes and their sub-classes can be used:
classifications: "Product_configuration_identification_code" (urn:plcs:rdl:std:Product_configuration_identification_code), "Product_configuration_name" (urn:plcs:rdl:std:Product_configuration_name)
id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the @id_class_name
org_id (Type='STRING')
The identifier of the Organization that "owns" the product configuration identifier.
org_id_class_name (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)
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.
design (Type= 'SELECT (version_or_definition)' )
The product for which the product configuration is defined (Product_version or Product_view_definition).
item_context (Type= 'ENTITY (Product_concept)' )
Defines the context in which the configuration item has been defined.
Reference parameters
The following reference parameters are defined for this template:
prod_conf(Type='ENTITY (Product_configuration)')
Allow the Product_configuration entity instantiated in this path to be referenced when this template is used.
Note: The Product_configuration entity can be referenced in a template path by:
%^target = $representing_product_configuration.prod_conf%
where target is the parameter to which the Product_configuration is bound.
item_desgn_assoc(Type='ENTITY (Item_design_association)')
Allow the Item_design_association entity instantiated in this path to be referenced when this template is used.
Note: The Item_design_association entity can be referenced in a template path by:
%^target = $representing_product_configuration.item_desgn_assoc%
where target is the parameter to which the Item_design_association is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Product_configuration
Each instance of the entity (Product_configuration) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_product_configuration) namely: id, id_class_name, id_ecl_id, org_id, org_id_class_name, org_id_ecl_id.
The instance is referenced by the following template parameter: prod_conf.
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 Reading Capability Templates help section.
Product_configuration

-- Mark the Product_configuration entity as
-- referable when this template is used by binding it to the reference
-- parameter ^prod_conf
%^prod_conf = Product_configuration%
Product_configuration.id = '/IGNORE'
Product_configuration.name = '/IGNORE'
Product_configuration.description = '/IGNORE'
Product_configuration.item_context -> @item_context

-- Identification of the Product_configuration
/assigning_identification(
    items=^prod_conf,
    id=@id,
    id_class_name=@id_class_name,
    id_ecl_id=@id_ecl_id,
    org_id=@org_id,
    org_id_class_name=@org_id_class_name,
    org_id_ecl_id=@org_id_ecl_id )/
Item_design_association

-- Mark the Item_design_association entity as
-- referable when this template is used by binding it to the reference
-- parameter ^item_desgn_assoc
Item_design_association.design -> @design
Item_design_association.configuration -> ^prod_conf
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Product_configuration.id '/IGNORE'
Product_configuration.name '/IGNORE'
Product_configuration.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_configuration(design='#1', item_context='#2', id='Normal bike', id_class_name='Product_configuration_name', id_ecl_id='urn:plcs:rdl:std', org_id='Bike Ltd', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated representing_product_configuration template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_product_configuration template

Figure 3 —  Entities instantiated by representing_product_configuration 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:
/representing_product_configuration(design='#1', item_context='#2', id='Normal bike', id_class_name='Product_configuration_name', id_ecl_id='urn:plcs:rdl:std', org_id='Bike Ltd', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Entities instantiated by representing_product_configuration template

Figure 4 —  Entities instantiated by representing_product_configuration template

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

Related capabilities

This capability "Representing a product configuration" is related to the following capabilities:

Dependent capabilities

This capability "Representing a product configuration" is dependent on the following capabilities:

Model reference data

The following classes of reference data are required for this capability:

[Area_unit]
[warning:]Error RDL1: The class Area_unit does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Conversion_based_amount_of_substance_unit]
[warning:]Error RDL1: The class Conversion_based_amount_of_substance_unit does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Conversion_based_electric_current_unit]
[warning:]Error RDL1: The class Conversion_based_electric_current_unit does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Conversion_based_length_unit]
[warning:]Error RDL1: The class Conversion_based_length_unit does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Conversion_based_luminous_intensity_unit]
[warning:]Error RDL1: The class Conversion_based_luminous_intensity_unit does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Conversion_based_mass_unit]
[warning:]Error RDL1: The class Conversion_based_mass_unit does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Conversion_based_plane_angle_unit]
[warning:]Error RDL1: The class Conversion_based_plane_angle_unit does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Conversion_based_solid_angle_unit]
[warning:]Error RDL1: The class Conversion_based_solid_angle_unit does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Conversion_based_thermodynamic_temperature_unit]
[warning:]Error RDL1: The class Conversion_based_thermodynamic_temperature_unit does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Conversion_based_time_unit]
[warning:]Error RDL1: The class Conversion_based_time_unit does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[day]
[warning:]Error RDL1: The class day does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[minus_one]
[warning:]Error RDL1: The class minus_one does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[minus_two]
[warning:]Error RDL1: The class minus_two does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[minus_three]
[warning:]Error RDL1: The class minus_three does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[month]
[warning:]Error RDL1: The class month does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[plus_one]
[warning:]Error RDL1: The class plus_one does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[plus_two]
[warning:]Error RDL1: The class plus_two does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[plus_three]
[warning:]Error RDL1: The class plus_three does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[SI_unit]
[warning:]Error RDL1: The class SI_unit does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Volume_unit]
[warning:]Error RDL1: The class Volume_unit does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[week]
[warning:]Error RDL1: The class week does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[year]
[warning:]Error RDL1: The class year does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[zero]
[warning:]Error RDL1: The class zero does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml

© OASIS 2010 — All rights reserved