Template:— product_assembly (prod_assy)
Context:— UK_Defence
Date: 2010/03/18 12:20:27
Revision: 1.3

This section specifies the template product_assembly.

NOTE  The template has been defined in the context of UK_Defence. Refer to the business context for details 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 represent the UK_Defence concept of a product assembly in terms of PLCS model elements (templates, entities, and reference data).

Business perspective

This information object collects together Assembly Item Relationship (structures) and Assembly Items for a named product structure. The Assembly structures provide the valid relationships and items for a type of configuration for a given product design. and is constructed to represent how the build of the product will be achieved and the impact of any changes made to the product.

Business object definition

A hierarchical structure which depicts parent/child relationships and is constructed to represent how the build of the product will be achieved and the impact of any changes made to the product.



Figure 1 —  Graphical Representation for Business Object Product Assembly.

Figure 1 —  Graphical Representation for Business Object Product Assembly.

Attribute name

Attribute description

Attribute type

Optionality

contained_items This attribute identifies the valid items (Assembly Items) in the assembly. Assembly Item Mandatory
contained_structure This attribute identifies the valid structures (Assembly Item Relationships) in the assembly. Assembly Item Relationship Mandatory
ID This attribute provides the identification of a valid Product Assembly that is effective for a type of configuration. Identifier Mandatory
Identifier.id This is the value of the id attribute of the Identifier applied to a Product Assembly. intrinsic Mandatory
Identifier.type This attribute is the type associated with the id of the Identifier given to the Product Assembly. This value is assumed to be a type of Effectivity_identification_code. Effectivity_identification_code Mandatory
Identifier.source_organization This attribute is the value representing the source organization that provides the id of the Identifier given to the Product Assembly. This value is assumed to be a type of Organization_identification_code. Organization_identification_code Mandatory
name This attribute provides the name of the Product Assembly. Intrinsic Mandatory
related_product_design This attribute relates the Product Assembly to the defined version of a Product Design. Product Design Mandatory
type This attribute provides the type of Product Assembly. Intrinsic Mandatory
version This attribute provides the version of the Product Assembly configuration that is effective for the given items and structures of a Product Design. Intrinsic Mandatory

Table 1 — Product Assembly attribute details

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


Figure 2 —  An EXPRESS-G representation of the Information model for product_assembly

Figure 2 —  An EXPRESS-G representation of the Information model for product_assembly

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


Figure 3 —  The graphical representation of the product_assembly template

Figure 3 —  The graphical representation of the product_assembly template

Input parameters
The following input parameters are defined for this template:
pa_id (Type='STRING')
The product assembly id
pa_type (Default=Product_assembly,Type='CLASS')
The type of Product Assembly. The types provided should be determined by the exchange partners or organization(s) business usage requirements. Examples have been provided.
The following classes and their sub-classes can be used:
classifications: [Permissable_assembly]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[Allowable_assembly]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[Possible_assembly]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[Base_assembly]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
[Product_assembly]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
pa_name (Type='STRING')
The name of the product for which the assembly is configured.
pa_version (Type='STRING')
The version of the Product Assembly configuration.
pa_authority (Type='STRING')
The ncage identifier of the design authority that determines the validity of a product assembly configuration.
contained_items (Default=Part_view_definition,Type= 'SELECT (effectivity_item)' , Optional)
A list of the valid Assembly Items for a particular configuration of the given design for a particular product design. The Assembly Item business object is expressed as a Part_view_definition. Different Assembly Items may be valid in different types or versions of the Product Assembly configuration.
contained_structure (Default=Next_assembly_usage,Type= 'SELECT (effectivity_item)' , Optional)
A list of the valid Assembly Item Relationships (structures) for a particular configuration of the given design for a particular product design. The Assembly Item Relationship business object is expressed as a Next_assembly_usage. Different Assembly Item Relationships may be valid in different types or versions of the Product Assembly configuration.
related_product_design (Default=Part_view_definition,Type= 'SELECT (version_or_definition)' , Optional)
The defined version of the Product Design for the Product Assembly configuration.
Reference parameters
The following reference parameters are defined for this template:
pa_effectivity(Type='ENTITY (Effectivity)')
Allow the Effectivity entity instantiated in this path to be referenced when this template is used.
Note: The Effectivity entity can be referenced in a template path by:
%^target = $product_assembly.pa_effectivity%
where target is the parameter to which the Effectivity is bound.
pa_item_effect_asngt(Type='ENTITY (Effectivity_assignment)')
Allow the Effectivity_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Effectivity_assignment entity can be referenced in a template path by:
%^target = $product_assembly.pa_item_effect_asngt%
where target is the parameter to which the Effectivity_assignment is bound.
pa_struct_effect_asngt(Type='ENTITY (Effectivity_assignment)')
Allow the Effectivity_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Effectivity_assignment entity can be referenced in a template path by:
%^target = $product_assembly.pa_struct_effect_asngt%
where target is the parameter to which the Effectivity_assignment is bound.
pa_config(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 = $product_assembly.pa_config%
where target is the parameter to which the Item_design_association 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.
%^pa_effectivity = Effectivity%
Effectivity.id = '/IGNORE'
Effectivity.name = '/IGNORE'
Effectivity.description = '/IGNORE'

-- New Effectivity assignment
Effectivity_assignment.role = '/IGNORE'
Effectivity_assignment.items -> @contained_items

-- Set the Effectivity_assignment attribute role to be ignored
Effectivity_assignment.role = '/IGNORE'

-- Instantiate Effectivity_assignment entity (no.1)
%^pa_item_effect_asngt = Effectivity_assignment%
^pa_item_effect_asngt.assigned_effectivity -> ^pa_effectivity
/identifier(
    items=^pa_effectivity,
    ID=@pa_id,
    type='Effectivity_identification_code',
    source_organization=@pa_authority)/

-- /identifier(items=^pa_effectivity, ID=@pa_name, type='Name', source_organization=@pa_authority)/
-- /identifier(items=^pa_effectivity, ID=@pa_version, type='Version_identification_code', source_organization=@pa_authority)/
-- provide the role of the identification by classifying the Identification_assignment
/assigning_reference_data(
    items=^pa_effectivity,
    class_name=@pa_type,
    ecl_id='urn:plcs:rdl:uk_defence')/

-- create the ref to the product concept
/referencing_product_concept(
    prod_cpt_id=@pa_name,
    prod_cpt_id_class='Product_concept_name',
    prod_cpt_id_ecl_id='urn:plcs:rdl:std',
    prod_cpt_org_id=@pa_authority,
    prod_cpt_org_id_class='Organization_name',
    prod_cpt_id_ecl_id='urn:plcs:rdl:std')/
%^pa_ref_concept = $referencing_product_concept.prod_cpt%
/representing_product_configuration(
    design=@related_product_design,
    item_context=^pa_ref_concept,
    id=@pa_version,
    id_class_name='Product_configuration_identification_code',
    id_ecl_id='urn:plcs:rdl:std',
    org_id=@pa_authority,
    org_id_class_name='Organization_name',
    org_id_ecl_id='urn:plcs:rdl:std')/
%^pa_config = $representing_product_configuration.item_desgn_assoc%
/assigning_product_configuration_effectivity(
    configuration=^pa_config,
    usage=$,
    effectivity=^pa_effectivity)/
Effectivity_assignment.role = '/IGNORE'
Effectivity_assignment.items -> @contained_structure
Effectivity_assignment.role = '/IGNORE'

-- Make Ref Params of Effectivity_assignment entity (no.2)
%^pa_struct_effect_asngt = Effectivity_assignment%
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Effectivity.id '/IGNORE'
Effectivity.name '/IGNORE'
Effectivity.description '/IGNORE'
Effectivity_assignment.role '/IGNORE'
Effectivity_assignment.role '/IGNORE'
Effectivity_assignment.role '/IGNORE'
Effectivity_assignment.role '/IGNORE'
Instance diagrams
The instance diagram in Figure  4 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/product_assembly(pa_id='HPSW-PA-001', pa_type='Allowable_assembly', pa_name='HPSW Piping Assembly', pa_version='PA-001-A1', pa_authority='96214', contained_items='(@71, @170, @381)', contained_structure='(@269, @325)', related_product_design='$')/
(an illustration of the consolidated product_assembly template is shown in Figure 5 below.)


Figure 4 —  Entities instantiated by product_assembly template

Figure 4 —  Entities instantiated by product_assembly template

The instance diagram in Figure 5 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/product_assembly(pa_id='HPSW-PA-001', pa_type='Allowable_assembly', pa_name='HPSW Piping Assembly', pa_version='PA-001-A1', pa_authority='96214', contained_items='(@71, @170, @381)', contained_structure='(@269, @325)', related_product_design='$')/


Figure 5 —  Instantiation of product_assembly template

Figure 5 —  Instantiation of product_assembly template

Characterizations
The following section details how the product_assembly 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 6 shows the possible characterizations of the template "product_assembly".


Figure 6 —  Characterizations for product_assembly

Figure 6 —  Characterizations for product_assembly

The following characterizations may apply:
Characterization Status Assignment

NOTE   this characterization is optional.

A UK_Defence.product_assembly may have one or more status assigned to it, through the use of the following templates (or those based upon these): UK_Defence.status_assignment. The following template calls show how these characterizations might be instantiated.

/status_assignment(assigned_status='', assigned_status_ecl_id='', ID='', ID_type='', ID_organization='', subject='', type='', type_ecl_id='')/
Characterization Document Association

NOTE   this characterization is optional.

A UK_Defence.product_assembly may have specific documents assigned to it, through the use of the following templates (or those based upon these): UK_Defence.document_association , and the associated UK_Defence.document . The following template calls show how these characterizations might be instantiated.

/document_association(id='', type='', source_organization='', purpose='', related_document='', related_item='')/
Characterization Assigning effectivity

NOTE   this characterization is optional.

An effectivity may be assigned to the UK_Defence.product_assembly. This shall be done using entity Effectivity_assignment.

For example, a dated effectivity shall be assigned using template assigning_dated_effectivity.

NOTE    The assignment of effectivities is described in capability C006: assigning_effectivity.

Characterization Assigning date

NOTE   this characterization is optional.

The date when the UK_Defence.product_assembly configuration was created can be represented by assigning a time (and/or date) using the template assigning_time where the type can be classified as a type of "Date actual creation" (urn:plcs:rdl:std:Date actual creation).

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

© UK MOD 2010 — All rights reserved