Template:— referencing_breakdown_element (ref_bkdn_elem)
Capability:representing_breakdown_structure
Date: 2009/03/11 08:59:17
Revision: 1.3

This section specifies the template referencing_breakdown_element.

NOTE  The template has been defined in the context of the capability representing_breakdown_structure 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 reference a Breakdown_element (or its version or definition) regardless of what breakdown it belongs to. It is generic and may be used for any type of breakdown.

References to a Breakdown_element may use only the first 6 in-parameters, if the Breakdown_element_version is insignificant. Other in-parameters can be set to "/NULL".

References to a specific Breakdown_element_version may use only the 12 first in-parameters, if the Breakdown_element_definition (view) is insignificant. Other in-parameters can be set to "/NULL".

References to a particular Breakdown_element_definition must include all in-parameters.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "referencing_breakdown_element". 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_breakdown_element

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

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

Figure 2 —  The graphical representation of the referencing_breakdown_element template

Input parameters
The following input parameters are defined for this template:
id (Type='STRING')
The identifier of the Breakdown_element .
id_class_name (Default=Breakdown_element_identification_code,Type='CLASS')
The name of the class being used to classify the (Identification_assignment) of the breakdown_element. This provides the role or reason for the identification.
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 identifier of the External_class_library storing the definition of the class referenced by the parameter @id_class_name class.
id_owner (Type='STRING')
The name or identifier of the organization owning the id or name.
id_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)
id_owner_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the @id_owner_class_name class
vn_id (Default=/NULL,Type='STRING')
The identifier of the Breakdown_element_version.
vn_id_class_name (Default=Version_identification_code,Type='CLASS')
The name of the class being used to classify the identification (Identification_assignment) of the breakdown_element_version. 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)
vn_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 @vn_id_class_name class.
vn_id_owner (Default=/NULL,Type='STRING')
The name or identifier of the organization owning the version_id.
vn_id_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)
vn_id_owner_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the @vn_id_owner_class_name class
life_cycle_stage (Default=Life_cycle_stage,Type='CLASS')
The identifier of the External_class_library used to describe the type of life cycle stage of the View_definition_context instance.
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 storing the definition of the class referenced by the parameter @life_cycle_stage class.
domain (Default=Application_domain,Type='CLASS')
The identifier of the External_class_library used to describe the type of application domain of the View_definition_context instance.
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 storing the definition of the class referenced by the parameter @domain class.
Reference parameters
The following reference parameters are defined for this template:
bkdn_elem(Type='ENTITY (Breakdown_element)')
Allow the Breakdown_element entity instantiated in this path to be referenced when this template is used.
Note: The Breakdown_element entity can be referenced in a template path by:
%^target = $referencing_breakdown_element.bkdn_elem%
where target is the parameter to which the Breakdown_element is bound.
bkdn_elem_vn(Type='ENTITY (Breakdown_element_version)')
Allow the Breakdown_element_version entity instantiated in this path to be referenced when this template is used.
Note: The Breakdown_element_version entity can be referenced in a template path by:
%^target = $referencing_breakdown_element.bkdn_elem_vn%
where target is the parameter to which the Breakdown_element_version is bound.
bkdn_elem_def(Type='ENTITY (Breakdown_element_definition)')
Allow the Breakdown_element_definition entity instantiated in this path to be referenced when this template is used.
Note: The Breakdown_element_definition entity can be referenced in a template path by:
%^target = $referencing_breakdown_element.bkdn_elem_def%
where target is the parameter to which the Breakdown_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 = $referencing_breakdown_element.def_cntxt%
where target is the parameter to which the View_definition_context 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 Breakdown_element
Breakdown_element
%^bkdn_elem = Breakdown_element%
^bkdn_elem.id = '/IGNORE'
^bkdn_elem.name = '/IGNORE'
^bkdn_elem.description = '/IGNORE'

-- assign ID to breakdown_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=^bkdn_elem)/

-- instantiate Breakdown_element_version
Breakdown_element_version
%^bkdn_elem_vn = Breakdown_element_version%
^bkdn_elem_vn.id = '/IGNORE'
^bkdn_elem_vn.description = '/IGNORE'
^bkdn_elem_vn.of_product -> ^bkdn_elem

-- assign ID to Breakdown_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=^bkdn_elem_vn)/

-- instantiate Breakdown_element_definition
Breakdown_element_definition
%^bkdn_elem_def = Breakdown_element_definition%
^bkdn_elem_def.id = '/IGNORE'
^bkdn_elem_def.name = '/IGNORE'
^bkdn_elem_def.additional_characterization = '/IGNORE'
^bkdn_elem_def.defined_version -> ^bkdn_elem_vn

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

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

-- assign application_domain to the context
/assigning_reference_data(
    items=^def_cntxt,
    class_name=@domain,
    ecl_id=@domain_ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Breakdown_element.id '/IGNORE' Product.id
Breakdown_element.name '/IGNORE' Product.name
Breakdown_element.description '/IGNORE' Product.description
Breakdown_element_version.id '/IGNORE' Product_version.id
Breakdown_element_version.description '/IGNORE' Product_version.description
Breakdown_element_definition.id '/IGNORE' Product_view_definition.id
Breakdown_element_definition.name '/IGNORE' Product_view_definition.name
Breakdown_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'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/referencing_breakdown_element(items='#1', class_name='Safety_critical', ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated referencing_breakdown_element template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by referencing_breakdown_element template

Figure 3 —  Entities instantiated by referencing_breakdown_element 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_breakdown_element(items='#1', class_name='Safety_critical', ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Instantiation of referencing_breakdown_element template

Figure 4 —  Instantiation of referencing_breakdown_element template

Characterizations
The following section details how the referencing_breakdown_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 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.

© OASIS 2010 — All rights reserved