Template:— assigning_identification (asg_id) Date: 2008/02/12 06:27:54
Revision: 1.23

This section specifies the template assigning_identification.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description
This template describes the assignment of an identifier to something. Each identifier must be defined in the context of an organization. The type or role of the identifier is provided by assigning reference data to the identification assignment and thereby, classifying the identification assignment as a sub class of "Identifier_type" (urn:plcs:rdl:std:Identifier_type).
Note:
As explained in the DEXLIB help pages (dexlib/help/dex/impl_trans.htm), when the id is not known or is not provided - (for example versions of a part may not be known), the suggestion is to use /NULL string, to indicate that this value is not supported. In other words, a default identification of the item (e.g. /NULL) should still be provided by the owner, when the value is unknown.
Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "assigning_identification". The text highlighted in blue shows the template parameters.


Figure 1 —  Template Configuration for Assigning Identification

Figure 1 —  Template Configuration for Assigning Identification

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


Figure 2 —  Template Summary

Figure 2 —  Template Summary

Input parameters
The following input parameters are defined for this template:
id (Type='STRING')
The identifier being assigned.
id_class_name (Type='CLASS')
The name of the class used to classify the identifier and so provide the role or reason for the identification.
The following classes and their sub-classes can be used:
classifications: "Identifier_type" (urn:plcs:rdl:std:Identifier_type)
id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the id_class_name class
org_id (Type='STRING')
The identifier of the organization that "owns" the identifier.
org_id_class_name (Type='CLASS')
The name of the class being used to classify the identification of the organization, or the organization name. For example 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)
org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the org_id_class_name class
items (Type= 'SELECT (identification_item)' )
The items to which the identification is assigned
Reference parameters
The following reference parameters are defined for this template:
id_assgn(Type='ENTITY (Identification_assignment)')
Allow the Identification_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Identification_assignment entity can be referenced in a template path by:
%^target = $assigning_identification.id_assgn%
where target is the parameter to which the Identification_assignment is bound.
For example, to identify the date of an identification by assigning a date to the Identification_assignment entity. E.g.
                     -- The template assigning_identification has an external reference
                     -- id_assgn. Bind this to the local external reference
                     -- id_assignment. It can now be the target for assigned dates 
                     %^id_assgn = $assigning_identification.id_assgn%
                     -- assign date to identification_assignment in the role of "created"
                     /assigning_calendar_date(items=^id_assgn, 
                     date_class_name='Date_actual', 
                     date_ecl_id='urn:plcs:rdl:std', 
                     year=@creation_year, 
                     month=@creation_month, 
                     day=@creation_day)/          
                 
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique identifier
There shall be at most one instance of the entity (Identification_assignment) within the data set uniquely identified by a combination of the following parameters on this template (assigning_identification) namely: id, id_class_name, id_ecl_id, org_id, org_id_class_name, org_id_ecl_id, items.
The instance is referenced by the following template parameter: id_assgn.
Any given identifier shall only be assigned to an item once.
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 Reading Capability Templates help section.
Identification_assignment

-- Mark the Identification_assignment entity as
-- referable when this template is used by binding it to the reference
-- parameter id_assgn
%^id_assgn = Identification_assignment%
Identification_assignment.identifier = @id
Identification_assignment.role = '/IGNORE'
Identification_assignment.description = '/IGNORE'
Identification_assignment.items -> @items

-- provide the role of the identification by classifying the Identification_assignment
/assigning_reference_data(
    items=^id_assgn,
    class_name=@id_class_name,
    ecl_id=@id_ecl_id)/

-- assign an organization to the identifier and classify it as 'Owner_of'
/assigning_organization(
    items=^id_assgn,
    org_id=@org_id,
    org_id_class_name=@org_id_class_name,
    org_id_ecl_id=@org_id_ecl_id,
    org_assgn_class_name='Owner_of',
    org_assgn_ecl_id='urn:plcs:rdl:std')/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Identification_assignment.identifier @id
Identification_assignment.role '/IGNORE'
Identification_assignment.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:
/assigning_identification(items='#2', id='ZXS10345', id_class_name='Part_identification_code', id_ecl_id='urn:plcs:rdl:std', org_id='Big Planes Inc', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated assigning_identification template is shown in Figure 4 below.)
Note that the assigning_reference_data and assigning_organization templates are used in the diagram. Namely:
/assigning_reference_data(items='#2', class_name='Part_identification_code', ecl_id='urn:plcs:rdl:std')/
/assigning_organization(items='#2', org_id='Big Planes Inc', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std', org_assgn_class_name='Owner_of', org_assgn_ecl_id='urn:plcs:rdl:std')/


Figure 3 —  Instantiation of Template Components

Figure 3 —  Instantiation of Template Components

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:
/assigning_identification(items='#2', id='ZXS10345', id_class_name='Part_identification_code', id_ecl_id='urn:plcs:rdl:std', org_id='Big Planes Inc', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Consolidated Template Instantiation

Figure 4 —  Consolidated Template Instantiation

Characterizations
The following section details how the assigning_identification 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 Time

NOTE   this characterization is optional.

Times and dates can be associated with the assignment of an identifier by using the template assigning_time. For example, the time and date on which an identifier was created is represented by assigning a time to the Identification_assignment.

The model for assigning a time (and/or date) to an identifier is shown below.



Figure 5 —  Template Configuration with Optional Time and date Assignment

Figure 5 —  Template Configuration with Optional Time and date Assignment

An example showing the assignment of a creation time (and/or date) to an identifier is shown below.



Figure 6 —  Instantiation of Optional Template Configuration

Figure 6 —  Instantiation of Optional Template Configuration

The instantiated templates for assigning a identification to a part is:

/assigning_identification2(items='#2', id='ZXS10345', id_class_name='Part_identification_code', id_ecl_id='urn:plcs:rdl:std', org_id='Big Planes Inc', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std')/

The instantiated templates for assigning a time (and/or date) to an identification is shown below. Note the use of the reference parameter $assigning_identification.id_assgn to identify the Identification_assignment instantiated by the template assigning_identification.

/assigning_time(items='$assigning_identification.id_assgn', date_class_name='Date_actual_creation', date_ecl_id='urn:plcs:rdl:std', year='2005', month='05', day='12', hour='10', minute='34', second='21', sense='.exact.', hour_offset='-5', minute_offset='0')/
Characterization Assigning Organization

NOTE   this characterization is optional.

An additional representation of an organization can be associated with the assignment of an identifier by using the template assigning_organization. For example, to specifiy both the Organization name AND an NCAGE of the Organization that is responsible for an identifier can be represented by associating an instance of the assigning_organization template to the Identification_assignment entity that is referenceable from the assigning_identification template.

The model for assigning an additional organization to an identifier is shown below.



Figure 7 —  Template configuration with optional organization assignment

Figure 7 —  Template configuration with optional organization assignment

An example showing the assignment of an additional organization to an identifier is shown below.



Figure 8 —  Instantiation of optional template configuration

Figure 8 —  Instantiation of optional template configuration

The instantiated templates for assigning a identification to a part is:

/assigning_identification2(items='#2', id='ZXS10345', id_class_name='Part_identification_code', id_ecl_id='urn:plcs:rdl:std', org_id='Big Planes Inc', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std')/

The instantiated templates for assigning an additional representation of the organization to an identification are shown below. Note the use of the reference parameter $assigning_identification.id_assgn to identify the Identification_assignment instantiated by the template assigning_identification.

/assigning_organization(items='$assigning_identification.id_assgn', org_id='96214', org_id_class_name='NCAGE_code', org_id_ecl_id='urn:plcs:rdl:std', org_assgn_class_name='Owner_of', org_assgn_ecl_id='urn:plcs:rdl:std')/
Characterization Assigning Document Reference

NOTE   this characterization is optional.

A document reference can be associated with the assignment of an identifier by using the template assigning_document_reference. For example, to reference the documented procedure or specification that is used in creating an identifier can be represented by associating an instance of the assigning_document_reference template to the Identification_assignment entity that is referenceable from the assigning_identification template.

The model for assigning an document reference to an identifier is shown below.



Figure 9 —  Template configuration with optional document reference assignment

Figure 9 —  Template configuration with optional document reference assignment

An example showing the assignment of a document reference to an identifier is shown below.



Figure 10 —  Instantiation of optional template configuration

Figure 10 —  Instantiation of optional template configuration

The instantiated templates for assigning a identification to a part is:

/assigning_identification2(items='#2', id='ZXS10345', id_class_name='Part_identification_code', id_ecl_id='urn:plcs:rdl:std', org_id='Big Planes Inc', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std')/

The instantiated templates for assigning a document reference to an identification are shown below. Note the use of the reference parameter $assigning_identification.id_assgn to identify the Identification_assignment instantiated by the template assigning_identification.

/assigning_document_reference(doc_id='FAA-XXXAAA-DA1', doc_id_class_name='Document_identification_code', doc_id_ecl_id='urn:plcs:rdl:std', doc_ver_id='1.01', doc_ver_id_class_name='Version_identification_code', doc_ver_id_ecl_id='urn:plcs:rdl:std', org_id='FAA', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std', doc_asg_class_name='Document_reference', doc_asg_ecl_id='urn:plcs:rdl:std', is_assigned_to='#1')/

© OASIS 2008 — All rights reserved