Template:— assigning_process_property (asg_proc_prp) Date: 2008/03/06 21:45:39
Revision: 1.17

This section specifies the template assigning_process_property.

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

Description

This template describes how to assign a named property to an Activity or other process related entity instance. The name of the property is provided by a class in reference data where the property is defined.

The value representation of the property can be either numerical or textual, but is not part of this template. This template must be used with one (or more) of the templates process_property_text, process_property_numeric, process_property_range, process_property_limit, and process_property_w_tolerances.

A description of representing and relating multiple representations for a property, for example the values of a property changing over time, is provided in capability C056: representing_evolution_of_property_values (NB Capabilities are not documented in this release of the PLCS standard) .

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

NOTE    In any exchange file, a class name should only be represented by a single instance of External_class.



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

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

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

Figure 2 —   The graphical representation of the assigning_process_property template

Input parameters
The following input parameters are defined for this template:
property_class_name (Type='CLASS')
The class name of the External_class corresponding to the property name.
The following classes and their sub-classes can be used:
classifications: "Activity_property" (urn:plcs:rdl:std:Activity_property)
property_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @property_class_name.
described_element (Type= 'SELECT (characterized_activity_definition)' )
The entity instance to which the property is assigned
Reference parameters
The following reference parameters are defined for this template:
property(Type='ENTITY (Activity_property)')
Allow the Activity_property entity instantiated in this path to be referenced when this template is used.
Note: The Activity_property entity can be referenced in a template path by:
%^target = $assigning_process_property.property%
where target is the parameter to which the Activity_property is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique property
There shall be at most one instance of the entity (Activity_property) within the data set uniquely identified by a combination of the following parameters on this template (assigning_process_property) namely: described_element, property_class_name, property_ecl_id.
The instance is referenced by the following template parameter: property.
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.
-- Instantiate an Activity_property
Activity_property

-- Bind the Activity_property to the parameter ^property.
-- The parameter is a reference parameter so the Activity_property
-- entity can be referred to when this template is used.
%^property = Activity_property%

-- Set the Activity_property attributes name and description to be ignored
Activity_property.name = '/IGNORE'
Activity_property.description = '/IGNORE'

-- Assign reference data for name of property
/assigning_reference_data(
    items=^property,
    class_name=@property_class_name,
    ecl_id=@property_ecl_id)/

-- Assign the property to the
-- to the instances passed into the template through the @described_element
-- input parameter (e.g. an Activity_actual)
Activity_property.described_element -> @described_element
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Activity_property.name '/IGNORE'
Activity_property.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_process_property(property_class_name='Total_actual_cost', property_ecl_id='urn:plcs:rdl:sample', described_element='#7')/
(an illustration of the consolidated assigning_process_property template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by assigning_process_property template

Figure 3 —  Entities instantiated by assigning_process_property 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:
/assigning_process_property(property_class_name='Total_actual_cost', property_ecl_id='urn:plcs:rdl:sample', described_element='#7')/


Figure 4 —  Assigning an activity property

Figure 4 —  Assigning an activity property

Characterizations
No common characterizations of the template assigning_process_property 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