Template:— assigning_requirements (assg_req)
Capability:representing_requirements
Date: 2009/04/09 15:05:20
Revision: 1.11

This section specifies the template assigning_requirements.

NOTE  The template has been defined in the context of the capability representing_requirements which provides an overall description of the relevant parts of the ISO 10303-239 information model and a description 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 the assignment of requirements data to material to which those requirements relate.
Model diagrams
The EXPRESS-G diagram in Figure  shows the templates and EXPRESS entities that are required to represent the template "assigning_requirements". The text highlighted in blue shows the template parameters.


Figure 1 —  Assigning requirement data (EXPRESS-G diagram)

Figure 1 —  Assigning requirement data (EXPRESS-G diagram)

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


Figure 2 —  Assigning requirement data (condensed EXPRESS-G diagram)

Figure 2 —  Assigning requirement data (condensed EXPRESS-G diagram)

Input parameters
The following input parameters are defined for this template:
req_id (Type='STRING')
The identifier assigned to a requirement.
req_id_class_name (Default=Identification_code,Type='CLASS')
The classification of the identifier assigned to a requirement.
The following classes and their sub-classes can be used:
classifications: "Requirement_identification_code" (urn:plcs:rdl:std:Requirement_identification_code)
req_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library that stores the id_class_name class.
req_org_id_ecl_id (Type='STRING')
The identifier assigned to an organization that assigns an identifier to a requirement.
req_ver_id (Type='STRING')
The identifier assigned to a requirement version.
req_ver_id_class_name (Default=Identification_code,Type='CLASS')
The classification of the identifier assigned to a requirement version.
The following classes and their sub-classes can be used:
classifications: "Progression_identification_code" (urn:plcs:rdl:std:Progression_identification_code)
req_ver_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library that stores the id_class_name class.
req_ver_org_id_ecl_id (Type='STRING')
The identifier assigned to an organization that assigns an identifier to a requirement version.
rvd_id (Type='STRING')
The identifier assigned to a requirement view definition.
rvd_id_class_name (Default=Identification_code,Type='CLASS')
The classification of the identifier assigned to a requirement view definition.
The following classes and their sub-classes can be used:
classifications: [Requirement_view_definition_identification_code]
[warning:]Error RDL1: The class Requirement_view_definition_identification_code does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
rvd_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library that stores the id_class_name class.
rvd_org_id_ecl_id (Type='STRING')
The identifier assigned to an organization that assigns an identifier to a requirement view definition.
vdc_lcs_class_name (Type='CLASS')
The following classes and their sub-classes can be used:
classifications: "Life_cycle_stage" (urn:plcs:rdl:std:Life_cycle_stage), "Concept_stage" (urn:plcs:rdl:std:Concept_stage), "Development_stage" (urn:plcs:rdl:std:Development_stage), "Production_stage" (urn:plcs:rdl:std:Production_stage), "Retirement_stage" (urn:plcs:rdl:std:Retirement_stage), "Support_stage" (urn:plcs:rdl:std:Support_stage), "Utilization_stage" (urn:plcs:rdl:std:Utilization_stage)
vdc_lcs_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library that stores the lcs_class_name class.
vdc_ad_class_name (Type='CLASS')
The following classes and their sub-classes can be used:
classifications: "Application_domain" (urn:plcs:rdl:std:Application_domain), "Discipline_domain" (urn:plcs:rdl:std:Discipline_domain), "Maintenance_process" (urn:plcs:rdl:std:Maintenance_process), "Product_life_cycle_support" (urn:plcs:rdl:std:Product_life_cycle_support), "Process_domain" (urn:plcs:rdl:std:Process_domain), "Agreement_process" (urn:plcs:rdl:std:Agreement_process), "Enterprise_process" (urn:plcs:rdl:std:Enterprise_process), "Project_process" (urn:plcs:rdl:std:Project_process), "Technical_process" (urn:plcs:rdl:std:Technical_process)
vdc_ad_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library that stores the ad_class_name class.
items (Type= 'SELECT (requirement_assignment_item)' )
The items to which a requirement is assigned.
Reference parameters
The following reference parameters are defined for this template:
req(Type='ENTITY (Requirement)')
Allow the Requirement entity instantiated in this path to be referenced when this template is used.
Note: The Requirement entity can be referenced in a template path by:
%^target = $assigning_requirements.req%
where target is the parameter to which the Requirement is bound.
req_ver(Type='ENTITY (Requirement_version)')
Allow the Requirement_version entity instantiated in this path to be referenced when this template is used.
Note: The Requirement_version entity can be referenced in a template path by:
%^target = $assigning_requirements.req_ver%
where target is the parameter to which the Requirement_version is bound.
rvd(Type='ENTITY (Requirement_view_definition)')
Allow the Requirement_view_definition entity instantiated in this path to be referenced when this template is used.
Note: The Requirement_view_definition entity can be referenced in a template path by:
%^target = $assigning_requirements.rvd%
where target is the parameter to which the Requirement_view_definition is bound.
vdc(Type='ENTITY (View_definition_context)')
Allow the View_definition_context entity instantiated in this path to be referenced when this template is used.
Note: The View_definition_context entity can be referenced in a template path by:
%^target = $assigning_requirements.vdc%
where target is the parameter to which the View_definition_context is bound.
req_asg(Type='ENTITY (Requirement_assignment)')
Allow the Requirement_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Requirement_assignment entity can be referenced in a template path by:
%^target = $assigning_requirements.req_asg%
where target is the parameter to which the Requirement_assignment 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.
-- Instantiate the Requirement entity.
Requirement

-- Bind the Requirement entity to the parameter ^req.
%^req = Requirement%

-- Identify the Requirement
/assigning_identification(
    items=^req,
    id=@req_id,
    id_class_name=@req_id_class_name,
    id_ecl_id=@req_id_ecl_id)/

-- Instantiate the Requirement_version entity and link it to Requirement.
^req <- Requirement_version.of_product

-- Bind the Requirement_version entity to the parameter ^req_ver.
%^req_ver = Requirement_version%

-- Identify the Requirement_version
/assigning_identification(
    items=^req_ver,
    id=@req_ver_id,
    id_class_name=@req_ver_id_class_name,
    id_ecl_id=@req_ver_id_ecl_id)/

-- Instantiate the View_definition_context.
View_definition_context
View_definition_context.application_domain = '/IGNORE'
View_definition_context.life_cycle_stage = '/IGNORE'
View_definition_context.description = '/IGNORE'

-- Bind the View_definition_context entity to the parameter ^vdc.
%^vdc = View_definition_context%

-- Classify the View_definition_context
/assigning_reference_data(
    items=^vdc,
    class_name=@vdc_ad_class_name,
    ecl_id=@vdc_ad_ecl_id)/
/assigning_reference_data(
    items=^vdc,
    class_name=@vdc_lcs_class_name,
    ecl_id=@vdc_lcs_ecl_id)/

-- Instantiate the Requirement_view_definition entity and link it to Requirement_version and to View_definition_context.
^req_ver <- Requirement_view_definition.defined_version
^vdc <- Requirement_view_definition.initial_context

-- Bind the Requirement_view_definition entity to the parameter ^rvd.
%^rvd = Requirement_view_definition%

-- Identify the Requirement_view_definition.
/assigning_identification(
    items=^rvd,
    id=@rvd_id,
    id_class_name=@rvd_id_class_name,
    id_ecl_id=@rvd_id_ecl_id)/

-- Instantiate the Requirement_assignment entity and link it to Requirement_view_definition.
^rvd <- Requirement_assignment.assigned_requirement
Requirement_assignment.assigned_to -> @items
Requirement_assignment.id = '/IGNORE'
Requirement_assignment.description = '/IGNORE'

-- Bind the Requirement_assignment entity to the parameter ^req_ass.
%^req_ass = Requirement_assignment%
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
View_definition_context.application_domain '/IGNORE'
View_definition_context.life_cycle_stage '/IGNORE'
View_definition_context.description '/IGNORE'
Requirement_assignment.id '/IGNORE'
Requirement_assignment.description '/IGNORE'
Instance diagrams
The instance diagram in Figure  shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_requirements(req_id='1', req_ver_id='2', rvd_id='3', req_id_class_name='Requirement_identification_code', req_ver_id_class_name='Progression_identification_code', rvd_id_class_name='Requirement_view_definition_identification_code', req_id_ecl_id='http://www.plcsinc.org/plcs-proposed', req_ver_id_ecl_id='http://www.plcsinc.org/plcs-proposed', rvd_id_ecl_id='http://www.plcsinc.org/plcs-proposed', req_org_id_ecl_id='http://www.plcsinc.org/plcs-proposed', req_ver_org_id_ecl_id='http://www.plcsinc.org/plcs-proposed', rvd_org_id_ecl_id='http://www.plcsinc.org/plcs-proposed', req_class_name='Requirement_category', req_ver_class_name='Requirement_version_category', rvd_class_name='Requirement_view_definition_category', req_ecl_id='http://www.plcsinc.org/plcs-proposed', req_ecl_id='http://www.plcsinc.org/plcs-proposed', rvd_ecl_id='http://www.plcsinc.org/plcs-proposed')/
(an illustration of the consolidated assigning_requirements template is shown in Figure  below.)


Figure 3 —  Assigning requirement data to a part version (EXPRESS-I diagram)

Figure 3 —  Assigning requirement data to a part version (EXPRESS-I diagram)

The instance diagram in Figure  shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/assigning_requirements(req_id='1', req_ver_id='2', rvd_id='3', req_id_class_name='Requirement_identification_code', req_ver_id_class_name='Progression_identification_code', rvd_id_class_name='Requirement_view_definition_identification_code', req_id_ecl_id='http://www.plcsinc.org/plcs-proposed', req_ver_id_ecl_id='http://www.plcsinc.org/plcs-proposed', rvd_id_ecl_id='http://www.plcsinc.org/plcs-proposed', req_org_id_ecl_id='http://www.plcsinc.org/plcs-proposed', req_ver_org_id_ecl_id='http://www.plcsinc.org/plcs-proposed', rvd_org_id_ecl_id='http://www.plcsinc.org/plcs-proposed', req_class_name='Requirement_category', req_ver_class_name='Requirement_version_category', rvd_class_name='Requirement_view_definition_category', req_ecl_id='http://www.plcsinc.org/plcs-proposed', req_ecl_id='http://www.plcsinc.org/plcs-proposed', rvd_ecl_id='http://www.plcsinc.org/plcs-proposed')/


Figure 4 —  Assigning requirement data to a part version (condensed EXPRESS-I diagram)

Figure 4 —  Assigning requirement data to a part version (condensed EXPRESS-I diagram)

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