Template:— representing_task (reptask)
Capability:representing_task
Date: 2007/09/28 12:44:09
Revision: 1.5

[warning:]Error T1: There is no template_proxy in the capability representing_task for the template representing_task

This section specifies the template representing_task.

NOTE  The template has been defined in the context of the capability representing_task 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 how to represent a task specification.

A task specification is a procedural description of how to do something. A task specification does not plan, schedule, or record what is done. This template is used to define the essential meta information for the specification, that is:

For example, task number 123 version 2 "Change Chain" may be specified for a 'Gears-r-us' type 3 Sturmley-Archer gear fitted to a 'Muddy-Badger' model 42 bicycle.

The details of the specification our outside the scope of this template, as is the effectivity of the specification. These are further considered in the REPRESENTING_TASK capability. For discussion of the meaning of version and variant and the paramaters involved, see the REFERENCING_TASK template.

This template is designed for generic tasks specified against a specific type of end product, that is one which can be identified by a part number, as opposed to against a general product configuration, or a task written against a specific individual, for example, as a repair for specific damage.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_task". 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
A DESCRIPTION OF THE DIAGRAM


Figure 1 —  An EXPRESS-G representation of the Information model for representing_task

Figure 1 —  An EXPRESS-G representation of the Information model for representing_task

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

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


Figure 2 —  The graphical representation of the representing_task template

Figure 2 —  The graphical representation of the representing_task template

Input parameters
The following input parameters are defined for this template:
task_id (Type='STRING')
The task identifier, e.g. the task number.
task_id_class_name (Default=task_method_identification_code,Type='CLASS')
The class of the task method identifier.
The following classes and their sub-classes can be used:
classifications: [task_method_identification_code]
[warning:]Error RDL1: The class task_method_identification_code does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
task_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @task_id_class_name.
task_org_id (Type='STRING')
The name or identifier of the organization that owns the task id.
task_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the organization responsible for creating the task specification
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
task_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
task_ver_id (Type='STRING')
The task version identifier, for example, the sequence number of the version.
task_ver_id_class_name (Default=task_method_version_identification_code,Type='CLASS')
The class of the task method version identifier.
The following classes and their sub-classes can be used:
classifications: [progression_code]
[warning:]Error RDL1: The class progression_code does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
task_ver_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @task_ver_id_class_name.
task_ver_org_id (Type='STRING')
The name or identifier of the organization that owns the task version identifer.
task_ver_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the organization responsible for creating the task specification version.
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
task_ver_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
task_vart_id (Default=A,Type='STRING')
The task variant identifier. Multiple variants of a task version may be defined, customised to particular conditions.
task_vart_id_class_name (Default=task_method_variant_identification_code,Type='CLASS')
The class of the task method variant identifier.
The following classes and their sub-classes can be used:
classifications: [task_method_varient_identification_code]
[warning:]Error RDL1: The class task_method_varient_identification_code does not exist in RDL at urn urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
task_vart_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @task_vart_id_class_name.
task_vart_org_id (Type='STRING')
The name or identifier of the organization that owns the task variant identifier. This may not be the same as owner of the task identifier, for example, when an organization customises a task to use to its own specific resouces.
task_vart_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the variant identification (Identification_assignment) of the organization responsible for creating the task specification variant
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
task_vart_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
task_name (Type='STRING', Optional)
The common or informal name by which the task specification is known, such as "change chain".
task_description (Type='STRING', Optional)
The common or informal description or abstract, intended to confirm to the user that this specification is the one they are looking for.
task_description (Type='STRING', Optional)
[warning:]Error T9: Input parameter task_description is not unique in template representing_task
The common or informal description or abstract, intended to confirm to the user that this specification is the one they are looking for.
end_part_id (Type='STRING')
The part identifier for the end item to which the task is applicable, e.g. Muddy-Badger Model 42 (M042).
end_part_id_class_name (Default=Part_identification_code,Type='CLASS', Optional)
The class being used to classify the identification (Identification_assignment) of the end item.
The following classes and their sub-classes can be used:
classifications: "Part_identification_code" (urn:plcs:rdl:std:Part_identification_code)
end_part_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The location of the External_class_library that stores the classifications used to classify the part.
end_part_org_id (Type='STRING')
The name or identifier of the organization that owns the part id.
end_part_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the organization responsible for creating the part representation
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
end_part_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
end_part_vn_id (Type='STRING')
The version identifier of the end part version
end_part_vn_id_class_name (Default=Version_identification_code,Type='CLASS', Optional)
The class being used to classify the version identification (Identification_assignment) of the end item.
The following classes and their sub-classes can be used:
classifications: "Version_identification_code" (urn:plcs:rdl:std:Version_identification_code)
end_part_vn_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The location of the External_class_library that stores the classifications used to classify the end part.
end_part_vn_org_id (Type='STRING')
The name or identifier of the organization owns the end part version id.
end_part_vn_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the organization responsible for providing the end part version
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
part_vn_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The class being used to classify the identification (Identification_assignment) of the end item.
target_part_id (Type='STRING')
The identifier of the target part
target_part_id_class_name (Default=Part_identification_code,Type='CLASS', Optional)
The class being used to classify the identification (Identification_assignment) of the target part.
The following classes and their sub-classes can be used:
classifications: "Part_identification_code" (urn:plcs:rdl:std:Part_identification_code)
target_part_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The location of the External_class_library that stores the classifications used to classify the part.
target_part_org_id (Type='STRING')
The name or identifier of the organization that owns the part id.
target_part_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the organization responsible for creating the part representation
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
part_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
part_vn_id (Type='STRING')
The version identifier of the part version
part_vn_id_class_name (Default=Version_identification_code,Type='CLASS', Optional)
The id of the External_class_library that stores the class used to classify the type of identifier
The following classes and their sub-classes can be used:
classifications: "Version_identification_code" (urn:plcs:rdl:std:Version_identification_code)
part_vn_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The location of the External_class_library that stores the classifications used to classify the part.
part_vn_org_id (Type='STRING')
The name or identifier of the organization owns the part version id.
part_vn_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the organization responsible for providing the part version representation
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
part_vn_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
[warning:]Error T9: Input parameter part_vn_org_id_ecl_id is not unique in template representing_task
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
Reference parameters
The following reference parameters are defined for this template:
task_method_version(Type='ENTITY (
[warning:]Error ER1: The entity Task_method_ version does not exist
Task_method_ version)')
Allow the
[warning:]Error ER1: The entity Task_method_ version does not exist
Task_method_ version entity instantiated in this path to be referenced when this template is used.
Note: The
[warning:]Error ER1: The entity Task_method_ version does not exist
Task_method_ version entity can be referenced in a template path by:
%^target = $representing_task.task_method_version%
where target is the parameter to which the
[warning:]Error ER1: The entity Task_method_ version does not exist
Task_method_ version is bound.

[warning:]Error EXP-1: The EXPRESS entity Task_method_ version
does not exist in data/schemas/ap239_arm_lf.xml.

The reference to a task during its usage phase is always a reference to a task version, so consequently Task_version is the only entity referencable in this template.
ext_class(Type='ENTITY (External_class)')
Allow the External_class entity instantiated in this path to be referenced when this template is used.
Note: The External_class entity can be referenced in a template path by:
%^target = $representing_task.ext_class%
where target is the parameter to which the External_class 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.
Identification_assignment

-- Mark the Identification_assignment entity as
-- referable when this template is used by binding it to the reference
-- parameter id_assgn
%^id_assgn = Identification_assignment%

[warning:]Error P8: the template representing_task does not have a parameter name [id].
Identification_assignment.identifier = @id
Identification_assignment.role = '/IGNORE'
Identification_assignment.description = '/NULL'

[warning:]Error P4: the template representing_task does not have a parameter name [items].
Identification_assignment.items -> @items

-- provide the role of the identification by classifying the Identification_assignment
/assigning_reference_data(
    items=^id_assgn,
    class_name=@id_class_name,
    ecl_id=@id_ecl_id)/

[warning:]Error t3: the template representing_task does not have a parameter name [id_class_name]. Parameters are: task_id task_id_class_name task_ecl_id task_org_id task_org_id_class_name task_org_id_ecl_id task_ver_id task_ver_id_class_name task_ver_ecl_id task_ver_org_id task_ver_org_id_class_name task_ver_org_id_ecl_id task_vart_id task_vart_id_class_name task_vart_ecl_id task_vart_org_id task_vart_org_id_class_name task_vart_org_id_ecl_id task_name task_description task_description end_part_id end_part_id_class_name end_part_id_ecl_id end_part_org_id end_part_org_id_class_name end_part_org_id_ecl_id end_part_vn_id end_part_vn_id_class_name end_part_vn_id_ecl_id end_part_vn_org_id end_part_vn_org_id_class_name part_vn_org_id_ecl_id target_part_id target_part_id_class_name target_part_id_ecl_id target_part_org_id target_part_org_id_class_name part_org_id_ecl_id part_vn_id part_vn_id_class_name part_vn_id_ecl_id part_vn_org_id part_vn_org_id_class_name part_vn_org_id_ecl_id items class_name ecl_id

[warning:]Error t3: the template representing_task does not have a parameter name [id_ecl_id]. Parameters are: task_id task_id_class_name task_ecl_id task_org_id task_org_id_class_name task_org_id_ecl_id task_ver_id task_ver_id_class_name task_ver_ecl_id task_ver_org_id task_ver_org_id_class_name task_ver_org_id_ecl_id task_vart_id task_vart_id_class_name task_vart_ecl_id task_vart_org_id task_vart_org_id_class_name task_vart_org_id_ecl_id task_name task_description task_description end_part_id end_part_id_class_name end_part_id_ecl_id end_part_org_id end_part_org_id_class_name end_part_org_id_ecl_id end_part_vn_id end_part_vn_id_class_name end_part_vn_id_ecl_id end_part_vn_org_id end_part_vn_org_id_class_name part_vn_org_id_ecl_id target_part_id target_part_id_class_name target_part_id_ecl_id target_part_org_id target_part_org_id_class_name part_org_id_ecl_id part_vn_id part_vn_id_class_name part_vn_id_ecl_id part_vn_org_id part_vn_org_id_class_name part_vn_org_id_ecl_id items class_name ecl_id

-- assign an organization to the identifier and classify it as 'Owner_of'
/assigning_organization(
    items=^id_assgn,
    org_id=@org_id,
    org_id_class_name=@org_id_class_name,
    org_id_ecl_id=@org_id_ecl_id,
    org_assgn_class_name='Owner_of',
    org_assgn_ecl_id='http://www.plcsinc.org/plcs-proposed')/

[warning:]Error t3: the template representing_task does not have a parameter name [org_id]. Parameters are: task_id task_id_class_name task_ecl_id task_org_id task_org_id_class_name task_org_id_ecl_id task_ver_id task_ver_id_class_name task_ver_ecl_id task_ver_org_id task_ver_org_id_class_name task_ver_org_id_ecl_id task_vart_id task_vart_id_class_name task_vart_ecl_id task_vart_org_id task_vart_org_id_class_name task_vart_org_id_ecl_id task_name task_description task_description end_part_id end_part_id_class_name end_part_id_ecl_id end_part_org_id end_part_org_id_class_name end_part_org_id_ecl_id end_part_vn_id end_part_vn_id_class_name end_part_vn_id_ecl_id end_part_vn_org_id end_part_vn_org_id_class_name part_vn_org_id_ecl_id target_part_id target_part_id_class_name target_part_id_ecl_id target_part_org_id target_part_org_id_class_name part_org_id_ecl_id part_vn_id part_vn_id_class_name part_vn_id_ecl_id part_vn_org_id part_vn_org_id_class_name part_vn_org_id_ecl_id items class_name ecl_id

[warning:]Error t3: the template representing_task does not have a parameter name [org_id_class_name]. Parameters are: task_id task_id_class_name task_ecl_id task_org_id task_org_id_class_name task_org_id_ecl_id task_ver_id task_ver_id_class_name task_ver_ecl_id task_ver_org_id task_ver_org_id_class_name task_ver_org_id_ecl_id task_vart_id task_vart_id_class_name task_vart_ecl_id task_vart_org_id task_vart_org_id_class_name task_vart_org_id_ecl_id task_name task_description task_description end_part_id end_part_id_class_name end_part_id_ecl_id end_part_org_id end_part_org_id_class_name end_part_org_id_ecl_id end_part_vn_id end_part_vn_id_class_name end_part_vn_id_ecl_id end_part_vn_org_id end_part_vn_org_id_class_name part_vn_org_id_ecl_id target_part_id target_part_id_class_name target_part_id_ecl_id target_part_org_id target_part_org_id_class_name part_org_id_ecl_id part_vn_id part_vn_id_class_name part_vn_id_ecl_id part_vn_org_id part_vn_org_id_class_name part_vn_org_id_ecl_id items class_name ecl_id

[warning:]Error t3: the template representing_task does not have a parameter name [org_id_ecl_id]. Parameters are: task_id task_id_class_name task_ecl_id task_org_id task_org_id_class_name task_org_id_ecl_id task_ver_id task_ver_id_class_name task_ver_ecl_id task_ver_org_id task_ver_org_id_class_name task_ver_org_id_ecl_id task_vart_id task_vart_id_class_name task_vart_ecl_id task_vart_org_id task_vart_org_id_class_name task_vart_org_id_ecl_id task_name task_description task_description end_part_id end_part_id_class_name end_part_id_ecl_id end_part_org_id end_part_org_id_class_name end_part_org_id_ecl_id end_part_vn_id end_part_vn_id_class_name end_part_vn_id_ecl_id end_part_vn_org_id end_part_vn_org_id_class_name part_vn_org_id_ecl_id target_part_id target_part_id_class_name target_part_id_ecl_id target_part_org_id target_part_org_id_class_name part_org_id_ecl_id part_vn_id part_vn_id_class_name part_vn_id_ecl_id part_vn_org_id part_vn_org_id_class_name part_vn_org_id_ecl_id items class_name ecl_id
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Identification_assignment.identifier @id
Identification_assignment.role '/IGNORE'
Identification_assignment.description '/NULL'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_task(items='#1', class_name='Safety_critical', ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated representing_task template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_task template

Figure 3 —  Entities instantiated by representing_task template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#1 = TASK_METHOD($,$,$,$,()); #2 = EXTERNAL_CLASS('/IGNORE','Safety_critical',$,#3); #3 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #4 = CLASSIFICATION_ASSIGNMENT(#2,(#1),'/IGNORE');
The instance model in STEP XML exchange file format (ISO 10303 Part 28 ed.2 syntax) is:
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_task(items='#1', class_name='Safety_critical', ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Instantiation of representing_task template

Figure 4 —  Instantiation of representing_task template

Characterizations
The following section details how the representing_task template can be optionally characterized by assigning other constructs to it. These are characterizations commonly applied to the template. The ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
The following characterizations may apply:
Characterization Assigning date

NOTE   this characterization is optional.

The date when the Work_order and the Directed_activity was issued can be represented by assigning a date (using the relationship Date_or_date_time_assignment) to the Work_order and the Directed_activity using the assigning_calendar_date template with the Date_time being classified as a type of "Date actual release" (urn:plcs:rdl:std:Date actual release).

NOTE    The assignment of dates is described the capability C036: assigning_date_time.

© OASIS 2010 — All rights reserved