Template:— nato_item_of_supply_definition (nato_item_of_supply)
Context:— FMV
Date: 2008/02/05 12:11:00
Revision: 1.5

This section specifies the template nato_item_of_supply_definition.

NOTE  The template has been defined in the context of FMV. 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 basic identification and classification of an NATO item of supply.

The NATO Stock Number (NSN) is made up from:

An NATO item of supply can also be identified through its:

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


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

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

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

Figure 2 —  The graphical representation of the nato_item_of_supply_definition template

Input parameters
The following input parameters are defined for this template:
NSC (Type='STRING')

The [NATO_supply_classification_code]
[warning:]Error RDL1: The class NATO_supply_classification_code does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
for the Nato Item of Supply.

NCB (Type='STRING')

The [National_codification_bureau]
[warning:]Error RDL1: The class National_codification_bureau does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
(NCB) that assigned the NSN.

number (Type='STRING')

[NATO_non_significant_number]
[warning:]Error RDL1: The class NATO_non_significant_number does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
for the NATO Item of Supply as defined by the specific National Codification Bureau .

name (Type='STRING')

[NATO_item_of_supply_name]
[warning:]Error RDL1: The class NATO_item_of_supply_name does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
according to The NATO Codification System (NCS) naming conventions.

Reference parameters
The following reference parameters are defined for this template:
resource_id(Type='ENTITY (Resource_item)')
Allow the Resource_item entity instantiated in this path to be referenced when this template is used.
Note: The Resource_item entity can be referenced in a template path by:
%^target = $nato_item_of_supply_definition.resource_id%
where target is the parameter to which the Resource_item is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique Item of Supply
Each instance of the entity (Resource_item) within the data set shall be uniquely identified by a combination of the following parameters on this template (nato_item_of_supply_definition) namely: NSC, NCB, number.
The instance is referenced by the following template parameter: resource_id.
This rule means that there can be only one NATO Item of Supply (Resource_item ) with any given NATO Stock Number (NSN).
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.
Resource_item

-- Mark the Resource_item entity as
-- referable when this template is used by binding it to the reference
-- parameter resource_id
%^resource_id = Resource_item%
Resource_item.name = '/IGNORE'
Resource_item.description = '/IGNORE'

-- Assign the the NATO Supply Classification Code to the Resource_item representing the item of supply
/assigning_code(
    class_name=@NSC,
    code_class_name='NATO_supply_classification_code',
    code_ecl_id='urn:plcs:rdl:std',
    items=^resource_id)/

-- Bind the Class entity instantiated in the template assigning_code
-- to ^class in this template and assign the NCG to it
%^class_asg = $assigning_code.class_asg%

-- Assign the the National Codification Bureau (NCB) to the NATO Supply Classification Code
/assigning_organization(
    items=^class_asg,
    org_id=@NCB,
    org_id_class_name="National_codification_bureau",
    org_id_ecl_id="urn:plcs:rdl:std",
    org_assgn_class_name='Owner_of',
    org_assgn_ecl_id='urn:plcs:rdl:std')/

-- Assign the NATO Non-Significant Number to the Resource_item representing the item of supply
/assigning_identification(
    id=@number,
    id_class_name='NATO_non_significant_number',
    id_ecl_id='urn:plcs:rdl:std',
    org_id=@NCB,
    org_id_class_name='National_codification_bureau',
    org_id_ecl_id='urn:plcs:rdl:std',
    items=^resource_id )/

-- Assign the NATO Item of Supply to the Resource_item representing the item of supply
/assigning_identification(
    id=@name,
    id_class_name='NATO_item_of_supply_name',
    id_ecl_id='urn:plcs:rdl:std',
    org_id=@NCB,
    org_id_class_name='National_codification_bureau',
    org_id_ecl_id='urn:plcs:rdl:std',
    items=^resource_id )/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Resource_item.name '/IGNORE'
Resource_item.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:
/nato_item_of_supply_definition(NSC='A', NCB='B', number='C', name='D')/
(an illustration of the consolidated nato_item_of_supply_definition template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by nato_item_of_supply_definition template

Figure 3 —  Entities instantiated by nato_item_of_supply_definition 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:
/nato_item_of_supply_definition(NSC='A', NCB='B', number='C', name='D')/


Figure 4 —  Instantiation of nato_item_of_supply_definition template

Figure 4 —  Instantiation of nato_item_of_supply_definition template

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

© OASIS 2010 — All rights reserved