Template:— sourcing_requirements (req_srce)
Capability:representing_requirements
Date: 2009/04/09 15:05:20
Revision: 1.10

This section specifies the template sourcing_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 linking of requirements to their individual sources.
Model diagrams
The EXPRESS-G diagram in Figure  shows the templates and EXPRESS entities that are required to represent the template "sourcing_requirements". The text highlighted in blue shows the template parameters.

[warning:]Error model_diag_1: Either delete A DESCRIPTION OF THE DIAGRAM or provide a description
EXAMPLE


Figure 14 —  Sourcing requirements (EXPRESS-G diagram)

Figure 14 —  Sourcing requirements (EXPRESS-G diagram)

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

[warning:]Error model_diag_1: Either delete A DESCRIPTION OF THE DIAGRAM or provide a description
EXAMPLE


Figure 15 —  Sourcing requirements (condensed EXPRESS-G diagram)

Figure 15 —  Sourcing requirements (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.
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 = $sourcing_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 = $sourcing_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 = $sourcing_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 = $sourcing_requirements.vdc%
where target is the parameter to which the View_definition_context is bound.
req_srce(Type='ENTITY (Requirement_source)')
Allow the Requirement_source entity instantiated in this path to be referenced when this template is used.
Note: The Requirement_source entity can be referenced in a template path by:
%^target = $sourcing_requirements.req_srce%
where target is the parameter to which the Requirement_source 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 a 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 a 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 a Requirement_view_definition entity and link it to a Requirement_version and to the 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 a Requirement_source entity and link it to the Requirement_view_definition.
^rvd <- Requirement_source.sourced_requirement
Requirement_source.id = '/IGNORE'
Requirement_source.description = '/IGNORE'

-- Bind the Requirement_source entity to the parameter ^req_srce
%^req_srce = Requirement_source%
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_source.id '/IGNORE'
Requirement_source.description '/IGNORE'
Instance diagrams
The instance diagram in Figure  shows an example of the EXPRESS entities and templates that are instantiated by the template:
/sourcing_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 sourcing_requirements template is shown in Figure  below.)


Figure 16 —  Sourcing requirements (EXPRESS-I diagram)

Figure 16 —  Sourcing requirements (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:
/sourcing_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 17 —  Sourcing requirements (condensed EXPRESS-I diagram)

Figure 17 —  Sourcing requirements (condensed EXPRESS-I diagram)

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