Template:— function (fun)
Context:— UK_Defence
Date: 2009/04/17 11:52:55
Revision: 1.2

This section specifies the template function.

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 functional breakdown element in terms of PLCS model elements (templates, entities, and reference data).

Business perspective

This information object represents a function of a product.

Business object definition

This information object represents a function of a product.



Figure 1 —  Graphical Representation for Business Object Function

Figure 1 —  Graphical Representation for Business Object Function

Attribute name

Attribute description

Attribute type

Optionality

description This attribute provides the description of the Item. Intrinsic Mandatory
id This attribute provides the identification of the breakdown item. Identifier Mandatory
Identifier.id This is the value of the id attribute of the Identifier applied to the Function. intrinsic Mandatory
Identifier.type This attribute is the type associated with the id of the Identifier given to the Function. This must be one of the classes provided. Functional_element_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 Function. This value is assumed to be a type of Organization_identification_code. Organization_identification_code Mandatory
name This attribute provides the name of the function. Intrinsic Mandatory
type This optional attribute indicates the type of functional items covered by the breakdown. Intrinsic Mandatory
version This attribute provides the version of the function. Intrinsic Mandatory
contained_by_breakdown This is the reference to the breakdown within which, this item is contained. Function breakdown Mandatory

Table 1 — Function attribute details

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


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

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

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

Figure 3 —  The graphical representation of the function template

Input parameters
The following input parameters are defined for this template:
id (Type='STRING')
The identifier of the function.
description (Type='STRING')
The description of the function.
source_organization (Type='STRING')
The organization or information system that created the associated identifier. Alternatively this could be set to /NULL and when Person or Information System is the source; see Identifier template characterizations.
name (Type='STRING')
The name of the function.
type (Default=Function_type,Type='CLASS')
The type of the function. Sub-classifications of Function_type should be identified by and between organizations as necessary to match the business requirements.
The following classes and their sub-classes can be used:
classifications: [Function_type]
[warning:]Error RDL4: The URI urn:plcs:rdl:uk_defence is not listed in dexlib/data/refdata/rdl_index.xml
version (Type='STRING')
The identifier of the function version.
contained_by_breakdown (Type= 'ENTITY (Functional_breakdown_version)' )
The breakdown version that contains this element.
Reference parameters
The following reference parameters are defined for this template:
fun_elem(Type='ENTITY (Functional_element)')
Allow the Functional_element entity instantiated in this path to be referenced when this template is used.
Note: The Functional_element entity can be referenced in a template path by:
%^target = $function.fun_elem%
where target is the parameter to which the Functional_element is bound.
fun_elem_vn(Type='ENTITY (Functional_element_version)')
Allow the Functional_element_version entity instantiated in this path to be referenced when this template is used.
Note: The Functional_element_version entity can be referenced in a template path by:
%^target = $function.fun_elem_vn%
where target is the parameter to which the Functional_element_version is bound.
fun_elem_def(Type='ENTITY (Functional_element_definition)')
Allow the Functional_element_definition entity instantiated in this path to be referenced when this template is used.
Note: The Functional_element_definition entity can be referenced in a template path by:
%^target = $function.fun_elem_def%
where target is the parameter to which the Functional_element_definition is bound.
vew_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 = $function.vew_def_cntxt%
where target is the parameter to which the View_definition_context is bound.
fun_bkdn_cntxt(Type='ENTITY (Functional_breakdown_context)')
Allow the Functional_breakdown_context entity instantiated in this path to be referenced when this template is used.
Note: The Functional_breakdown_context entity can be referenced in a template path by:
%^target = $function.fun_bkdn_cntxt%
where target is the parameter to which the Functional_breakdown_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.
/representing_functional_element(
    id=@id,
    id_class_name='Functional_element_identification_code',
    id_ecl_id='urn:plcs:rdl:uk_defence',
    id_owner=@source_organization,
    id_owner_class_name='Organization_identification_code',
    id_owner_ecl_id='urn:plcs:rdl:uk_defence',
    vn_id=@version,
    vn_id_class_name='Version_identification_code',
    vn_id_ecl_id='urn:plcs:rdl:uk_defence',
    vn_id_owner=@source_organization,
    vn_id_owner_class_name='Organization_identification_code',
    vn_id_owner_ecl_id='urn:plcs:rdl:uk_defence',
    life_cycle_stage='Support_stage',
    life_cycle_stage_ecl_id='urn:plcs:rdl:uk_defence',
    domain='Product_life_cycle_support',
    domain_ecl_id='urn:plcs:rdl:uk_defence')/

-- assign ref parameters
%^fun_elem = $representing_functional_element.fnct_elem%
%^fun_elem_vn = $representing_functional_element.fnct_elem_vn%
%^fun_elem_def = $representing_functional_element.fnct_elem_def%
%^vew_def_cntxt = $representing_functional_element.def_cntxt%
%^fun_bkdn_cntxt = $representing_functional_element.fnct_cntxt%
^fun_bkdn_cntxt.breakdown -> @contained_by_breakdown

-- name
/identifier(
    ID=@name,
    source_organization=@source_organization,
    type='Functional_breakdown_element_name',
    items=^fun_elem)/

-- type
/assigning_reference_data(
    items=^fun_elem,
    class_name=@type,
    ecl_id='urn:plcs:rdl:uk_defence')/

-- description
/assigning_descriptor(
    descr=@description,
    class_name='function_description',
    ecl_id='urn:plcs:rdl:uk_defence',
    is_assigned_to=^fun_elem)/
Instance diagrams
The instance diagram in Figure  4 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/function(description='location pin', id='14649', source_organization='6421', name='headless 60 degree cross', type='Function_type', version='issue 3')/
(an illustration of the consolidated function template is shown in Figure 5 below.)


Figure 4 —  Entities instantiated by function template

Figure 4 —  Entities instantiated by function 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:
/function(description='location pin', id='14649', source_organization='6421', name='headless 60 degree cross', type='Function_type', version='issue 3')/


Figure 5 —  Instantiation of function template

Figure 5 —  Instantiation of function template

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

© UK MOD 2010 — All rights reserved