Template:— assigning_conditional_effectivity (asg_cond_eff) Date: 2009/09/28 10:52:31
Revision: 1.15

This section specifies the template assigning_conditional_effectivity.

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 effectivities where the effectivity statement is defined in terms of a single defined entity in PLCS.

NOTE    For the definition of more complex conditional effectivity statements, e.g. "if sea-based or humid environment", the user is advised to define complex conditional effectivities using the templates; assigning_effectivity, assigning_condition and representing_condition_relationship.

AP239 Issue (GYL-16)
The ISO-10303-239 1st edition does not support the assignment of a Condition to an Effectivity.

This has been raised as issue, GYL-16, against ISO 10303-239. The EXPRESS schema has been modified in DEXlib (Long form: dexlib/data/schemas/ap239_arm_lf.exp, short form: dexlib/data/schemas/ap239_arm_sf.exp). These changes will be made to ISO 10303-239 as a Technical Corrigendum at some stage.

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


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

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

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

Figure 2 —  The graphical representation of the assigning_conditional_effectivity template

Input parameters
The following input parameters are defined for this template:
para_class (Type='CLASS')
The name of the External_class being used to determine the Condition_parameter type.
The following classes and their sub-classes can be used:
classifications: "Condition_parameter" (urn:plcs:rdl:std:Condition_parameter)
para_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.
target_items (Type= 'SELECT (effectivity_item)' )
The items which are the target for the assigned effectivity, i.e. the items which are subject for restricted usage.
condition_para_item (Type= 'SELECT (condition_parameter_item)' )
The item which defines the domain in which the @target_items are effective.
Reference parameters
The following reference parameters are defined for this template:
effectivity(Type='ENTITY (Effectivity)')
Allow the Effectivity entity instantiated in this path to be referenced when this template is used.
Note: The Effectivity entity can be referenced in a template path by:
%^target = $assigning_conditional_effectivity.effectivity%
where target is the parameter to which the Effectivity is bound.
cond(Type='ENTITY (Condition)')
Allow the Condition entity instantiated in this path to be referenced when this template is used.
Note: The Condition entity can be referenced in a template path by:
%^target = $assigning_conditional_effectivity.cond%
where target is the parameter to which the Condition is bound.
cond_asg(Type='ENTITY (Condition_assignment)')
Allow the Condition_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Condition_assignment entity can be referenced in a template path by:
%^target = $assigning_conditional_effectivity.cond_asg%
where target is the parameter to which the Condition_assignment is bound.
cond_para(Type='ENTITY (Condition_parameter)')
Allow the Condition_parameter entity instantiated in this path to be referenced when this template is used.
Note: The Condition_parameter entity can be referenced in a template path by:
%^target = $assigning_conditional_effectivity.cond_para%
where target is the parameter to which the Condition_parameter 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.
-- Set up the effectivity entity
/assigning_effectivity(
    items=@target_items,
    eff_class_name='Conditional_effectivity',
    eff_ecl_id='urn:plcs:rdl:std',
    role_class_name='Effectivity_target',
    role_ecl_id='urn:plsc:rdl:std')/
%^effectivity = $assigning_effectivity.effectivity%

-- Assign the parameter defining the effectivity domain to the condition parameter item
-- and assign the reference parameter ^effectivity from the instantiated assigning_effectivity
-- template to the condition item
/assigning_condition(
    cond_item=^effectivity,
    cond_para_item=@condition_para_item,
    cond_asg_class='Effectivity_context_assignment',
    cond_asg_ecl_id='urn:plcs:rdl:std',
    cond_class='Effectivity_context',
    cond_ecl_id='urn:plcs:rdl:std')/
%^cond = $assigning_condition.cond%
%^cond_asg = $assigning_condition.cond_asg%
%^cond_para = $assigning_condition.cond_para%

-- Assign the External_class in the reference data library
-- being used to determine type of condition parameter
/assigning_reference_data(
    items=^cond_para,
    class_name=@para_class,
    ecl_id=@para_ecl_id)/
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_conditional_effectivity(para_class='Performing_organization', para_ecl_id='urn:plcs:rdl:sample', target_items='#3', condition_para_item='#4')/
(an illustration of the consolidated assigning_conditional_effectivity template is shown in Figure 4 below.)
AP239 Issue (GYL-17)
The ISO-10303-239 1st edition does not support the Organization_type as being the parameter of Condition_parameter.

This has been raised as issue, GYL-17, against ISO 10303-239. The EXPRESS schema has been modified in DEXlib (Long form: dexlib/data/schemas/ap239_arm_lf.exp, short form: dexlib/data/schemas/ap239_arm_sf.exp). These changes will be made to ISO 10303-239 as a Technical Corrigendum at some stage.



Figure 3 —  Entities instantiated by assigning_conditional_effectivity template

Figure 3 —  Entities instantiated by assigning_conditional_effectivity 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_conditional_effectivity(para_class='Performing_organization', para_ecl_id='urn:plcs:rdl:sample', target_items='#3', condition_para_item='#4')/


Figure 4 —  Instantiation of assigning_conditional_effectivity template

Figure 4 —  Instantiation of assigning_conditional_effectivity template

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