Template:— representing_requirement (repr_req) Capability:representing_requirements |
Date: 2011/04/26 14:45:32 Revision: 1.3
|
This section specifies the template representing_requirement.
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.
This template describes the representation and identification of requirements data.
The EXPRESS-G diagram in
Figure
1
shows the templates and EXPRESS entities that are required
to represent the template
"representing_requirement".
The text highlighted in blue shows the template parameters.
Figure 1 — An EXPRESS-G representation of the Information model for representing_requirement
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 representing_requirement template
The following input parameters are defined for this template:
The classification of the requirement identifier (@req_id).
The following classes and their sub-classes can be used:
The identifier or name of the organization that "owns" the requirement identifier (@req_id).
The classification of the organization identifier or name (@req_org_id).
The following classes and their sub-classes can be used:
The identifier of the requirement version.
The classification of the requirement version identifier (@req_ver_id).
The following classes and their sub-classes can be used:
The identifier or name of the organization that "owns" the requirement version identifier (@req_ver_id) .
The classification of the organization identifier or name given in @req_ver_org_id.
The following classes and their sub-classes can be used:
domain (Default=Product_life_cycle_support,Type='CLASS', Optional)
The following classes and their sub-classes can be used:
The following classes and their sub-classes can be used:
The following reference parameters are defined for this template:
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_requirement.req%
where
target
is the parameter to which the
Requirement
is bound.
Allow the
Requirement_version
entity instantiated in this path to be referenced when this template is used.
%^target = $representing_requirement.req_ver%
%^target = $representing_requirement.req_view%
%^target = $representing_requirement.contxt%
The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique part view
Each instance of the
entity
(
Requirement_view_definition)
within the data set shall be uniquely identified
by a combination of the following parameters on this
template (representing_requirement) namely:
req_id,
req_id_class_name,
req_id_ecl_id,
req_org_id,
req_org_id_class_name,
req_org_id_ecl_id,
req_ver_id,
req_ver_id_class_name,
req_ver_id_ecl_id,
req_ver_org_id,
req_ver_org_id_class_name,
req_ver_org_id_ecl_id,
domain,
domain_ecl_id,
life_cycle_stage,
life_cycle_stage_ecl_id.
The
instance is
referenced by the following template parameter:
req_view.
Unique constraint: Unique requirement
Unique constraint: Unique requirement version
Each instance of the
entity
(
Requirement_version)
within the data set shall be uniquely identified
by a combination of the following parameters on this
template (representing_requirement) namely:
req_id,
req_id_class_name,
req_id_ecl_id,
req_org_id,
req_org_id_class_name,
req_org_id_ecl_id,
req_ver_id,
req_ver_id_class_name,
req_ver_id_ecl_id,
req_ver_org_id,
req_ver_org_id_class_name,
req_ver_org_id_ecl_id.
The
instance is
referenced by the following template parameter:
req_ver.
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.
RequirementRequirement.id = '/IGNORE'
Requirement.name = '/IGNORE'
Requirement.description = '/IGNORE'
-- 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)/
-- Requirement_version Requirement_version-- Mark the Requirement_version entity as referable when this template -- is used by binding it to the reference parameter ^req_ver %^req_ver =
Requirement_version%
Requirement_version.id = '/IGNORE'
Requirement_version.description = '/IGNORE'
-- Relate the Requirement_version to the Requirement Requirement_version.of_product ->
Requirement-- 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)/
-- Requirement_view_definition-- Mark the Requirement_view_definition entity as referable -- when this template is used by binding it to the reference -- parameter ^req_view %^req_view =
Requirement_view_definition%
Requirement_view_definition.id = '/IGNORE'
Requirement_view_definition.name = '/IGNORE'
Requirement_view_definition.additional_characterization = '/IGNORE'
-- Relate the Requirement_version to the Requirement Requirement_view_definition.defined_version ->
Requirement_version-- View_definition_context-- Mark the View_definition_context entity as referable when this -- template is used by binding it to the reference parameter ^contxt %^contxt =
View_definition_context%
-- Ignore the attributes View_definition_context.application_domain = '/IGNORE'
View_definition_context.life_cycle_stage = '/IGNORE'
View_definition_context.description = '/IGNORE'
-- provide the application domain of the view definition by classification /
assigning_reference_data(
items=^contxt,
class_name=@domain,
ecl_id=@domain_ecl_id)/
-- provide the life cycle stage of the view definition by classification /
assigning_reference_data(
items=^contxt,
class_name=@life_cycle_stage,
ecl_id=@life_cycle_stage_ecl_id)/
-- Relate the Requirement_view_definition to the View_definition_context Requirement_view_definition.initial_context ->
View_definition_context
The following entities are instantiated with attributes as specified:
The instance diagram in Figure
3
shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_requirement(req_id='TR-3452', req_id_class_name='Requirement_idenitification_code', req_id_ecl_id='urn:plcs:rdl:std', req_org_id='Bicycle Inc.', req_org_id_class_name='Organization_name', req_org_id_ecl_id='urn:plcs:rdl:std', req_ver_id='1', req_ver_id_class_name='Progression_idenitification_code', req_ver_id_ecl_id='urn:plcs:rdl:std', req_ver_org_id='Bicycle Inc.', req_ver_org_id_class_name='Organization_name', req_ver_org_id_ecl_id='urn:plcs:rdl:std', domain='Logistics_support_analysis', domain_ecl_id='urn:plcs:rdl:sample', life_cycle_stage='Development_stage', life_cycle_stage_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated representing_requirement template is shown in
Figure
4 below.)
Figure 3 — Entities instantiated by representing_requirement template
The instance model in STEP ASCII exchange file format (ISO 10303 Part
21 syntax) is:
#1 = REQUIREMENT('/IGNORE','/IGNORE','/IGNORE');
#2 = REQUIREMENT_VERSION('/IGNORE','/IGNORE',#1);
#3 = REQUIREMENT_VIEW_DEFINITION('/IGNORE','/IGNORE','/IGNORE',#4,(),#2);
#4 = VIEW_DEFINITION_CONTEXT('/IGNORE','/IGNORE','/IGNORE');
#6 = IDENTIFICATION_ASSIGNMENT('TR-3452','/IGNORE','/IGNORE',(#1));
#8 = CLASSIFICATION_ASSIGNMENT(#9,(#6),'/IGNORE');
#9 = EXTERNAL_CLASS('/NULL','Requirement_idenitification_code','/IGNORE',#10);
#10 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std','/IGNORE');
#13 = ORGANIZATION('/IGNORE','/IGNORE');
#15 = IDENTIFICATION_ASSIGNMENT('Bicycle Inc.','/IGNORE','/IGNORE',(#13));
#17 = CLASSIFICATION_ASSIGNMENT(#18,(#15),'/IGNORE');
#18 = EXTERNAL_CLASS('/NULL','Organization_name','/IGNORE',#19);
#19 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std','/IGNORE');
#20 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#13,'/IGNORE',(#6,#26));
#22 = CLASSIFICATION_ASSIGNMENT(#23,(#20),'/IGNORE');
#23 = EXTERNAL_CLASS('/NULL','Owner_of','/IGNORE',#10);
#26 = IDENTIFICATION_ASSIGNMENT('1','/IGNORE','/IGNORE',(#2));
#28 = CLASSIFICATION_ASSIGNMENT(#29,(#26),'/IGNORE');
#29 = EXTERNAL_CLASS('/NULL','Progression_idenitification_code','/IGNORE',#10);
#46 = CLASSIFICATION_ASSIGNMENT(#47,(#4),'/IGNORE');
#47 = EXTERNAL_CLASS('/NULL','Logistics_support_analysis','/IGNORE',#48);
#48 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample','/IGNORE');
#50 = CLASSIFICATION_ASSIGNMENT(#51,(#4),'/IGNORE');
#51 = EXTERNAL_CLASS('/NULL','Development_stage','/IGNORE',#10);
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:
/representing_requirement(req_id='TR-3452', req_id_class_name='Requirement_idenitification_code', req_id_ecl_id='urn:plcs:rdl:std', req_org_id='Bicycle Inc.', req_org_id_class_name='Organization_name', req_org_id_ecl_id='urn:plcs:rdl:std', req_ver_id='1', req_ver_id_class_name='Progression_idenitification_code', req_ver_id_ecl_id='urn:plcs:rdl:std', req_ver_org_id='Bicycle Inc.', req_ver_org_id_class_name='Organization_name', req_ver_org_id_ecl_id='urn:plcs:rdl:std', domain='Logistics_support_analysis', domain_ecl_id='urn:plcs:rdl:sample', life_cycle_stage='Development_stage', life_cycle_stage_ecl_id='urn:plcs:rdl:std')/
Figure 4 — Instantiation of representing_requirement template
Characterizations
No common characterizations of the template
representing_requirement
have been identified. However, the ISO 10303-239 EXPRESS model
may enable other assignments to the entities instantiated by the template.