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.