Template:— assigning_reference_data (asg_rd) Date: 2008/02/28 16:35:03
Revision: 1.28

This section specifies the template assigning_reference_data.

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

Description

This template describes the classification of something as being a member of a class, where the definition of that class is defined in a given external reference data library.

This template illustrates the most simplified assignment of reference data, where:

NOTE    There is also a template for assigning codes (encodings) to entity instances in a data set (assigning_code). The usage of the assigning_code template applies when the assigned code isn't defined as a class within a reference data library.

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


Figure 1 —  Attribute values set by the template 'assigning_reference_data'.

Figure 1 —  Attribute values set by the template 'assigning_reference_data'.

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


Figure 2 —  Graphical representation of the template 'assigning_reference_data'.

Figure 2 —  Graphical representation of the template 'assigning_reference_data'.

Input parameters
The following input parameters are defined for this template:
class_name (Type='CLASS')
The name of the class in the reference data library (External_class) being used to classify something
The following classes and their sub-classes can be used:
classifications: "PLCS-ARM-LF-THING" (urn:plcs:rdl:std:PLCS-ARM-LF-THING)
ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library that stores the definition for the class being used.
items (Type= 'SELECT (classification_item)' )
The items to which the External_class is assigned.
Reference parameters
The following reference parameters are defined for this template:
ext_class(Type='ENTITY (External_class)')
Allow the External_class entity instantiated in this path to be referenced when this template is used.
Note: The External_class entity can be referenced in a template path by:
%^target = $assigning_reference_data.ext_class%
where target is the parameter to which the External_class is bound.
ext_class_lib(Type='ENTITY (External_class_library)')
Allow the External_class_library entity instantiated in this path to be referenced when this template is used.
Note: The External_class_library entity can be referenced in a template path by:
%^target = $assigning_reference_data.ext_class_lib%
where target is the parameter to which the External_class_library is bound.
class_asg(Type='ENTITY (Classification_assignment)')
Allow the Classification_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Classification_assignment entity can be referenced in a template path by:
%^target = $assigning_reference_data.class_asg%
where target is the parameter to which the Classification_assignment is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Classification_assignment
There shall be at most one instance of the entity (Classification_assignment) within the data set uniquely identified by a combination of the following parameters on this template (assigning_reference_data) namely: ecl_id, class_name, items.
The instance is referenced by the following template parameter: class_asg.
Any given classification shall only be assigned to an item once.
Unique constraint: External class
There shall be at most one instance of the entity (External_class) within the data set uniquely identified by a combination of the following parameters on this template (assigning_reference_data) namely: class_name, ecl_id.
The instance is referenced by the following template parameter: ext_class.
Unique constraint: External class_library
There shall be at most one instance of the entity (External_class_library) within the data set uniquely identified by the following parameters on this template (assigning_reference_data) namely: ecl_id.
The instance is referenced by the following template parameter: ext_class_lib.
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.
Classification_assignment

-- Mark the Classification_assignment entity as referable when this template is used.
-- In other words, bind the Classification_assignment instance to the reference
-- parameter class_asg
%^class_asg = Classification_assignment%
Classification_assignment.role = '/IGNORE'
Classification_assignment.items -> @items
Classification_assignment.assigned_class -> External_class
External_class

-- Mark the External_class entity as referable when this template is used.
-- In other words, bind the External_class instance to the reference
-- parameter ext_class
%^ext_class = External_class%
External_class.id = '/NULL'
External_class.description = '/IGNORE'
External_class.name = @class_name

-- Mark the External_class_library entity as referable when this template is used.
-- In other words, bind the External_class_library instance to the reference
-- parameter ext_class_lib
%^ext_class_lib = External_class_library%
External_class.external_source -> External_class_library
External_class_library.id = @ecl_id
External_class_library.description = '/IGNORE'
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Classification_assignment.role '/IGNORE'
External_class.id '/NULL' Class.id
External_class.description '/IGNORE' Class.description
External_class.name @class_name Class.name
External_class_library.id @ecl_id
External_class_library.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_reference_data(items='#2', class_name='Part_identification_code', ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated assigning_reference_data template is shown in Figure 4 below.)


Figure 3 —  Instance diagram instantiated by the template example

Figure 3 —  Instance diagram instantiated by the template example

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#1=PART('/IGNORE', '/IGNORE', '/IGNORE'); #2=IDENTIFICATION_ASSIGNMENT('TYRES-010101', '/IGNORE', '/IGNORE', (#1)); #3=EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std', '$'); #4=EXTERNAL_CLASS('/NULL', 'Part_identification_code', '/IGNORE', #3); #5=CLASSIFICATION_ASSIGNMENT(#4, (#2), '/IGNORE');
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_reference_data(items='#2', class_name='Part_identification_code', ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Invocation of template - graphical presentation

Figure 4 —  Invocation of template - graphical presentation

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

© OASIS 2008 — All rights reserved