Template:— representing_requirements (rep_req)
Capability:representing_requirements
Date: 2008/06/27 05:42:00
Revision: 1.11

This section specifies the template representing_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 representation and identification of requirements data.
Model diagrams
The EXPRESS-G diagram in Figure  shows the templates and EXPRESS entities that are required to represent the template "representing_requirements". The text highlighted in blue shows the template parameters.


Figure 1 —  Representation of requirement data (EXPRESS-G)

Figure 1 —  Representation of requirement data (EXPRESS-G)

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


Figure 2 —  Representation of requirement data (Condensed EXPRESS-G)

Figure 2 —  Representation of requirement data (Condensed EXPRESS-G)

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 (Type='STRING')
The identifier assigned to an organization that assigns an identifier to a requirement.
req_org_id_class_name (Default=Organization_identification_code,Type='CLASS')
The classification of the organization that assigns an identifier assigned to a requirement.
The following classes and their sub-classes can be used:
classifications: "Identification_code" (urn:plcs:rdl:std:Identification_code)
req_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library that stores the req_org_id_class_name class.
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 (Type='STRING')
The identifier assigned to an organization that assigns an identifier to a requirement version.
req_ver_org_id_class_name (Default=Organization_identification_code,Type='CLASS')
The classification of the organization that assigns an identifier assigned to a requirement version.
The following classes and their sub-classes can be used:
classifications: "Identification_code" (urn:plcs:rdl:std:Identification_code)
req_ver_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library that stores the req_ver_org_id_class_name class.
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: "Identification_code" (urn:plcs:rdl:std:Identification_code)
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 (Type='STRING')
The identifier assigned to an organization that assigns an identifier to a requirement view definition.
rvd_org_id_class_name (Default=Organization_identification_code,Type='CLASS')
The classification of the organization that assigns an identifier assigned to a requirement view definition.
The following classes and their sub-classes can be used:
classifications: "Identification_code" (urn:plcs:rdl:std:Identification_code)
rvd_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library that stores the rvd_org_id_class_name class.
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 = $representing_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 = $representing_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 = $representing_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 = $representing_requirements.vdc%
where target is the parameter to which the View_definition_context 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(
    id=@req_id,
    id_class_name=@req_id_class_name,
    id_ecl_id=@req_id_ecl_id,
    org_id=@req_org_id,
    org_id_class_name=@req_org_id_class_name,
    org_id_ecl_id=@req_org_id_ecl_id,
    items=^req)/

-- 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(
    id=@req_ver_id,
    id_class_name=@req_ver_id_class_name,
    id_ecl_id=@req_ver_id_ecl_id,
    org_id=@req_ver_org_id,
    org_id_class_name=@req_ver_org_id_class_name,
    org_id_ecl_id=@req_ver_org_id_ecl_id,
    items=^req_ver)/

-- 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(
    id=@rvd_id,
    id_class_name=@rvd_id_class_name,
    id_ecl_id=@rvd_id_ecl_id,
    org_id=@rvd_org_id,
    org_id_class_name=@rvd_org_id_class_name,
    org_id_ecl_id=@rvd_org_id_ecl_id,
    items=^rvd)/
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'
Instance diagrams
The instance diagram in Figure  shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_requirements(req_id='1', of_product='#1', req_ver_id='2', defined_version='#2', rvd_id='3', rvd_org_id='Big Planes Inc', req_ver_org_id='Big Planes Inc', req_org_id='Big Planes Inc', 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_org_id_class_name='Organization_identification_name', req_ver_org_id_class_name='Organization_identification_name', rvd_org_id_class_name='Organization_identification_name', 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', initial_context='#3')/
(an illustration of the consolidated representing_requirements template is shown in Figure  below.)


Figure 3 —  Representation of requirement data (EXPRESS-I diagram)

Figure 3 —  Representation of requirement data (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:
/representing_requirements(req_id='1', of_product='#1', req_ver_id='2', defined_version='#2', rvd_id='3', rvd_org_id='Big Planes Inc', req_ver_org_id='Big Planes Inc', req_org_id='Big Planes Inc', 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_org_id_class_name='Organization_identification_name', req_ver_org_id_class_name='Organization_identification_name', rvd_org_id_class_name='Organization_identification_name', 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', initial_context='#3')/


Figure 4 —  Representing requirement data (condensed EXPRESS-I)

Figure 4 —  Representing requirement data (condensed EXPRESS-I)

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