Template:— representing_physical_element (rep_phys_elmnt) Date: 2009/04/23 01:28:58
Revision: 1.17

This section specifies the template representing_physical_element.

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 Physical_element (and its version and definition) in a breakdown.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_physical_element". The text highlighted in blue shows the template parameters.
Templates within grey rectangles and templates with dashed lines are not included in the template, but may be used to further characterize the template.


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

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

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

Figure 2 —  The graphical representation of the representing_physical_element template

Input parameters
The following input parameters are defined for this template:
id (Type='STRING')
The identifier of the Physical_element.
id_class_name (Default=Breakdown_element_identification_code,Type='CLASS')
The name of the class assigned to the Identification_assignment that applies to the physical element.
The following classes and their sub-classes can be used:
classifications: "Breakdown_element_identification_code" (urn:plcs:rdl:std:Breakdown_element_identification_code), "Breakdown_element_name" (urn:plcs:rdl:std:Breakdown_element_name)
id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library that stores the @id_class_name class.
id_owner (Type='STRING')
The name or identifier of the organization responsible for the id or name of the physical element.
id_owner_class_name (Default=Organization_name,Type='CLASS')
The name of the class assigned to the Identification_assignment that applies to the the organization responsible for identifying the physical element. (e.g. "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)
id_owner_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library that stores the @id_owner_class_name class.
vn_id (Default=Unknown,Type='STRING')
The identifier of the Physical_element_version.
vn_id_class_name (Default=Version_identification_code,Type='CLASS')
The name of the class assigned to the Identification_assignment that applies to the physical element version.
The following classes and their sub-classes can be used:
classifications: "Version_identification_code" (urn:plcs:rdl:std:Version_identification_code)
vn_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library that stores the definition of the class referenced by the parameter @vn_id_class_name class.
vn_id_owner (Default=Unknown,Type='STRING')
The name or identifier of the organization responsible for the identification of the physical element version.
vn_id_owner_class_name (Default=Organization_name,Type='CLASS')
The name of the class assigned to the Identification_assignment that applies to the the organization responsible for identifying the physical element version. (e.g. "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)
vn_id_owner_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library that stores the @vn_id_owner_class_name class.
life_cycle_stage (Default=Support_stage,Type='CLASS')
A classification of the view definition context.
The following classes and their sub-classes can be used:
classifications: "Life_cycle_stage" (urn:plcs:rdl:std:Life_cycle_stage)
life_cycle_stage_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library that stores the definition of the class referenced by the parameter @life_cycle_stage class.
domain (Default=Product_life_cycle_support,Type='CLASS')
A classification of the view definition context.
The following classes and their sub-classes can be used:
classifications: "Application_domain" (urn:plcs:rdl:std:Application_domain)
domain_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library that stores the definition of the class referenced by the parameter @domain class.
phys_bkdn_vn (Type= 'ENTITY (Physical_breakdown_version)' )
The Physical_breakdown_version of which this Physical_element is a constituent.
Reference parameters
The following reference parameters are defined for this template:
phys_elem(Type='ENTITY (Physical_element)')
Allow the Physical_element entity instantiated in this path to be referenced when this template is used.
Note: The Physical_element entity can be referenced in a template path by:
%^target = $representing_physical_element.phys_elem%
where target is the parameter to which the Physical_element is bound.
phys_elem_vn(Type='ENTITY (Physical_element_version)')
Allow the Physical_element_version entity instantiated in this path to be referenced when this template is used.
Note: The Physical_element_version entity can be referenced in a template path by:
%^target = $representing_physical_element.phys_elem_vn%
where target is the parameter to which the Physical_element_version is bound.
phys_elem_def(Type='ENTITY (Physical_element_definition)')
Allow the Physical_element_definition entity instantiated in this path to be referenced when this template is used.
Note: The Physical_element_definition entity can be referenced in a template path by:
%^target = $representing_physical_element.phys_elem_def%
where target is the parameter to which the Physical_element_definition is bound.
def_cntxt(Type='ENTITY (View_definition_context)')
Allow the View_definition_context entity instantiated in this path to be referenced when this template is used.
Note: The View_definition_context entity can be referenced in a template path by:
%^target = $representing_physical_element.def_cntxt%
where target is the parameter to which the View_definition_context is bound.
phys_cntxt(Type='ENTITY (Physical_breakdown_context)')
Allow the Physical_breakdown_context entity instantiated in this path to be referenced when this template is used.
Note: The Physical_breakdown_context entity can be referenced in a template path by:
%^target = $representing_physical_element.phys_cntxt%
where target is the parameter to which the Physical_breakdown_context is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique def_cntxt
Each instance of the entity (View_definition_context) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_physical_element) namely: life_cycle_stage, life_cycle_stage_ecl_id, domain, domain_ecl_id.
The instance is referenced by the following template parameter: def_cntxt.
Unique constraint: Unique phys_elem
Each instance of the entity (Physical_element) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_physical_element) namely: id, id_class_name, id_ecl_id, id_owner, id_owner_class_name, id_owner_ecl_id.
The instance is referenced by the following template parameter: phys_elem.
Unique constraint: Unique phys_elem_def
Each instance of the entity (Physical_element_definition) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_physical_element) namely: id, id_class_name, id_ecl_id, id_owner, id_owner_class_name, id_owner_ecl_id, vn_id, vn_id_class_name, vn_id_ecl_id, vn_id_owner, vn_id_owner_class_name, vn_id_owner_ecl_id, life_cycle_stage, life_cycle_stage_ecl_id, domain, domain_ecl_id.
The instance is referenced by the following template parameter: phys_elem_def.
This rule means that there can be only one view definition (Physical_element_definition) of a version (Physical_element_version) with any given identifier, in the same View_definition_context) .
Unique constraint: Unique phys_elem_vn
Each instance of the entity (Physical_element_version) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_physical_element) namely: id, id_class_name, id_ecl_id, id_owner, id_owner_class_name, id_owner_ecl_id, vn_id, vn_id_class_name, vn_id_ecl_id, vn_id_owner, vn_id_owner_class_name, vn_id_owner_ecl_id.
The instance is referenced by the following template parameter: phys_elem_vn.
This rule means that there can be only one version (Physical_element_version) of a physical element (Physical_element) with any given identifier.
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 Physical_element
Physical_element
%^phys_elem = Physical_element%
^phys_elem.id = '/IGNORE'
^phys_elem.name = '/IGNORE'
^phys_elem.description = '/IGNORE'

-- assign ID to Physical_element
/assigning_identification(
    id=@id,
    id_class_name=@id_class_name,
    id_ecl_id=@id_ecl_id,
    org_id=@id_owner,
    org_id_class_name=@id_owner_class_name,
    org_id_ecl_id=@id_owner_ecl_id,
    items=^phys_elem)/

-- instantiate Physical_element_version
Physical_element_version
%^phys_elem_vn = Physical_element_version%
^phys_elem_vn.id = '/IGNORE'
^phys_elem_vn.description = '/IGNORE'
^phys_elem_vn.of_product -> ^phys_elem

-- assign ID to Physical_element_version
/assigning_identification(
    id=@vn_id,
    id_class_name=@vn_id_class_name,
    id_ecl_id=@vn_id_ecl_id,
    org_id=@vn_id_owner,
    org_id_class_name=@vn_id_owner_class_name,
    org_id_ecl_id=@vn_id_owner_ecl_id,
    items=^phys_elem_vn)/

-- instantiate Physical_element_definition
Physical_element_definition
%^phys_elem_def = Physical_element_definition%
^phys_elem_def.id = '/IGNORE'
^phys_elem_def.name = '/IGNORE'
^phys_elem_def.additional_characterization = '/IGNORE'
^phys_elem_def.defined_version -> ^phys_elem_vn

-- instantiate View_definition_context and bind it to the Physical_element_definition
^phys_elem_def.initial_context -> View_definition_context
View_definition_context.life_cycle_stage = '/IGNORE'
View_definition_context.application_domain = '/IGNORE'
View_definition_context.description = '/IGNORE'
%^def_cntxt = View_definition_context%

-- assign life_cycle_stage to the view_definition_context
/assigning_reference_data(
    items=View_definition_context,
    class_name=@life_cycle_stage,
    ecl_id=@life_cycle_stage_ecl_id)/

-- assign application_domain to the context
/assigning_reference_data(
    items=View_definition_context,
    class_name=@domain,
    ecl_id=@domain_ecl_id)/

-- instantiate Physical_breakdown_context to connect Physical_element_definition
-- to a Physical_version
Physical_breakdown_context
%^phys_cntxt = Physical_breakdown_context%
^phys_cntxt.id = '/IGNORE'
^phys_cntxt.name = '/IGNORE'
^phys_cntxt.description = '/IGNORE'
^phys_cntxt.breakdown_element -> ^phys_elem_def
^phys_cntxt.breakdown -> @phys_bkdn_vn
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Physical_element.id '/IGNORE' Product.id
Physical_element.name '/IGNORE' Product.name
Physical_element.description '/IGNORE' Product.description
Physical_element_version.id '/IGNORE' Product_version.id
Physical_element_version.description '/IGNORE' Product_version.description
Physical_element_definition.id '/IGNORE' Product_view_definition.id
Physical_element_definition.name '/IGNORE' Product_view_definition.name
Physical_element_definition.additional_characterization '/IGNORE' Product_view_definition.additional_characterization
View_definition_context.life_cycle_stage '/IGNORE'
View_definition_context.application_domain '/IGNORE'
View_definition_context.description '/IGNORE'
Physical_breakdown_context.id '/IGNORE' Breakdown_context.id
Physical_breakdown_context.name '/IGNORE' Breakdown_context.name
Physical_breakdown_context.description '/IGNORE' Breakdown_context.description
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_physical_element(id='Forks assembly', id_class_name='Zone_element_name', id_ecl_id='urn:plcs:rdl:std', id_owner='Motorcycle Manufacturers Ltd', id_owner_class_name='Organization_name', id_owner_ecl_id='urn:plcs:rdl:std', vn_id='B', vn_id_class_name='Version_identification_code', vn_id_ecl_id='urn:plcs:rdl:std', vn_id_owner='Motorcycle Manufacturers Ltd', vn_id_owner_class_name='Organization_name', vn_id_owner_ecl_id='urn:plcs:rdl:std', life_cycle_stage='Support_stage', life_cycle_stage_ecl_id='urn:plcs:rdl:std', domain='Maintenance', domain_ecl_id='urn:plcs:rdl:std', phys_bkdn_vn='#53')/
(an illustration of the consolidated representing_physical_element template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_physical_element template

Figure 3 —  Entities instantiated by representing_physical_element 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_physical_element(id='Forks assembly', id_class_name='Zone_element_name', id_ecl_id='urn:plcs:rdl:std', id_owner='Motorcycle Manufacturers Ltd', id_owner_class_name='Organization_name', id_owner_ecl_id='urn:plcs:rdl:std', vn_id='B', vn_id_class_name='Version_identification_code', vn_id_ecl_id='urn:plcs:rdl:std', vn_id_owner='Motorcycle Manufacturers Ltd', vn_id_owner_class_name='Organization_name', vn_id_owner_ecl_id='urn:plcs:rdl:std', life_cycle_stage='Support_stage', life_cycle_stage_ecl_id='urn:plcs:rdl:std', domain='Maintenance', domain_ecl_id='urn:plcs:rdl:std', phys_bkdn_vn='#53')/


Figure 4 —  Instantiation of representing_physical_element template

Figure 4 —  Instantiation of representing_physical_element template

Characterizations
The following section details how the representing_physical_element 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 EXPRESS-G diagram in Figure 5 shows the possible characterizations of the template "representing_physical_element".


Figure 5 —  Characterizations for representing_physical_element template

Figure 5 —  Characterizations for representing_physical_element template

The following characterizations may apply:
Characterization Assigning classification or code

NOTE   this characterization is optional.

Classifications and codes may be assigned to a Physical_element through external reference data. See Figure 5 for an Express-G overview.

The classification of a Physical_element is represented using the template assigning_reference_data assigned to Physical_element.

A code for a Breakdown_element (e.g. "LCN number") is represented by using the template assigning_code assigned to Physical_element.

Characterization Assigning location

NOTE   this characterization is optional.

A location can be associated to a Physical_element or a Physical_element_version by using the template assigning_location. See Figure 5 for an Express-G overview.

The location may be expressed as a global location, an address-based location, an organization-based location, or as a location in a regional grid. See further Capability C049: assigning_location (NB Capabilities are not documented in this release of the PLCS standard) .

The assignment of the location (assigning_location) may be classified.

Characterization Assigning properties and documents

NOTE   this characterization is optional.

Properties and documents may be associated with a Physical_element_definition. See Figure 5 for an Express-G overview.

A property is associated using template assigning_product_property assigned to Physical_element_definition using reference parameter "phys_elem_def". The assignment of properties is further explained in capability C076: assigning_product_properties (NB Capabilities are not documented in this release of the PLCS standard) .

A document is associated using template assigning_document assigned to Physical_element_definition using reference parameter "phys_elem_def". The assignment of documents is further explained in capability C005: representing_documents (NB Capabilities are not documented in this release of the PLCS standard) .

Characterization Assigning identifications

NOTE   this characterization is optional.

Identifications may be associated with a Physical_element_definition, a Physical_element and a Physical_breakdown_context by using the template assigning_identification. . See Figure 5 for an Express-G overview.

© OASIS 2010 — All rights reserved