Capability (C015):— representing_task Date: 2010/10/18 11:36:42
Revision: 1.31

Business overview

This section provides a business level overview of this capability.

A task specification is a structured description of how to do something. This initial release is focused on how to perform maintenance activities, although the scope is not limited to this.

A task specification does not ask for work to be done, schedule work to be done, or initiate work being done. Nor does it record the fact that work has been done, nor the outcome of that work (although it can specify how the outcome should be recorded). Unfortunately, there is little consistency between organizations in terminology, and the terms task, work, activity etc. are used in contradictory ways in different organizations. We therefore crave your indulgence if you find our terminology confusing.

In this initial version of the capability, the focus is on the limited scope of a task specification as an electronic model of a maintenance procedure. In this respect, it covers the same area as maintenance documentation standards such as the Aircraft documentation specification S1000D. However, unlike a document, a task specification can provide direct references to things such as resources or cost properties. In an integrated software environment, when a task is scheduled, these links can be used to automatically book facilities or order spares, or to calculate the total duration and cost of the activity.

This capability provides the basics for the general description of a task specification:

This scope also includes the meta-information, such as who owns the task specification, and copyright details.

This release is restricted to the usage phase of the task specification - that is, the phase when a task specification is being used in the field, rather than the phase where the support solution is being developed. However, it is necessary to associate status to the task specification, if only to ensure obsolete specifications are not used. The section below on Task Lifecycle covers the basics needed to identify the status or a task, and trace its evolution.

Information model overview

This section provides an overview of the information model that supports this capability.

Model Structure

The basic model, shown in figure 1, provides for two levels of control:

The text describing how to perform the task itself is provided through Task_step. This capability takes a very simple approach of allowing for only a single step; the full scope for a structured specification is the subject of C088: representing_task_structure



Figure 1 —  Outline information model for a Task Specification

Figure 1 —  Outline information model for a Task Specification

All three entities are mutually exclusive subtypes of Activity_method, from which they inherit the attributes name, description, consequence and purpose, which are all set to ignore.

In addition, Task_method_relationship relates two Task_methods, and Task_method_version_relationship relates two Task_method_versions. These are both mutually exclusive subtypes of Activity_method_relationship from which they inherit the attributes name and description, which are set to ignore.

Links between Task_methods are typically used to record general relationships between task specifications, such as one method being an alternative to another, such as the relation between a task specification designed for in-docks maintenance to a task specification for at-sea.

Links between Task_method_versions are intended for relationships that hold only for a particular pairs of Task_method_versions, such as one variant being derived from another.

Task_objective identifies the intended result of following the task specification, such as the correction of a fault or the return to operational readiness. It's aim is to provide a search criteria for finding a task specification to achieve a particular result. Every task specification should have at least one Task_objective - the cardinality of the attribute objective is S[0:?] (rather than S[1:?]) only to allow backward compatibility with legacy systems.

Task Specification Management

The objective of Task Specification Management is to ensure the task under consideration is well defined. In practice this means that the following information is required:

The identifier, version identifier and status are mandatory in all uses of this capability. The other attributes are optional.

Task Specification Identification

Task specification identification involves the definition of the task specification identifier and version number, together with any variant identifier. The requirements on identification are those defined in referencing_task
[warning:]Error C1: Capability referencing_task not in dex_index.xml
.

Task Specification Life Cycle

A task specification is a product in its own right, and so has a life cycle. The normative description of such a life cycle is beyond the scope of this capability, however, it is necessary to define a task specification status, to distinguish between a task specification in preparation, a task specification which is approved for use, and one which has been declared obsolete.

Figure 1000 shows the state model for the life cycle. It identifies three states, which are identified by subclasses of Task_life_cycle_status:



Figure 1000 —  Life Cycle States

Figure 1000 —  Life Cycle States

This state model does not define any business process, consequently, the actions that result in the transition from one state to another are not shown, though it is reasonable to assume a progression from one to the next. If finer grained control is needed, this should be done by creating subclasses of the three states defined above. Further, although the capability refers to approval for use, there is no definition of the process by which that approval is obtained or whether it is necessary to record such an approval, although it does describe below how to record such an approval. Further, it is possible to provide detailed control of the task specification life cycle using the state model, however this is beyond the scope of the initial release of this capability.

A major aspect of life cycle status is the definition of the data elements subject to configuration control. For example, a typical business rule forbids the changing of the order of task steps once a task specification is in use, unless a new version is created. The initial issue of this capability is focused on the usage phase of a task specification, and so is restricted to identifying the life cycle status, rather than defining the changeability criteria against each data element.

Life Cycle Status and Approval

This section describes the mandatory allocation of a status to a Task_method_version, and the option recording of the Approval of that status.

Every Task_method_version_relationship shall be in exactly one life cycle state, which shall be recorded by classification using a subclass of Task_life_cycle_status. The status corresponding to the state is applied as described in C010: assigning_reference_data.

Since in practice, one version of a task specification supercedes another, only one version of any variant if the task specification shall have the status [[Task_status_in_use]].

The approval of any particular state is provided by assigning an approval C019: assigning_approvals to the Task_method_version. The Approval should have a classification taken from Task_life_cycle_approval:

Particular business processes may apply additional subclasses of approval, to mark the stages of the development process, but these are beyond the scope of this capability.

The Approval_assignment should be classified as Task_life_cycle_approval. The Approval_status status will take one of the standard status classifications, typically, APPROVED.

An Approval is an historical record, and is not altered once created. Consequently, a task specification may have multiple Approvals recorded against it. The rules concerning the retention of each Approval are business specific, however, where Approvals are recorded, the recommended practice is to ensure that the Approval of the current status is present.

Life Cycle Relationships

In any implementation of task specification, it is recommended that version and variant histories are recorded using Task_method_version_relationship classified by one of the following subclasses of Task_method_version_relationship_evolution:

TMV_is_a_revision of records the fact that one version immediately follows another, whereas TMV_supercedes asserts that the later version replaces an earlier version, and is used in brining an environment up-to-date.

The use of life cycle relationships is not formally supported by this version of this capability.

Life Cycle Characterizations

This initial version of the capability describes only a subset of the characterizations available.

Why the Task Specification Exists

Reasons for the existence of a Task_method may include:

In all three cases, the reason is modelled as a Justification. In the case of a description, the link via a Justification_support_assignment is to a Document_version either as descriptor or as containing the description. In the case of a support driver, the link is to the State_definition

Why a New Version has been Created

The reason for creating a new version of a task specification is record by applying a descriptor to Task_method_version_relationship, as described in C095: assigning_descriptor, using a subclass of "Progression_description" to define the role. This is shown in figure 1100 below.



Figure 1100 —  Recording the Reason for a New Version of a Task Specification

Figure 1100 —  Recording the Reason for a New Version of a Task Specification

Name and Description

The name of a task specification is the name by which the task specification is usually know. This is applied as described in C001: assigning_identifiers where the identifier is classed as [[NAME]].

The description of a task should briefly say what it does and any important features of the task, but does not describe the method by which the task is performed, nor should it substitute for a reference to any resource, method, objective, and so on, which are explicitly represented in this capability or any of the extended capabilities. The description is applies as described in C095: assigning_descriptor and is classified as [[DESCRIPTION]].

Task Objectives

A task specification can have one or more objectives, recorded in a Task_objective. The objective is provided as an aid to searching for task specifications, and it is therefore recommend that, for a given business context, consideration is given to restricting the vocabulary of the description of the objective.

The Task_objective will have one or more descriptions applied as described in the capability C095: assigning_descriptor using the descriptor class [[DESCRIPTION]].

The Task_objective may also have a name applied, using the capability C001: assigning_identifiers classified as [[NAME]]

Additional characterizations can be applied to Task_objective, however, these are beyond the scope of this initial version of the capability.

Meta-Information

This version of this capability describes only a limited set of meta-information that can be applied to Task_method and Task_method_version.

A Task_method and Task_method_version may have an owner applied, as described in C094: assigning_organization where the role of the owner is [[TASK_OWNER]] or [[TASK_VERSION_OWNER]]. The owner has the right to create new versions of the task specification, and to control access to that specification. Normally, only the Task_method will have an owner, however ownership can be applied to particular versions or variants, in which case the ownership is applied to the Task_method_version takes priority over that applied to the Task_method.

A Task_method and Task_method_version may have a security classification applied, as described in C073: representing_information_controls. Where a separate security classification is applied to a particular version or variant, that applied to Task_method_version takes priority over that applied to the Task_method for the information tied to the Task_method_version. Under most security regulations, the classification applied to a Task_method_version will be higher than that applied to the Task_method, since the Task_method information forms part of the Task_method_version definition. By default, the security classification applies to all attributes and characterizations described in this capability, and to each Task_method_relationship and Task_method_version_relationship, though not to the other entities referenced. It also applies to any associated Task_objective and Task_step unless these have their own security classification applied. If a different scope is required, this must be explicitly recorded in any relevant exchange agreement.

A Task_method and Task_method_version may have a copyright notice applied, as described in C073: representing_information_controls. Where a copyright notice is applied to a particular version or variant, that applied to Task_method_version takes priority over that applied to the Task_method for the information tied to the Task_method_version. By default, the copyright notice applies to all attributes and characterizations described in this capability, and to each Task_method_relationship and Task_method_version_relationship, though not to the other entities referenced. It also applies to any associated Task_objective and Task_step unless these have their own copyright notice applied. If a different scope is required, this must be explicitly recorded in any relevant exchange agreement.

Identifying the Product-In-Focus

Task Specification Properties

This section is concerned with the specification of single valued properties for a task specification, such as the cost and duration. These are summary properties, applied at the level of Task_method_version, and do not account for variations in skill level, conditional steps, and so on. If required, these can be recorded against individual task steps, as described in C088: representing_task_structure.

A property may be assigned to a Task_method_version. To specify an property it is necessary to specify the type of property, the value of the property, and the units for the property. For example, a task specification has the property "task_elapsed_continuous_time" having the value "12 person hours". It is also possible to allocate a time and date and an organization to the property value identifying who provided the value and when. It is also possible to assign an effectivity to association between the property and the task specification.

Two important properties of a property are its scope and the methodology by which it is set.

The scope of a Task specification property is one of the following subclasses of task_property_scope:

Preparation tasks are those things that must be done either before the task specified is started, or to prepare a resource for use in the task. For example, things that may need to be done before the task is started may include jacking-up the platform, removing flammable stores such as fuel, opening up access panels, or preparing the environment (removing debris from the area for a field test of an aircraft engine). Things that may need to be done to prepare a resource include collecting a spare from stores, removing coatings protecting a part in storage, or calibrating a piece of test equipment.

Follow-up tasks are those things that must be done either after the task specified is completed, or must be done to dispose of an output from the task. For example, things that may need to be done after the task is finished may include closing access panels, refueling, or removing any jacks. It is a matter of business practice whether testing, inspection and calibration are included as part of the task specification, however, these will always be included in any property that has a scope of Whole-task. Follow-up tasks may also include waste disposal and return of items to stores.

Since the scope of things included in preparation and follow-up tasks will be business specific, it is recommended that a subclass or subclasses of Whole-task be used, specific to the business context.

In the case of in-scope-cumulative and In-scope-incremental, the properties refer only to task steps which are part of the task specification content. Although this capability considers only simple task specifications of a single step, more complex task structures are supported, as described in C088: representing_task_structure. This includes the invocation of other task specifications.An In-scope-incremental property considers only the cumulative values of the task steps described within the given task specification, and excludes values that could be accumulated from invoked tasks.

In-scope-cumulative properties are calculated by analysing the properties of the invoked task specifications, and adding these to the In-scope-incremental value. There are two issues that need to be noted here. Firstly, the analysis will be business specific, with different analyses of the same task giving different answers. Secondly, since the cumulative value is the result of an analysis at a particular point in time, subsequent changes to the properties of the invoked tasks will not be reflected in the property value. It is therefore recommended that a subclass of In-scope_cumulative is used, specific to the business context, and the Property_value_representation has a date/time applied in the role of "date_calculated", as described in C079: representing_properties_numerically

The methodology by which the property is set can be taken from one of the subclasses of task_property_value_methodology:

Where a property is estimated, it is recommended that the person or organization making the estimate is recorded against the property value.

Where a property is calculated, it is recommended that a subclass is used to identify the calculation methodology.

Identification of the source of the allocation is beyond the scope of this version of this capability.

Cost Properties

A cost property assigns a monetary cost to a Task_method_version. It shall be classified as task_cost_property or a subtype thereof. The unit of the property will be the currency used, and is taken from [[table of currencies]]. To allow for changing business and economic conditions, it is recommended that the date at which the value was set is assigned to the Property_value_representation, as described in C079: representing_properties_numerically. The person or organization defining the value may also be recorded. Where the period of validity for the cost model is known - such as a fixed price over the period of a contract - this should be represented via Dated_effectivity.

In addition to a subclass of each of task_property_scope and task_property_value_methodology, the property shall also be classified with an subclass of task_cost_property:

A chargeable resource is one in which some fixed cost can be associated with the use of the resource in the specified task, and this is directly accounted for in the operation of a task. For example, the cost of a spare part, or the cost of labour, being the manhour rate times the number of man hours allocated to do the task. Ideally, these costs should also be identified against the resource. A non-chargeable cost is one which is not directly related to the consumption of a resource by the task, such as the rental costs on workshop space, or phone charges.

The calculation of the total cost will depend on accounting practice. For example, labour rates may be multiplied by an "overhead factor" to account for labour - such as storekeepers - which may not appear explicitly in the resources for the task specification.

Since the rules concerning costs vary from organization to organization, it is recommended that these classes are further subclassed in order to identify the costing practices in force.

This capability supports a relatively simple cost model, using an uncoordinated set of single valued costs. Complex cost models, such as those allowing for co-ordinated labour and materials rates, or for overhead-costs based on particular locations, are beyond the scope of this version of the capability.

Time Properties

A time property assigned a measure of the time taken to perform the task specified to a Task_method_version, either in terms of elapsed time, or as the effort needed.

Elapsed time is the time from the start of the task specified to its end. In addition to a subclass of each of task_property_scope and task_property_value_methodology, the property shall also be classified with an subclass of task_elapsed_time, itself a subclass of task_time_property. The subclasses of task_elapsed_time are:

task_elapsed_continuous time represents the shortest practical time to execute the task specification, assuming continuous shift working, and will normally correspond to the critical path. This will generally be used for tasks of duration less than a working day.

Task_project_time represents the elapsed time under particular working conditions, though it is generally useful only for tasks of duration of the order of a working day or longer. The elapsed time is affected by the length of the working, which in turn is affected by the urgency of the task. Consequently, it is recommended that a subclass of Task_project_time is provides in the exchange agreement to make explicit the conditions applicable.

Effort is a measure in person-minutes, hours, days, months or years required to execute the task specification. This is a single summary figure for the whole task. Details against the various skills required are beyond the scope of this version of the capability. The property of effort shall be classified by task_effort or subclass thereof. Task_effort it a subclass of task_time_property.

Task Step

This section describes the minimum content needed to define a useful task specification, and is provided to give readers a single, simple introduction to the use of Task_specificaiton. More complex requirements will be satisfied through the various extension capabilities mentioned.

Task Step Model Overview

A Task_step is a subtype of task_element. As such, it inherits four attributes, each of which is set to /IIGNORE. A single Task_step carries the text defining the method to be used in performing the specified task as an assigned descriptor in the role [[TASK_STEP_DEFINITION]]. Other subtypes of task_element provide for a structured decomposition of a task specification, and their use is described in the extension capability C088: representing_task_structure.

The Task_step can carry with a number of advisory notices, such as safety instructions. These are represented by an Advisory_task_step which are provided as notes to the Task_step. In the case of an Advisory_task_step, the advice is applies as a descriptor in the role [[TASK_STEP_ADVICE]] rather than [[TASK_STEP_DEFINITION]].

A task specification will generally list the resources needed to perform the task, including the personnel, tools, spare parts and consumables such as lubricants or sealants. The concept of a resource is an association between a function such as a task specification and an item, such as a spare part. Links from Task_step to one or more Required_resources should be made using Required_resource_assignment. Since the concept of a required resource is itself an association between a task specification and the item required, the Required_resource itself carries the quantity needed.

Links to additional information, such as figures, can be made using a Task_element_assignment to a Document_version.

Task Step description

A Task_step provides , for the purposes of task management, a single, undivided text, describing how the task is performed. This does not mean that the text itself is not broken down into detailed steps, but that resources, for example, are allocated on the basis of the whole Task_step, and for the duration of that Task_step. In a simple operation of short duration, such as changing the wheel on a bicycle, this is perfectly satisfactory. In a complex operation, such as preparing an aircraft for take-off, a fuel tender is required only for a limited period, and can be used elsewhere when its part of the task is completed. In this case, creating a separate Task_step for fueling the aircraft enables this reallocation.

In the initial move from a paper based maintenance system to a fully electronic PLCS based system, it is likely that the first version of the task specification will consist of a single Task_step containing the whole of description taken from the paper system.

The description itself is applied using the capability C095: assigning_descriptor, classifying the descriptor as [[TASK_STEP_DEFINITION]]. Business rules may also require in addition explicit classification of the Task_step, for example, for safety critical operations, or when hazardous materials are used. Figure 1100 shows an instance diagram for changing a wheel (task identification and version information has been omitted).

An Advisory_task_step may be used to provide additional instructions on the way the task is executed, rather than on the particular steps of the execution. In particular, standard safety instructions, such as the need to wear safety equipment, should be included as Advisory_task_steps. The additional instructions are applied using C095: assigning_descriptor with the descriptor classified as [[TASK_STEP_ADVICE]]. Figure 1110 extends the example given in Figure 1100 with the requirement to wear knee protection.

For standard advice, Advisory_task_step may itself be identified with classification [[??]], as described in C001: assigning_identifiers and approved as described in C019: assigning_approvals.

Further characterizations of both Task_step and Advisory_task_step are discussed in the extended capability C088: representing_task_structure.

Resource Allocation

A resource is something needed to support the performance of the specified task, and can include trained personnel, tools, parts, consumables, a facility (such as hanger) and infrastructure (such as a power supply). In PLCS, a task specification references a Required_resource, which is either a specification of the resource needed, or a link to an item that can act as the resource. For example, in changing the tyre (tire in the US) on a bicycle, the following are needed:

Figure 1200 shows this, where the maintainer is specified using Type_of_person, the tyre as a part, and the tool kit and air supply by specification.

Supporting Documentation

Supporting documentation can include diagrams such as exploded parts views or circuit diagrams, explanatory texts, training material, etc. In the case of an Advisory_task_step, this can be a link back to relevant legislation, a code of practice, or a risk assessment.

The association of the documentation to the task specification is done using Task_element_assignment in a role which is a subclass of [[TASK_STEP_SUPPORTING_DOCUMENTATION]]. The following is an extensible list of these subclasses for a Task_step:

The following is an extensible list of subclasses for TASK_STEP_ADVISORY_DOCUMENTATION:

Capability templates

The following sections define a set of templates for the capability, where a template is a specification of a set of entities that need to be instantiated to represent a given set of information.

Template: referencing_task (Short name: ref_task)

This section specifies the template referencing_task.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to reference to a task specification.

A task specification is a structured procedural description of how to do something. A task specification does not plan, schedule, or record what is done. A typical support solution comes with a library of tasks for the support of the product, such as would be collected together in a maintenance manual. The template for referencing a task specification enables the user to reference a complete task - for example, from the manual - without having to reproduce the details of the task. These tasks may be referenced in a maintenance schedule or a statement of work.

This template assumes that each task specification is known by a unique identifier. To ensure uniqueness, the identifier is given the context of the organization that owns the identifier.

NOTE 1   There are potentially two other requirements for ways of referencing a task. Firstly, for some organizations, task numbers are unique only in the context of a particular product, and the organization may reuse the same numbers for different tasks on different product lines. This template does not allow explicit refrence to the product, however this requirement could be met by identifying the project controlling each product as an organization in its own right, which is then a component organization of the wider organization. Secondly, an organization may assign task numbers on the basis of the usage of its product within a particular end product. For example, the provider of an altimeter may provide provide a set of calibration tasks tailored to the particular aircraft it is fitted to. This could be catered for through a variant identifier rather than citing the end product explicitly, however variants are out of scope of this template. This is not to say these work rounds will be appropriate in every case, and it would be better if additional referencing templates were created. However, at the time of writing, there are no actual requirements for such templates.

The definition of a task specification may evolve over the lifetime of the support solution. This evolution is controlled by creating separate versions of a task, and declaring them fit for use, e.g. by a formal issue process. This template describes how to reference the different versions of a task specification. The version number is required. In product environments which do not record task version identifier, the recommended practice is that the version identifier be set to 1.

In the process of drafting a new version, a task specification will frequently go through several iterations. The reference to such iterations is outside the scope of this template, which is limited to the usage phase of the task specification.

A task specification may be customised for different environments, for its use with a particular product, or for a particular maintenance organization. The term variant is used to indicate a minor variation from the specification which is in use at the same time as other such variants - that is, unlike versions, variants do not supercede each other. The specification of variants, either by reference to context or by variant identifier is beyond the scope of this template.

To identify a task, the reference must explicitly include the task identifier and its version identifier. This template does not support rule based references, such as "the latest authorized version".

The use of the term version for evolution sequence and variant for concurrent variation is consistent throughout this series of specifications. However, business terminology varies widely, with terms such as version, variant, issue, revision and mark used in no consistent way. It is therefore expected that the business which use the standard will map against their terminology to that of the standard, to ensure that the standard is used consistently.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "referencing_task". The text highlighted in blue shows the template parameters.

The overall description of the model is given in the capability for representing_task. The subset of the model shown here shows only the entities and attributes that need be populated to reference the task. In particular the optional attribute content is omitted, and the attribute set (S[0..?) objective is omitted (assigning objectives will be the subject of a separate template). Both Task_method and Task_method_version are subtypes of Activity_method.

In referencing a task, the target entity is the Task_method_version, that is, every reference to a task is to a specific version of the task. Referencing Task_method_version requires the instantiation of the Task_method which it is a version of, and which carries the task identifier. The Task_method_version carries the version identifier.



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

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

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.
The diagram below shows the both the full and abbreviated templates for referencing task, and is followed by a detailed description of the input parameters. Note that the template exposes only Task_method_version as the target for external assignments the task reference.


Figure 2 —  The graphical representation of the referencing_task template

Figure 2 —  The graphical representation of the referencing_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 which specifies the role of the Identification_assignment as an identifier for the Task_method.
The following classes and their sub-classes can be used:
classifications: "Task_method_identification_code" (urn:plcs:rdl:std:Task_method_identification_code)
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 identifier (@task_id).
task_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The class which specifies the role of the (Identification_assignment) as the identifier or name 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 referenced by the parameter @task_org_id_class_name.
task_ver_id (Type='STRING')
The task version identifier, for example, the sequence number of the version.
task_ver_id_class_name (Default=Version_identification_code,Type='CLASS')
The class which specifies the role of the Identification_assignment as a version identifier for the Task_method_version.
The following classes and their sub-classes can be used:
classifications: "Version_identification_code" (urn:plcs:rdl:std:Version_identification_code)
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 identifier.
task_ver_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The class which specifies the role of the (Identification_assignment) as the identifier or name 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 referenced by the parameter @task_ver_org_id_class_name.
Reference parameters
The following reference parameters are defined for this template:
task_method(Type='ENTITY (Task_method)')
Allow the Task_method entity instantiated in this path to be referenced when this template is used.
Note: The Task_method entity can be referenced in a template path by:
%^target = $referencing_task.task_method%
where target is the parameter to which the Task_method is bound.
task_method_version(Type='ENTITY (Task_method_version)')
Allow the Task_method_version entity instantiated in this path to be referenced when this template is used.
Note: The Task_method_version entity can be referenced in a template path by:
%^target = $referencing_task.task_method_version%
where target is the parameter to which the Task_method_version 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 Reading Capability Templates help section.
Task_method
%^task_method = Task_method%
Task_method.name = '/IGNORE'
Task_method.description = '/IGNORE'
Task_method.consequence = '/IGNORE'
Task_method.purpose = '/IGNORE'

-- Identify the Task_method
/assigning_identification(
    items=Task_method,
    id=@task_id,
    id_class_name=@task_id_class_name,
    id_ecl_id=@task_ecl_id,
    org_id=@task_org_id,
    org_id_class_name=@task_org_id_class_name,
    org_id_ecl_id=@task_org_id_ecl_id )/

-- Task method version
Task_method_version
%^task_method_version = Task_method_version%
Task_method_version.name = '/IGNORE'
Task_method_version.description = '/IGNORE'
Task_method_version.consequence = '/IGNORE'
Task_method_version.purpose = '/IGNORE'
Task_method_version.of_task_method -> ^task_method

-- Identify the Task_method_version as version
/assigning_identification(
    items=^task_method_version,
    id=@task_ver_id,
    id_class_name=@task_ver_id_class_name,
    id_ecl_id=@task_ver_ecl_id,
    org_id=@task_ver_org_id,
    org_id_class_name=@task_ver_org_id_class_name,
    org_id_ecl_id=@task_ver_org_id_ecl_id )/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Task_method.name '/IGNORE' Activity_method.name
Task_method.description '/IGNORE' Activity_method.description
Task_method.consequence '/IGNORE' Activity_method.consequence
Task_method.purpose '/IGNORE' Activity_method.purpose
Task_method_version.name '/IGNORE' Activity_method.name
Task_method_version.description '/IGNORE' Activity_method.description
Task_method_version.consequence '/IGNORE' Activity_method.consequence
Task_method_version.purpose '/IGNORE' Activity_method.purpose
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/referencing_task(task_id='BK123', task_id_class_name='Task_method_identification_code', task_ecl_id='urn:plcs:rdl:std', task_org_id='Fix-a-bike Inc', task_org_id_class_name='Organization_name', task_org_id_ecl_id='urn:plcs:rdl:std', task_ver_id='3', task_ver_id_class_name='Version_identification_code', task_ver_ecl_id='urn:plcs:rdl:std', task_ver_org_id='Fix-a-bike Inc', task_ver_org_id_class_name='Organization_name', task_ver_org_id_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated referencing_task template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by referencing_task template

Figure 3 —  Entities instantiated by referencing_task template

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:
/referencing_task(task_id='BK123', task_id_class_name='Task_method_identification_code', task_ecl_id='urn:plcs:rdl:std', task_org_id='Fix-a-bike Inc', task_org_id_class_name='Organization_name', task_org_id_ecl_id='urn:plcs:rdl:std', task_ver_id='3', task_ver_id_class_name='Version_identification_code', task_ver_ecl_id='urn:plcs:rdl:std', task_ver_org_id='Fix-a-bike Inc', task_ver_org_id_class_name='Organization_name', task_ver_org_id_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Instantiation of referencing_task template

Figure 4 —  Instantiation of referencing_task template

Characterizations
No common characterizations of the template referencing_task have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: representing_task_simple (Short name: rep_task_simple)

This section specifies the template representing_task_simple.

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 simple task specification. A task specification is a procedural description of how to do something. A simple task specification has a simple, unstructured definition, and may also identify the context in which it is used. More complex tasks are described in the various task capabilities.

A task specification does not plan, schedule, or record what is done. This template is used to define the essential 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 Strumly-Bowman gear fitted to a 'Muddy-Badger' model 42 bicycle, and describes the steps needed to change the sprocket chain.

The template mandates only the minimum of information, and most of the information needed for a simple task is described under the characterization section.

This template is valid only for "in-use" stage of the Task specification life cycle, and does not consider the initial development phase, the obsolescence phase, development lifecycle data nor any controls on the development process or the authorizations that record that process.

For discussion of the meaning of identification and version and the parameters involved, see the template referencing_task.

The template characterization describes a task specified as applying to a specific type of product (the affected 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. Where the affected product is fitted to a higher level end product (e.g. the task describes how to maintain a particular type of pump when fitted in a given class of ship), the characterization also describes how to identify the higher level product.

The template characterization allows for the task instructions to be held either as unstructured text or in a separate document.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_task_simple". The text highlighted in blue shows the template parameters.

Task_method and Task_method_version provide the control entities for the task, and are the homes of the summary information covering the task as a whole. Task_element describes how to perform the task. In a simple task, this may be either a simple description of what to do, or a reference to a more detailed document. In the latter case, Task_method can be used as a proxy to track the the lifecycle and usage of a task specification held in an external documentation system.

The model shows the three entities that must be instantiated.



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

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

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.
The diagram below shows the both the full and abbreviated templates for referencing task, and is followed by a detailed description of the input parameter


Figure 2 —  The graphical representation of the representing_task_simple template

Figure 2 —  The graphical representation of the representing_task_simple 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 name of the class being used to classify the identifier being assigned to the task (i.e. the @task_id)
The following classes and their sub-classes can be used:
classifications: "Task_method_identification_code" (urn:plcs:rdl:std:Task_method_identification_code), "Task_method_name" (urn:plcs:rdl:std:Task_method_name)
task_id_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')
The name of the class being used to classify the identification of the Organization responsible for creating the @task_id.
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')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @task_org_id_class_name.
task_ver_id (Type='STRING')
The task version identifier, for example, the sequence number of the version.
task_ver_id_class_name (Default=Version_identification_code,Type='CLASS')
The name of the class being used to classify the task version identifier (@tesk_ver_id) assigned to Task_method_version.
The following classes and their sub-classes can be used:
classifications: "Progression_identification_code" (urn:plcs:rdl:std:Progression_identification_code)
task_ver_id_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 identifier.
task_ver_org_id_class_name (Default=Organization_name,Type='CLASS')
The name of the class being used to classify the identification of the Organization responsible for creating the @task_ver_id.
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')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @task_ver_org_id_class_name.
task_name (Type='STRING')
The textual identifier of the task.
task_name_class_name (Default=Task_method_name,Type='CLASS')
The name of the class being used to classify the task name assigned to Task_method_version.
The following classes and their sub-classes can be used:
classifications: "Task_method_name" (urn:plcs:rdl:std:Task_method_name)
task_name_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_name_class_name.
task_name_org_id (Type='STRING')
The name or identifier of the organization that owns the task name.
task_name_org_id_class_name (Default=Organization_name,Type='CLASS')
The name of the class being used to classify the identification of the Organization responsible for creating the @task_name.
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_name_org_id_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_name_org_id_class_name.
task_details (Type='STRING')
The detailed description of how to perform the task.
Reference parameters
The following reference parameters are defined for this template:
task_method(Type='ENTITY (Task_method)')
Allow the Task_method entity instantiated in this path to be referenced when this template is used.
Note: The Task_method entity can be referenced in a template path by:
%^target = $representing_task_simple.task_method%
where target is the parameter to which the Task_method is bound.
The Task_method carries the identity of the task. Definitional elements can only be added in the initial development phase of the task. Most information is associated to the Task_method_version.
task_method_version(Type='ENTITY (Task_method_version)')
Allow the Task_method_version entity instantiated in this path to be referenced when this template is used.
Note: The Task_method_version entity can be referenced in a template path by:
%^target = $representing_task_simple.task_method_version%
where target is the parameter to which the Task_method_version is bound.
The Task_method_version provides the version control locus for task definition data. In the context of this template, this means changes to the details of how to perform a task, or of the parts the task is associated to.
task_step(Type='ENTITY (Task_step)')
Allow the Task_step entity instantiated in this path to be referenced when this template is used.
Note: The Task_step entity can be referenced in a template path by:
%^target = $representing_task_simple.task_step%
where target is the parameter to which the Task_step is bound.
The Task_element contains the details of how the task is to be performed.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique task
Each instance of the entity (Task_method) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_task_simple) namely: task_id, task_id_class_name, task_id_ecl_id, task_org_id, task_org_id_class_name, task_org_id_ecl_id.
The instance is referenced by the following template parameter: task_method.
Unique constraint: Unique task version
Each instance of the entity (Task_method_version) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_task_simple) namely: task_id, task_id_class_name, task_id_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_id_ecl_id, task_ver_org_id, task_ver_org_id_class_name, task_ver_org_id_ecl_id.
The instance is referenced by the following template parameter: task_method_version.
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 Reading Capability Templates help section.
Task_method
%^task_method = Task_method%
Task_method.name = '/IGNORE'
Task_method.description = '/IGNORE'
Task_method.consequence = '/IGNORE'
Task_method.purpose = '/IGNORE'

-- Identify the Task_method
/assigning_identification(
    items=^task_method,
    id=@task_id,
    id_class_name=@task_id_class_name,
    id_ecl_id=@task_id_ecl_id,
    org_id=@task_org_id,
    org_id_class_name=@task_org_id_class_name,
    org_id_ecl_id=@task_org_id_ecl_id )/

-- Assign the task name to Task_method
/assigning_identification(
    items=^task_method,
    id=@task_name,
    id_class_name=@task_name_class_name,
    id_ecl_id=@task_name_ecl_id,
    org_id=@task_name_org_id,
    org_id_class_name=@task_name_org_id_class_name,
    org_id_ecl_id=@task_name_org_id_ecl_id )/

-- Task method version
Task_method_version
%^task_method_version = Task_method_version%
Task_method_version.name = '/IGNORE'
Task_method_version.description = '/IGNORE'
Task_method_version.consequence = '/IGNORE'
Task_method_version.purpose = '/IGNORE'
Task_method_version.of_task_method -> ^task_method

-- Identify the Task_method_version as version
/assigning_identification(
    items=^task_method_version,
    id=@task_ver_id,
    id_class_name=@task_ver_id_class_name,
    id_ecl_id=@task_ver_id_ecl_id,
    org_id=@task_ver_org_id,
    org_id_class_name=@task_ver_org_id_class_name,
    org_id_ecl_id=@task_ver_org_id_ecl_id )/

-- Task step
Task_step
%^task_step = Task_step%
Task_step.name = '/IGNORE'
Task_step.description = '/IGNORE'
Task_step.consequence = '/IGNORE'
Task_step.purpose = '/IGNORE'

-- Assign Task description
/assigning_descriptor(
    descr=@task_details,
    class_name='Description',
    ecl_id='urn:plcs:rdl:std',
    is_assigned_to=^task_step)/

-- Assign the ^task_step as the content of the ^task_method_version
Task_method_version.content -> ^task_step
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Task_method.name '/IGNORE' Activity_method.name
Task_method.description '/IGNORE' Activity_method.description
Task_method.consequence '/IGNORE' Activity_method.consequence
Task_method.purpose '/IGNORE' Activity_method.purpose
Task_method_version.name '/IGNORE' Activity_method.name
Task_method_version.description '/IGNORE' Activity_method.description
Task_method_version.consequence '/IGNORE' Activity_method.consequence
Task_method_version.purpose '/IGNORE' Activity_method.purpose
Task_step.name '/IGNORE' Activity_method.name
Task_step.description '/IGNORE' Activity_method.description
Task_step.consequence '/IGNORE' Activity_method.consequence
Task_step.purpose '/IGNORE' Activity_method.purpose
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_simple(task_id='BK123', task_id_class_name='Task_method_identification_code', task_ecl_id='urn:plcs:rdl:std', task_org_id='Fix-a-bike Inc', task_org_id_class_name='Organization_name', task_org_id_ecl_id='urn:plcs:rdl:std', task_ver_id='3', task_ver_id_class_name='Version_identification_code', task_ver_ecl_id='urn:plcs:rdl:std', task_ver_org_id='Fix-a-bike Inc', task_ver_org_id_class_name='Organization_name', task_ver_org_id_ecl_id='urn:plcs:rdl:std', task_name='Replace chain', task_name_id_class_name='Task_method_name', task_name_ecl_id='urn:plcs:rdl:std', task_name_org_id='Fix-a-bike Inc', task_name_org_id_class_name='Organization_name', task_name_org_id_ecl_id='urn:plcs:rdl:std', task_details='Break chain at removable link...')/
(an illustration of the consolidated representing_task_simple template is shown in Figure 4 below.)
The example shows an instance of a task - task BK123 version 3 - to change the sprocket chain on a bicycle.


Figure 3 —  Entities instantiated by representing_task_simple template

Figure 3 —  Entities instantiated by representing_task_simple template

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_simple(task_id='BK123', task_id_class_name='Task_method_identification_code', task_ecl_id='urn:plcs:rdl:std', task_org_id='Fix-a-bike Inc', task_org_id_class_name='Organization_name', task_org_id_ecl_id='urn:plcs:rdl:std', task_ver_id='3', task_ver_id_class_name='Version_identification_code', task_ver_ecl_id='urn:plcs:rdl:std', task_ver_org_id='Fix-a-bike Inc', task_ver_org_id_class_name='Organization_name', task_ver_org_id_ecl_id='urn:plcs:rdl:std', task_name='Replace chain', task_name_id_class_name='Task_method_name', task_name_ecl_id='urn:plcs:rdl:std', task_name_org_id='Fix-a-bike Inc', task_name_org_id_class_name='Organization_name', task_name_org_id_ecl_id='urn:plcs:rdl:std', task_details='Break chain at removable link...')/


Figure 4 —  Instantiation of representing_task_simple template

Figure 4 —  Instantiation of representing_task_simple template

Characterizations
No common characterizations of the template representing_task_simple have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: representing_task_step (Short name: rep_task_step)

This section specifies the template representing_task_step.

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 step. A task step contains the details for a task version.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_task_step". The text highlighted in blue shows the template parameters.


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

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

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_task_step template

Figure 2 —  The graphical representation of the representing_task_step template

Input parameters
The following input parameters are defined for this template:
task_step_id (Type='STRING')
The task step identifier, e.g. the task step number.
task_step_id_class_name (Default=Task_step_identification_code,Type='CLASS')
The name of the class being used to classify the task step identifier (i.e. the @task_step_id)
The following classes and their sub-classes can be used:
classifications: "Task_step_identification_code" (urn:plcs:rdl:std:Task_step_identification_code), "Task_step_name" (urn:plcs:rdl:std:Task_step_name)
task_step_id_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_step_id_class_name.
task_step_org_id (Type='STRING')
The name or identifier of the Organization that owns the @task_step_id.
task_step_org_id_class_name (Default=Organization_name,Type='CLASS')
The name of the class being used to classify the identification of the Organization responsible for creating the @task_step_id.
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_step_org_id_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_step_org_id_class_name.
task_step_details (Type='STRING')
Detailed description of how the to perform the task step.
Reference parameters
The following reference parameters are defined for this template:
task_step(Type='ENTITY (Task_step)')
Allow the Task_step entity instantiated in this path to be referenced when this template is used.
Note: The Task_step entity can be referenced in a template path by:
%^target = $representing_task_step.task_step%
where target is the parameter to which the Task_step 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 Reading Capability Templates help section.
Task_step
%^task_step = Task_step%
Task_step.name = '/IGNORE'
Task_step.description = '/IGNORE'
Task_step.consequence = '/IGNORE'
Task_step.purpose = '/IGNORE'

-- Identify the Task_step
/assigning_identification(
    items= ^task_step,
    id= @task_step_id,
    id_class_name= @task_step_id_class_name,
    id_ecl_id= @task_step_id_ecl_id,
    org_id= @task_step_org_id,
    org_id_class_name= @task_step_org_id_class_name,
    org_id_ecl_id= @task_step_org_id_ecl_id )/
/assigning_descriptor(
    descr= @task_step_details,
    class_name= 'Description',
    ecl_id= 'urn:plcs:rdl:std',
    is_assigned_to= ^task_step)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Task_step.name '/IGNORE' Activity_method.name
Task_step.description '/IGNORE' Activity_method.description
Task_step.consequence '/IGNORE' Activity_method.consequence
Task_step.purpose '/IGNORE' Activity_method.purpose
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_step(task_step_id='1', task_step_id_class_name='Task_step_identification_code', task_step_id_ecl_id='urn:plcs:rdl:std', task_step_org_id='Bike Ltd', task_step_org_id_class_name='Organization_name', task_step_org_id_ecl_id='urn:plcs:rdl:std', task_step_details='Remove the wheel from ......')/
(an illustration of the consolidated representing_task_step template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_task_step template

Figure 3 —  Entities instantiated by representing_task_step template

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_step(task_step_id='1', task_step_id_class_name='Task_step_identification_code', task_step_id_ecl_id='urn:plcs:rdl:std', task_step_org_id='Bike Ltd', task_step_org_id_class_name='Organization_name', task_step_org_id_ecl_id='urn:plcs:rdl:std', task_step_details='Remove the wheel from ......')/


Figure 4 —  Instantiation of representing_task_step template

Figure 4 —  Instantiation of representing_task_step template

Characterizations
No common characterizations of the template representing_task_step have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: representing_structured_task_sequential (Short name: rep_struct_task_seq)

This section specifies the template representing_structured_task_sequential.

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 structured task where the task steps are performed in sequence.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_structured_task_sequential". The text highlighted in blue shows the template parameters.


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

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

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_structured_task_sequential template

Figure 2 —  The graphical representation of the representing_structured_task_sequential 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 name of the class being used to classify the identifier being assigned to the task (i.e. the @task_id)
The following classes and their sub-classes can be used:
classifications: "Task_method_identification_code" (urn:plcs:rdl:std:Task_method_identification_code)
task_id_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')
The name of the class being used to classify the identification of the Organization responsible for creating the @task_id.
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')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @task_org_id_class_name.
task_ver_id (Type='STRING')
The task version identifier, for example, the sequence number of the version.
task_ver_id_class_name (Default=Version_identification_code,Type='CLASS')
The name of the class being used to classify the task version identifier (@tesk_ver_id) assigned to Task_method_version.
The following classes and their sub-classes can be used:
classifications: "Progression_identification_code" (urn:plcs:rdl:std:Progression_identification_code)
task_ver_id_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 identifier.
task_ver_org_id_class_name (Default=Organization_name,Type='CLASS')
The name of the class being used to classify the identification of the Organization responsible for creating the @task_ver_id.
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')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @task_ver_org_id_class_name.
task_name (Type='STRING')
The task name.
task_name_class_name (Default=Task_method_name,Type='CLASS')
The name of the class being used to classify the task name assigned to Task_method.
The following classes and their sub-classes can be used:
classifications: "Task_method_name" (urn:plcs:rdl:std:Task_method_name)
task_name_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_name_class_name.
task_name_org_id (Type='STRING')
The name or identifier of the organization that owns the task name.
task_name_org_id_class_name (Default=Organization_name,Type='CLASS')
The name of the class being used to classify the identification of the Organization responsible for creating the @task_name.
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_name_org_id_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_name_org_id_class_name.
task_step (Type= 'ENTITY (Task_element)' )
The details on how to perform the task.
Reference parameters
The following reference parameters are defined for this template:
task(Type='ENTITY (Task_method)')
Allow the Task_method entity instantiated in this path to be referenced when this template is used.
Note: The Task_method entity can be referenced in a template path by:
%^target = $representing_structured_task_sequential.task%
where target is the parameter to which the Task_method is bound.
task_vn(Type='ENTITY (Task_method_version)')
Allow the Task_method_version entity instantiated in this path to be referenced when this template is used.
Note: The Task_method_version entity can be referenced in a template path by:
%^target = $representing_structured_task_sequential.task_vn%
where target is the parameter to which the Task_method_version is bound.
task_seq(Type='ENTITY (Task_element_sequence)')
Allow the Task_element_sequence entity instantiated in this path to be referenced when this template is used.
Note: The Task_element_sequence entity can be referenced in a template path by:
%^target = $representing_structured_task_sequential.task_seq%
where target is the parameter to which the Task_element_sequence is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique task
Each instance of the entity (Task_method) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_structured_task_sequential) namely: task_id, task_id_class_name, task_id_ecl_id, task_org_id, task_org_id_class_name, task_org_id_ecl_id.
The instance is referenced by the following template parameter: task.
Unique constraint: Unique task version
Each instance of the entity (Task_method_version) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_structured_task_sequential) namely: task_id, task_id_class_name, task_id_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_id_ecl_id, task_ver_org_id, task_ver_org_id_class_name, task_ver_org_id_ecl_id.
The instance is referenced by the following template parameter: task_vn.
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 Reading Capability Templates help section.
-- Create Task_method
Task_method
%^task = Task_method%
Task_method.name = '/IGNORE'
Task_method.description = '/IGNORE'
Task_method.consequence = '/IGNORE'
Task_method.purpose = '/IGNORE'

-- Identify the Task_method
/assigning_identification(
    items= ^task,
    id= @task_id,
    id_class_name= @task_id_class_name,
    id_ecl_id= @task_id_ecl_id,
    org_id= @task_org_id,
    org_id_class_name= @task_org_id_class_name,
    org_id_ecl_id= @task_org_id_ecl_id )/

-- Assign the task name to Task_method
/assigning_identification(
    items= ^task,
    id= @task_name,
    id_class_name= @task_name_class_name,
    id_ecl_id= @task_name_ecl_id,
    org_id= @task_name_org_id,
    org_id_class_name= @task_name_org_id_class_name,
    org_id_ecl_id= @task_name_org_id_ecl_id )/

-- Create Task_element_sequence
Task_element_sequence
%^task_seq = Task_element_sequence%
Task_element_sequence.name = '/IGNORE'
Task_element_sequence.description = '/IGNORE'
Task_element_sequence.consequence = '/IGNORE'
Task_element_sequence.purpose = '/IGNORE'
Task_element_sequence.elements -> @task_step

-- Create Task_method_version
Task_method_version
%^task_vn = Task_method_version%
Task_method_version.name = '/IGNORE'
Task_method_version.description = '/IGNORE'
Task_method_version.consequence = '/IGNORE'
Task_method_version.purpose = '/IGNORE'
Task_method_version.of_task_method -> ^task
Task_method_version.content -> ^task_seq

-- Identify the Task_method_version as version
/assigning_identification(
    items= ^task_vn,
    id= @task_ver_id,
    id_class_name= @task_ver_id_class_name,
    id_ecl_id= @task_ver_id_ecl_id,
    org_id= @task_ver_org_id,
    org_id_class_name= @task_ver_org_id_class_name,
    org_id_ecl_id= @task_ver_org_id_ecl_id )/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Task_method.name '/IGNORE' Activity_method.name
Task_method.description '/IGNORE' Activity_method.description
Task_method.consequence '/IGNORE' Activity_method.consequence
Task_method.purpose '/IGNORE' Activity_method.purpose
Task_element_sequence.name '/IGNORE' Activity_method.name
Task_element_sequence.description '/IGNORE' Activity_method.description
Task_element_sequence.consequence '/IGNORE' Activity_method.consequence
Task_element_sequence.purpose '/IGNORE' Activity_method.purpose
Task_method_version.name '/IGNORE' Activity_method.name
Task_method_version.description '/IGNORE' Activity_method.description
Task_method_version.consequence '/IGNORE' Activity_method.consequence
Task_method_version.purpose '/IGNORE' Activity_method.purpose
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_structured_task_sequential(task_id='BK123', task_id_class_name='Task_method_identification_code', task_ecl_id='urn:plcs:rdl:std', task_org_id='Bike Ltd', task_org_id_class_name='Organization_name', task_org_id_ecl_id='urn:plcs:rdl:std', task_ver_id='3', task_ver_id_class_name='Version_identification_code', task_ver_ecl_id='urn:plcs:rdl:std', task_ver_org_id='Bike Ltd', task_ver_org_id_class_name='Organization_name', task_ver_org_id_ecl_id='urn:plcs:rdl:std', task_name='Remove front wheel', task_name_class_name='Task_method_name', task_name_ecl_id='urn:plcs:rdl:std', task_name_org_id='Bike Ltd', task_name_org_id_class_name='Organization_name', task_name_org_id_ecl_id='urn:plcs:rdl:std', task_step='#1, #69')/
(an illustration of the consolidated representing_structured_task_sequential template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_structured_task_sequential template

Figure 3 —  Entities instantiated by representing_structured_task_sequential template

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_structured_task_sequential(task_id='BK123', task_id_class_name='Task_method_identification_code', task_ecl_id='urn:plcs:rdl:std', task_org_id='Bike Ltd', task_org_id_class_name='Organization_name', task_org_id_ecl_id='urn:plcs:rdl:std', task_ver_id='3', task_ver_id_class_name='Version_identification_code', task_ver_ecl_id='urn:plcs:rdl:std', task_ver_org_id='Bike Ltd', task_ver_org_id_class_name='Organization_name', task_ver_org_id_ecl_id='urn:plcs:rdl:std', task_name='Remove front wheel', task_name_class_name='Task_method_name', task_name_ecl_id='urn:plcs:rdl:std', task_name_org_id='Bike Ltd', task_name_org_id_class_name='Organization_name', task_name_org_id_ecl_id='urn:plcs:rdl:std', task_step='#1, #69')/


Figure 4 —  Instantiation of representing_structured_task_sequential template

Figure 4 —  Instantiation of representing_structured_task_sequential template

Characterizations
No common characterizations of the template representing_structured_task_sequential have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: representing_task_version_relationship (Short name: rep_task_ver_rel)

This section specifies the template representing_task_version_relationship.

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 relationship between two Task_method_versions.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_task_version_relationship". The text highlighted in blue shows the template parameters.


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

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

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_task_version_relationship template

Figure 2 —  The graphical representation of the representing_task_version_relationship template

Input parameters
The following input parameters are defined for this template:
relating_task_ver (Type= 'ENTITY (Task_method_version)' )
The Task_method_version which relates to another Task_method_version.
related_task_ver (Type= 'ENTITY (Task_method_version)' )
The Task_method_version that is being related.
rel_class_name (Type='CLASS')
Subclass of "Task method version relationship" (urn:plcs:rdl:std:Task method version relationship)
The following classes and their sub-classes can be used:
classifications: "Task_method_version_relationship" (urn:plcs:rdl:std:Task_method_version_relationship)
rel_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 @rel_class_name.
Reference parameters
The following reference parameters are defined for this template:
task_ver_rel(Type='ENTITY (Task_method_version_relationship)')
Allow the Task_method_version_relationship entity instantiated in this path to be referenced when this template is used.
Note: The Task_method_version_relationship entity can be referenced in a template path by:
%^target = $representing_task_version_relationship.task_ver_rel%
where target is the parameter to which the Task_method_version_relationship is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Task version relationship
Each instance of the entity (Task_method_version_relationship) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_task_version_relationship) namely: relating_task_ver, related_task_ver, rel_class_name, rel_ecl_id.
The instance is referenced by the following template parameter: task_ver_rel.
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 Reading Capability Templates help section.
Task_method_version_relationship

-- Mark the Task_method_version_relationship entity as
-- referable when this template is used by binding it to the reference
-- parameter task_ver_rel
%^task_ver_rel = Task_method_version_relationship%
Task_method_version_relationship.name = '/IGNORE'
Task_method_version_relationship.description = '/IGNORE'
Task_method_version_relationship.relating_method -> @relating_task_ver
Task_method_version_relationship.related_method -> @related_task_ver

-- provide the role of the realization by classifying the Task_method_version_relationship
/assigning_reference_data(
    items=^task_ver_rel,
    class_name=@rel_class_name,
    ecl_id=@rel_ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Task_method_version_relationship.name '/IGNORE' Activity_method_relationship.name
Task_method_version_relationship.description '/IGNORE' Activity_method_relationship.description
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_version_relationship(relating_task_ver='#1', related_task_ver='#2', rel_class_name='Supersedes', rel_ecl_id='urn:plcs:rdl:sample')/
(an illustration of the consolidated representing_task_version_relationship template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_task_version_relationship template

Figure 3 —  Entities instantiated by representing_task_version_relationship template

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_version_relationship(relating_task_ver='#1', related_task_ver='#2', rel_class_name='Supersedes', rel_ecl_id='urn:plcs:rdl:sample')/


Figure 4 —  Instantiation of representing_task_version_relationship template

Figure 4 —  Instantiation of representing_task_version_relationship template

Characterizations
No common characterizations of the template representing_task_version_relationship have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: representing_advisory_task_step (Short name: rep_adv_task_step)

This section specifies the template representing_advisory_task_step.

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 an advisory task step, Advisory_task_step, such as a warning, caution, or note.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_advisory_task_step". The text highlighted in blue shows the template parameters.


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

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

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_advisory_task_step template

Figure 2 —  The graphical representation of the representing_advisory_task_step template

Input parameters
The following input parameters are defined for this template:
adv_step_id (Type='STRING')
The identifier of the advisory task step, e.g. the task step number.
adv_step_id_class_name (Default=Task_step_identification_code,Type='CLASS')
The name of the class being used to classify the advisory task step identifier (i.e. the @adv_step_id)
The following classes and their sub-classes can be used:
classifications: "Task_step_identification_code" (urn:plcs:rdl:std:Task_step_identification_code), "Task_step_name" (urn:plcs:rdl:std:Task_step_name)
adv_step_id_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 @adv_step_id_class_name.
adv_step_org_id (Type='STRING')
The name or identifier of the Organization that owns the @adv_step_id.
adv_step_org_id_class_name (Default=Organization_name,Type='CLASS')
The name of the class being used to classify the identification of the Organization responsible for creating the @adv_step_id.
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)
adv_step_org_id_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 @adv_step_org_id_class_name.
adv_step_category (Default=Warning,Type='CLASS')
The name of the External_class being used to categorize the advisory task step.
The following classes and their sub-classes can be used:
classifications: "Advisory_task_step" (urn:plcs:rdl:std:Advisory_task_step)
adv_step_category_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the External_class referenced by the parameter @adv_step_category.
adv_step_details (Type='STRING')
The actual content of the advisory task step, e.g. the warning text.
Reference parameters
The following reference parameters are defined for this template:
adv_task_step(Type='ENTITY (Advisory_task_step)')
Allow the Advisory_task_step entity instantiated in this path to be referenced when this template is used.
Note: The Advisory_task_step entity can be referenced in a template path by:
%^target = $representing_advisory_task_step.adv_task_step%
where target is the parameter to which the Advisory_task_step is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Advisory task step
Each instance of the entity (Advisory_task_step) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_advisory_task_step) namely: adv_step_id, adv_step_id_class_name, adv_step_id_ecl_id, adv_step_org_id, adv_step_org_id_class_name, adv_step_org_id_ecl_id, adv_step_category, adv_step_category_ecl_id, adv_step_details.
The instance is referenced by the following template parameter: adv_task_step.
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 Reading Capability Templates help section.
Advisory_task_step
%^adv_task_step = Advisory_task_step%
Advisory_task_step.name = '/IGNORE'
Advisory_task_step.description = '/IGNORE'
Advisory_task_step.consequence = '/IGNORE'
Advisory_task_step.purpose = '/IGNORE'

-- Identify the Advisory_task_step
/assigning_identification(
    items= ^adv_task_step,
    id= @adv_step_id,
    id_class_name= @adv_step_id_class_name,
    id_ecl_id= @adv_step_id_ecl_id,
    org_id= @adv_step_org_id,
    org_id_class_name= @adv_step_org_id_class_name,
    org_id_ecl_id= @adv_step_org_id_ecl_id )/
/assigning_descriptor(
    descr= @adv_step_details,
    class_name= 'Description',
    ecl_id= 'urn:plcs:rdl:std',
    is_assigned_to= ^adv_task_step)/
/assigning_reference_data(
    items=^adv_task_step,
    class_name=@adv_step_category,
    ecl_id=@adv_step_category_ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Advisory_task_step.name '/IGNORE' Activity_method.name
Advisory_task_step.description '/IGNORE' Activity_method.description
Advisory_task_step.consequence '/IGNORE' Activity_method.consequence
Advisory_task_step.purpose '/IGNORE' Activity_method.purpose
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_advisory_task_step(adv_step_id='50', adv_step_id_class_name='Task_step_identification_code', adv_step_id_ecl_id='urn:plcs:rdl:std', adv_step_org_id='The Bike Company Ltd', adv_step_org_id_class_name='Organization_name', adv_step_org_id_ecl_id='urn:plcs:rdl:std', adv_step_category='Caution', adv_step_category_ecl_id='urn:plcs:rdl:sample', adv_step_details='Always keep both hands on handrail when utilizing product for personnel transport.')/
(an illustration of the consolidated representing_advisory_task_step template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_advisory_task_step template

Figure 3 —  Entities instantiated by representing_advisory_task_step template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#15 = CLASSIFICATION_ASSIGNMENT(#16,(#13),'/IGNORE'); #13 = IDENTIFICATION_ASSIGNMENT('The Bike Company Ltd','/IGNORE','/IGNORE',(#11)); #11 = ORGANIZATION('/IGNORE','/IGNORE'); #7 = EXTERNAL_CLASS('/NULL','Task_step_identification_code','/IGNORE',#17); #6 = CLASSIFICATION_ASSIGNMENT(#7,(#4),'/IGNORE'); #4 = IDENTIFICATION_ASSIGNMENT('50','/IGNORE','/IGNORE',(#2)); #2 = ADVISORY_TASK_STEP('/IGNORE','/IGNORE','/IGNORE','/IGNORE',$); #31 = CLASSIFICATION_ASSIGNMENT(#32,(#29),'/IGNORE'); #29 = DOCUMENT('/IGNORE','/IGNORE','Always keep both hands on handrail when utilizing product for personnel transport.'); #28 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std','/IGNORE'); #27 = EXTERNAL_CLASS('/NULL','Description','/IGNORE',#28); #26 = CLASSIFICATION_ASSIGNMENT(#27,(#24),'/IGNORE'); #24 = DOCUMENT_ASSIGNMENT(#29,#2,'/IGNORE'); #21 = EXTERNAL_CLASS('/NULL','Owner_of','/IGNORE',#17); #20 = CLASSIFICATION_ASSIGNMENT(#21,(#18),'/IGNORE'); #18 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#11,'/IGNORE',(#4)); #17 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std','/IGNORE'); #16 = EXTERNAL_CLASS('/NULL','Organization_name','/IGNORE',#17); #37 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample','/IGNORE'); #36 = EXTERNAL_CLASS('/NULL','Caution','/IGNORE',#37); #35 = CLASSIFICATION_ASSIGNMENT(#36,(#2),'/IGNORE'); #32 = EXTERNAL_CLASS('/NULL','Descriptor','/IGNORE',#17);
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_advisory_task_step(adv_step_id='50', adv_step_id_class_name='Task_step_identification_code', adv_step_id_ecl_id='urn:plcs:rdl:std', adv_step_org_id='The Bike Company Ltd', adv_step_org_id_class_name='Organization_name', adv_step_org_id_ecl_id='urn:plcs:rdl:std', adv_step_category='Caution', adv_step_category_ecl_id='urn:plcs:rdl:sample', adv_step_details='Always keep both hands on handrail when utilizing product for personnel transport.')/


Figure 4 —  Instantiation of representing_advisory_task_step template

Figure 4 —  Instantiation of representing_advisory_task_step template

Characterizations
No common characterizations of the template representing_advisory_task_step have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: representing_task_invocation (Short name: rep_task_invoc)

This section specifies the template representing_task_invocation.

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 an invocation of another task_method (_version) as a task_step in the invoking task_method.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_task_invocation". The text highlighted in blue shows the template parameters.


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

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

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_task_invocation template

Figure 2 —  The graphical representation of the representing_task_invocation template

Input parameters
The following input parameters are defined for this template:
task_step_id (Type='STRING')
The task step identifier..
task_step_id_class_name (Default=Task_step_identification_code,Type='CLASS')
The name of the class being used to classify the task step identifier (@task_step_id)
The following classes and their sub-classes can be used:
classifications: "Task_step_identification_code" (urn:plcs:rdl:std:Task_step_identification_code), "Task_step_name" (urn:plcs:rdl:std:Task_step_name)
task_step_id_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_step_id_class_name.
task_step_org_id (Type='STRING')
The name or identifier of the Organization that owns the @task_step_id.
task_step_org_id_class_name (Default=Organization_name,Type='CLASS')
The name of the class being used to classify the identification of the Organization responsible for creating the @task_step_id.
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_step_org_id_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_step_org_id_class_name.
task_step_category (Type='CLASS')
Categorization of the invoked task in relation to the task from which it's being invoked.
The following classes and their sub-classes can be used:
classifications: "Task_invocation" (urn:plcs:rdl:std:Task_invocation)
task_step_category_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_step_category.
invoked_task_method (Type= 'SELECT (method_or_method_version)' )
The Task_method or Task_method_version that is invoked as a series of steps by the Task_invocation entity instance.
Reference parameters
The following reference parameters are defined for this template:
task_inv(Type='ENTITY (Task_invocation)')
Allow the Task_invocation entity instantiated in this path to be referenced when this template is used.
Note: The Task_invocation entity can be referenced in a template path by:
%^target = $representing_task_invocation.task_inv%
where target is the parameter to which the Task_invocation is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Task invocation
Each instance of the entity (Task_invocation) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_task_invocation) namely: task_step_id, task_step_id_class_name, task_step_id_ecl_id, task_step_org_id, task_step_org_id_class_name, task_step_org_id_ecl_id, task_step_category, task_step_category_ecl_id, invoked_task_method.
The instance is referenced by the following template parameter: task_inv.
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 Reading Capability Templates help section.
Task_invocation
%^task_inv = Task_invocation%
Task_invocation.name = '/IGNORE'
Task_invocation.description = '/IGNORE'
Task_invocation.consequence = '/IGNORE'
Task_invocation.purpose = '/IGNORE'
Task_invocation.task_method -> @invoked_task_method

-- Identify the Task_invocation
/assigning_identification(
    items= ^task_inv,
    id= @task_step_id,
    id_class_name= @task_step_id_class_name,
    id_ecl_id= @task_step_id_ecl_id,
    org_id= @task_step_org_id,
    org_id_class_name= @task_step_org_id_class_name,
    org_id_ecl_id= @task_step_org_id_ecl_id )/
/assigning_reference_data(
    items=^task_inv,
    class_name=@task_step_category,
    ecl_id=@task_step_category_ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Task_invocation.name '/IGNORE' Activity_method.name
Task_invocation.description '/IGNORE' Activity_method.description
Task_invocation.consequence '/IGNORE' Activity_method.consequence
Task_invocation.purpose '/IGNORE' Activity_method.purpose
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_invocation(task_step_id='25', task_step_id_class_name='Task_step_identification_code', task_step_id_ecl_id='urn:plcs:rdl:std', task_step_org_id='The Bike Company Ltd', task_step_org_id_class_name='Organization_name', task_step_org_id_ecl_id='urn:plcs:rdl:std', task_step_category='Required_condition', task_step_category_ecl_id='urn:plcs:rdl:sample', invoked_task_method='#6')/
(an illustration of the consolidated representing_task_invocation template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_task_invocation template

Figure 3 —  Entities instantiated by representing_task_invocation template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#1 = TASK_ELEMENT_SEQUENCE('/IGNORE','/IGNORE','/IGNORE','/IGNORE',$,(#2,#3)); #2 = TASK_STEP('/IGNORE','/IGNORE','/IGNORE','/IGNORE',$); #3 = TASK_INVOCATION('/IGNORE','/IGNORE','/IGNORE','/IGNORE',$,#6); #4 = TASK_METHOD_VERSION('/IGNORE','/IGNORE','/IGNORE','/IGNORE',#1,#5); #5 = TASK_METHOD('/IGNORE','/IGNORE','/IGNORE','/IGNORE',()); #6 = TASK_METHOD('/IGNORE','/IGNORE','/IGNORE','/IGNORE',()); #8 = IDENTIFICATION_ASSIGNMENT('25','/IGNORE','/IGNORE',(#3)); #10 = CLASSIFICATION_ASSIGNMENT(#11,(#8),'/IGNORE'); #11 = EXTERNAL_CLASS('/NULL','Task_step_identification_code','/IGNORE',#12); #12 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std','/IGNORE'); #15 = ORGANIZATION('/IGNORE','/IGNORE'); #17 = IDENTIFICATION_ASSIGNMENT('The Bike Company Ltd','/IGNORE','/IGNORE',(#15)); #19 = CLASSIFICATION_ASSIGNMENT(#20,(#17),'/IGNORE'); #20 = EXTERNAL_CLASS('/NULL','Organization_name','/IGNORE',#12); #22 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#15,'/IGNORE',(#8)); #24 = CLASSIFICATION_ASSIGNMENT(#25,(#22),'/IGNORE'); #25 = EXTERNAL_CLASS('/NULL','Owner_of','/IGNORE',#12); #28 = CLASSIFICATION_ASSIGNMENT(#29,(#3),'/IGNORE'); #29 = EXTERNAL_CLASS('/NULL','Required_condition','/IGNORE',#30); #30 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample','/IGNORE');
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_invocation(task_step_id='25', task_step_id_class_name='Task_step_identification_code', task_step_id_ecl_id='urn:plcs:rdl:std', task_step_org_id='The Bike Company Ltd', task_step_org_id_class_name='Organization_name', task_step_org_id_ecl_id='urn:plcs:rdl:std', task_step_category='Required_condition', task_step_category_ecl_id='urn:plcs:rdl:sample', invoked_task_method='#6')/


Figure 4 —  Instantiation of representing_task_invocation template

Figure 4 —  Instantiation of representing_task_invocation template

Characterizations
No common characterizations of the template representing_task_invocation have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: representing_task_element_state_relationship (Short name: rep_task_elem_state_rel)

This section specifies the template representing_task_element_state_relationship.

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 relationship between a task element and a defined state.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_task_element_state_relationship". The text highlighted in blue shows the template parameters.


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

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

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_task_element_state_relationship template

Figure 2 —  The graphical representation of the representing_task_element_state_relationship template

Input parameters
The following input parameters are defined for this template:
rel_type (Type='CLASS')
The name of the External_class being used to categorize the relationship.
The following classes and their sub-classes can be used:
classifications: "Task_element_state_relationship" (urn:plcs:rdl:std:Task_element_state_relationship)
rel_type_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the External_class referenced by the parameter @rel_type.
task_element (Type= 'ENTITY (Task_element)' )
The Task_element that is related to a state.
state (Type= 'SELECT (state_or_state_definition_select)' )
The State or State_definition that is related to the Task_element entity instance.
Reference parameters
The following reference parameters are defined for this template:
task_elem_state_rel(Type='ENTITY (Task_element_state_relationship)')
Allow the Task_element_state_relationship entity instantiated in this path to be referenced when this template is used.
Note: The Task_element_state_relationship entity can be referenced in a template path by:
%^target = $representing_task_element_state_relationship.task_elem_state_rel%
where target is the parameter to which the Task_element_state_relationship is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Task element state relationship
Each instance of the entity (Task_element_state_relationship) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_task_element_state_relationship) namely: rel_type, rel_type_ecl_id, task_element, state.
The instance is referenced by the following template parameter: task_elem_state_rel.
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 Reading Capability Templates help section.
Task_element_state_relationship
%^task_elem_state_rel = Task_element_state_relationship%
Task_element_state_relationship.task_element -> @task_element
Task_element_state_relationship.state -> @state

-- provide the role of the relationship by classifying it
/assigning_reference_data(
    items=^task_elem_state_rel,
    class_name=@rel_type,
    ecl_id=@rel_type_ecl_id)/
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_element_state_relationship(rel_type='Subtask_objective_state', rel_type_ecl_id='urn:plcs:rdl:sample', task_element='#1', state='#2')/
(an illustration of the consolidated representing_task_element_state_relationship template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_task_element_state_relationship template

Figure 3 —  Entities instantiated by representing_task_element_state_relationship template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#1 = TASK_STEP('/IGNORE','/IGNORE','/IGNORE','/IGNORE',$); #2 = STATE_DEFINITION('/IGNORE','/IGNORE'); #3 = TASK_ELEMENT_STATE_RELATIONSHIP(#2,#1); #5 = CLASSIFICATION_ASSIGNMENT(#6,(#3),'/IGNORE'); #6 = EXTERNAL_CLASS('/NULL','Subtask_objective_state','/IGNORE',#7); #7 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample','/IGNORE');
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_element_state_relationship(rel_type='Subtask_objective_state', rel_type_ecl_id='urn:plcs:rdl:sample', task_element='#1', state='#2')/


Figure 4 —  Instantiation of representing_task_element_state_relationship template

Figure 4 —  Instantiation of representing_task_element_state_relationship template

Characterizations
No common characterizations of the template representing_task_element_state_relationship have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: representing_task_element_constraint (Short name: rep_task_elem_const)

This section specifies the template representing_task_element_constraint.

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 constraint between two task elements within a certain context, i.e. a time lag between element steps.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_task_element_constraint". The text highlighted in blue shows the template parameters.


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

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

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_task_element_constraint template

Figure 2 —  The graphical representation of the representing_task_element_constraint template

Input parameters
The following input parameters are defined for this template:
relating_method (Type= 'ENTITY (Task_element)' )
The Task_element which relates to another Task_element.
related_method (Type= 'ENTITY (Task_element)' )
The Task_element that is being related.
applies_in (Type= 'SELECT (constraint_context)' )
The Task_element or Task_method_version that defines the context within which this constraint applies.
constraint_category (Type='CLASS')
Subclass of "Element constraint" (urn:plcs:rdl:std:Element constraint)
The following classes and their sub-classes can be used:
classifications: "Element_constraint" (urn:plcs:rdl:std:Element_constraint)
constraint_cat_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 @constraint_category.
Reference parameters
The following reference parameters are defined for this template:
elem_const(Type='ENTITY (Element_constraint)')
Allow the Element_constraint entity instantiated in this path to be referenced when this template is used.
Note: The Element_constraint entity can be referenced in a template path by:
%^target = $representing_task_element_constraint.elem_const%
where target is the parameter to which the Element_constraint is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Element constraint
Each instance of the entity (Element_constraint) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_task_element_constraint) namely: relating_method, related_method, applies_in, constraint_category, constraint_cat_ecl_id.
The instance is referenced by the following template parameter: elem_const.
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 Reading Capability Templates help section.
Element_constraint
%^elem_const = Element_constraint%
Element_constraint.name = '/IGNORE'
Element_constraint.description = '/IGNORE'
Element_constraint.relating_method -> @relating_method
Element_constraint.related_method -> @related_method
Element_constraint.applies_in -> @applies_in

-- provide the role of the realization by classifying the Task_method_version_relationship
/assigning_reference_data(
    items=^elem_const,
    class_name=@constraint_category,
    ecl_id=@constraint_cat_ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Element_constraint.name '/IGNORE' Activity_method_relationship.name
Element_constraint.description '/IGNORE' Activity_method_relationship.description
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_element_constraint(relating_method='#3', related_method='#2', applies_in='#1', constraint_category='Start', constraint_cat_ecl_id='urn:plcs:rdl:sample')/
(an illustration of the consolidated representing_task_element_constraint template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_task_element_constraint template

Figure 3 —  Entities instantiated by representing_task_element_constraint template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#1 = TASK_ELEMENT_SEQUENCE('/IGNORE','/IGNORE','/IGNORE','/IGNORE',$,(#2,#3)); #2 = TASK_STEP('/IGNORE','/IGNORE','/IGNORE','/IGNORE',$); #3 = TASK_STEP('/IGNORE','/IGNORE','/IGNORE','/IGNORE',$); #4 = ELEMENT_CONSTRAINT($,$,#3,#2,#1); #6 = CLASSIFICATION_ASSIGNMENT(#7,(#4),'/IGNORE'); #7 = EXTERNAL_CLASS('/NULL','Start','/IGNORE',#8); #8 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample','/IGNORE');
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_element_constraint(relating_method='#3', related_method='#2', applies_in='#1', constraint_category='Start', constraint_cat_ecl_id='urn:plcs:rdl:sample')/


Figure 4 —  Instantiation of representing_task_element_constraint template

Figure 4 —  Instantiation of representing_task_element_constraint template

Characterizations
No common characterizations of the template representing_task_element_constraint have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: representing_task_method_state_relationship (Short name: rep_task_state_rel)

This section specifies the template representing_task_method_state_relationship.

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 relationship between a task and a defined state.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_task_method_state_relationship". The text highlighted in blue shows the template parameters.


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

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

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_task_method_state_relationship template

Figure 2 —  The graphical representation of the representing_task_method_state_relationship template

Input parameters
The following input parameters are defined for this template:
rel_type (Type='CLASS')
The name of the External_class being used to categorize the relationship.
The following classes and their sub-classes can be used:
classifications: "Task_method_state_relationship" (urn:plcs:rdl:std:Task_method_state_relationship)
rel_type_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the External_class referenced by the parameter @rel_type.
task_method (Type= 'ENTITY (Task_method_version)' )
The Task_method_version that is related to a state.
state (Type= 'SELECT (state_or_state_definition_select)' )
The State or State_definition that is related to the Task_method_version entity instance.
Reference parameters
The following reference parameters are defined for this template:
task_method_state_rel(Type='ENTITY (Task_method_state_relationship)')
Allow the Task_method_state_relationship entity instantiated in this path to be referenced when this template is used.
Note: The Task_method_state_relationship entity can be referenced in a template path by:
%^target = $representing_task_method_state_relationship.task_method_state_rel%
where target is the parameter to which the Task_method_state_relationship is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Task method state relationship
Each instance of the entity (Task_method_state_relationship) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_task_method_state_relationship) namely: rel_type, rel_type_ecl_id, task_method, state.
The instance is referenced by the following template parameter: task_method_state_rel.
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 Reading Capability Templates help section.
Task_method_state_relationship
%^task_method_state_rel = Task_method_state_relationship%
Task_method_state_relationship.task_method -> @task_method
Task_element_state_relationship.state -> @state

-- provide the role of the relationship by classifying it
/assigning_reference_data(
    items=^task_method_state_rel,
    class_name=@rel_type,
    ecl_id=@rel_type_ecl_id)/
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_method_state_relationship(rel_type='Task_objective_state', rel_type_ecl_id='urn:plcs:rdl:sample', task_method='#1', state='#2')/
(an illustration of the consolidated representing_task_method_state_relationship template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_task_method_state_relationship template

Figure 3 —  Entities instantiated by representing_task_method_state_relationship template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#1 = TASK_METHOD_VERSION('/IGNORE','/IGNORE','/IGNORE','/IGNORE',$,$); #2 = STATE_DEFINITION('/IGNORE','/IGNORE'); #3 = TASK_METHOD_STATE_RELATIONSHIP(#2,#1); #5 = CLASSIFICATION_ASSIGNMENT(#6,(#3),'/IGNORE'); #6 = EXTERNAL_CLASS('/NULL','Task_objective_state','/IGNORE',#7); #7 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample','/IGNORE');
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_method_state_relationship(rel_type='Task_objective_state', rel_type_ecl_id='urn:plcs:rdl:sample', task_method='#1', state='#2')/


Figure 4 —  Instantiation of representing_task_method_state_relationship template

Figure 4 —  Instantiation of representing_task_method_state_relationship template

Characterizations
No common characterizations of the template representing_task_method_state_relationship have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: assigning_task_element (Short name: asg_task_elem)

This section specifies the template assigning_task_element.

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 the assignment of a Task_element to another item in the model.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "assigning_task_element". The text highlighted in blue shows the template parameters.


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

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

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 assigning_task_element template

Figure 2 —  The graphical representation of the assigning_task_element template

Input parameters
The following input parameters are defined for this template:
task_element (Type= 'ENTITY (Task_element)' )
The Task_element which is assigned to something else (task_item).
items (Type= 'SELECT (task_item)' )
The target of the assignment, i.e. the entity instance that the Task_element is assigned to.
role (Type='CLASS')
The name of the External_class used to classify the "Task element assignment" (urn:plcs:rdl:std:Task element assignment)
The following classes and their sub-classes can be used:
classifications: "Task_element_assignment" (urn:plcs:rdl:std:Task_element_assignment)
role_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the External_class referenced by the parameter @role.
Reference parameters
The following reference parameters are defined for this template:
task_elem_asg(Type='ENTITY (Task_element_assignment)')
Allow the Task_element_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Task_element_assignment entity can be referenced in a template path by:
%^target = $assigning_task_element.task_elem_asg%
where target is the parameter to which the Task_element_assignment is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Task element assignment
Each instance of the entity (Task_element_assignment) within the data set shall be uniquely identified by a combination of the following parameters on this template (assigning_task_element) namely: task_element, items, role, role_ecl_id.
The instance is referenced by the following template parameter: task_elem_asg.
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 Reading Capability Templates help section.
Task_element_assignment
%^task_elem_asg = Task_element_assignment%
Task_element_assignment.role = '/IGNORE'
Task_element_assignment.assigned_activity_method -> @task_element
Task_element_assignment.items -> @items

-- provide the role of the realization by classifying the Task_method_version_relationship
/assigning_reference_data(
    items=^task_elem_asg,
    class_name=@role,
    ecl_id=@role_ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Task_element_assignment.role '/IGNORE' Applied_activity_method_assignment.role
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_task_element(task_element='#61', items='#29', role='Subtask_target_item', role_ecl_id='urn:plcs:rdl:sample')/
(an illustration of the consolidated assigning_task_element template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by assigning_task_element template

Figure 3 —  Entities instantiated by assigning_task_element template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#2 = TASK_ELEMENT_ASSIGNMENT(#61,(#29),'/IGNORE'); #4 = CLASSIFICATION_ASSIGNMENT(#5,(#2),'/IGNORE'); #5 = EXTERNAL_CLASS('/NULL','Subtask_target_item','/IGNORE',#6); #6 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample','/IGNORE'); #8 = BREAKDOWN_ELEMENT('/IGNORE','/IGNORE','/IGNORE'); #10 = IDENTIFICATION_ASSIGNMENT('Circuit breaker','/IGNORE','/IGNORE',(#8)); #12 = CLASSIFICATION_ASSIGNMENT(#13,(#10),'/IGNORE'); #13 = EXTERNAL_CLASS('/NULL','Breakdown_element_identification_code','/IGNORE',#14); #14 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std','/IGNORE'); #17 = ORGANIZATION('/IGNORE','/IGNORE'); #19 = IDENTIFICATION_ASSIGNMENT($,'/IGNORE','/IGNORE',(#17)); #21 = CLASSIFICATION_ASSIGNMENT(#22,(#19),'/IGNORE'); #22 = EXTERNAL_CLASS('/NULL','Organization_name','/IGNORE',#14); #24 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#17,'/IGNORE',(#10)); #26 = CLASSIFICATION_ASSIGNMENT(#27,(#24),'/IGNORE'); #27 = EXTERNAL_CLASS('/NULL','Owner_of','/IGNORE',#14); #29 = BREAKDOWN_ELEMENT_VERSION('/IGNORE','/IGNORE',#8); #31 = IDENTIFICATION_ASSIGNMENT('Unknown','/IGNORE','/IGNORE',(#29)); #33 = CLASSIFICATION_ASSIGNMENT(#34,(#31),'/IGNORE'); #34 = EXTERNAL_CLASS('/NULL','Version_identification_code','/IGNORE',#14); #38 = ORGANIZATION('/IGNORE','/IGNORE'); #40 = IDENTIFICATION_ASSIGNMENT('Unknown','/IGNORE','/IGNORE',(#38)); #42 = CLASSIFICATION_ASSIGNMENT(#22,(#40),'/IGNORE'); #45 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#38,'/IGNORE',(#31)); #47 = CLASSIFICATION_ASSIGNMENT(#27,(#45),'/IGNORE'); #50 = BREAKDOWN_ELEMENT_DEFINITION('/IGNORE','/IGNORE','/IGNORE',#51,(),#29); #51 = VIEW_DEFINITION_CONTEXT('/IGNORE','/IGNORE','/IGNORE'); #53 = CLASSIFICATION_ASSIGNMENT(#54,(#51),'/IGNORE'); #54 = EXTERNAL_CLASS('/NULL','Support_stage','/IGNORE',#14); #57 = CLASSIFICATION_ASSIGNMENT(#58,(#51),'/IGNORE'); #58 = EXTERNAL_CLASS('/NULL','Product_life_cycle_support','/IGNORE',#14); #60 = BREAKDOWN_CONTEXT('/IGNORE','/IGNORE','/IGNORE',$,#50); #61 = TASK_STEP($,'Turn on electrical switch.',$,$,$);
The instance model in STEP XML exchange file format (ISO 10303 Part 28 ed.2 syntax) is:
<ap239:uos
  xsi:schemaLocation="urn:iso10303-28:xs/Product_life_cycle_support arm_lf_p28xsd.xsd">
  <ap239:Task_element_assignment
    id="i2">
    <Assigned_activity_method>
      <ap239:Task_step
        ref="i61"
        xsi:nil="true">
    </Assigned_activity_method>
    <Items>
      <ap239:Breakdown_element_version
        ref="i29"
        xsi:nil="true">
    </Items>
    <Role/>
  </ap239:Task_element_assignment>
  <ap239:Classification_assignment
    id="i4">
    <Assigned_class>
      <ap239:External_class
        ref="i5"
        xsi:nil="true">
    </Assigned_class>
    <Items>
      <ap239:Task_element_assignment
        ref="i2"
        xsi:nil="true">
    </Items>
    <Role/>
  </ap239:Classification_assignment>
  <ap239:External_class
    id="i5">
    <Id/>
    <Name/>
    <Description/>
    <External_source>
      <ap239:External_class_library
        ref="i6"
        xsi:nil="true">
    </External_source>
  </ap239:External_class>
  <ap239:External_class_library
    id="i6">
    <Id/>
    <Description/>
  </ap239:External_class_library>
  <ap239:Breakdown_element
    id="i8">
    <Id/>
    <Name/>
    <Description/>
  </ap239:Breakdown_element>
  <ap239:Identification_assignment
    id="i10">
    <Identifier/>
    <Role/>
    <Description/>
    <Items>
      <ap239:Breakdown_element
        ref="i8"
        xsi:nil="true">
    </Items>
  </ap239:Identification_assignment>
  <ap239:Classification_assignment
    id="i12">
    <Assigned_class>
      <ap239:External_class
        ref="i13"
        xsi:nil="true">
    </Assigned_class>
    <Items>
      <ap239:Identification_assignment
        ref="i10"
        xsi:nil="true">
    </Items>
    <Role/>
  </ap239:Classification_assignment>
  <ap239:External_class
    id="i13">
    <Id/>
    <Name/>
    <Description/>
    <External_source>
      <ap239:External_class_library
        ref="i14"
        xsi:nil="true">
    </External_source>
  </ap239:External_class>
  <ap239:External_class_library
    id="i14">
    <Id/>
    <Description/>
  </ap239:External_class_library>
  <ap239:Organization
    id="i17">
    <Id/>
    <Name/>
  </ap239:Organization>
  <ap239:Identification_assignment
    id="i19">
    <Identifier/>
    <Role/>
    <Description/>
    <Items>
      <ap239:Organization
        ref="i17"
        xsi:nil="true">
    </Items>
  </ap239:Identification_assignment>
  <ap239:Classification_assignment
    id="i21">
    <Assigned_class>
      <ap239:External_class
        ref="i22"
        xsi:nil="true">
    </Assigned_class>
    <Items>
      <ap239:Identification_assignment
        ref="i19"
        xsi:nil="true">
    </Items>
    <Role/>
  </ap239:Classification_assignment>
  <ap239:External_class
    id="i22">
    <Id/>
    <Name/>
    <Description/>
    <External_source>
      <ap239:External_class_library
        ref="i14"
        xsi:nil="true">
    </External_source>
  </ap239:External_class>
  <ap239:Organization_or_person_in_organization_assignment
    id="i24">
    <Assigned_entity>
      <ap239:Organization
        ref="i17"
        xsi:nil="true">
    </Assigned_entity>
    <Role/>
    <Items>
      <ap239:Identification_assignment
        ref="i10"
        xsi:nil="true">
    </Items>
  </ap239:Organization_or_person_in_organization_assignment>
  <ap239:Classification_assignment
    id="i26">
    <Assigned_class>
      <ap239:External_class
        ref="i27"
        xsi:nil="true">
    </Assigned_class>
    <Items>
      <ap239:Organization_or_person_in_organization_assignment
        ref="i24"
        xsi:nil="true">
    </Items>
    <Role/>
  </ap239:Classification_assignment>
  <ap239:External_class
    id="i27">
    <Id/>
    <Name/>
    <Description/>
    <External_source>
      <ap239:External_class_library
        ref="i14"
        xsi:nil="true">
    </External_source>
  </ap239:External_class>
  <ap239:Breakdown_element_version
    id="i29">
    <Id/>
    <Description/>
    <Of_product>
      <ap239:Breakdown_element
        ref="i8"
        xsi:nil="true">
    </Of_product>
  </ap239:Breakdown_element_version>
  <ap239:Identification_assignment
    id="i31">
    <Identifier/>
    <Role/>
    <Description/>
    <Items>
      <ap239:Breakdown_element_version
        ref="i29"
        xsi:nil="true">
    </Items>
  </ap239:Identification_assignment>
  <ap239:Classification_assignment
    id="i33">
    <Assigned_class>
      <ap239:External_class
        ref="i34"
        xsi:nil="true">
    </Assigned_class>
    <Items>
      <ap239:Identification_assignment
        ref="i31"
        xsi:nil="true">
    </Items>
    <Role/>
  </ap239:Classification_assignment>
  <ap239:External_class
    id="i34">
    <Id/>
    <Name/>
    <Description/>
    <External_source>
      <ap239:External_class_library
        ref="i14"
        xsi:nil="true">
    </External_source>
  </ap239:External_class>
  <ap239:Organization
    id="i38">
    <Id/>
    <Name/>
  </ap239:Organization>
  <ap239:Identification_assignment
    id="i40">
    <Identifier/>
    <Role/>
    <Description/>
    <Items>
      <ap239:Organization
        ref="i38"
        xsi:nil="true">
    </Items>
  </ap239:Identification_assignment>
  <ap239:Classification_assignment
    id="i42">
    <Assigned_class>
      <ap239:External_class
        ref="i22"
        xsi:nil="true">
    </Assigned_class>
    <Items>
      <ap239:Identification_assignment
        ref="i40"
        xsi:nil="true">
    </Items>
    <Role/>
  </ap239:Classification_assignment>
  <ap239:Organization_or_person_in_organization_assignment
    id="i45">
    <Assigned_entity>
      <ap239:Organization
        ref="i38"
        xsi:nil="true">
    </Assigned_entity>
    <Role/>
    <Items>
      <ap239:Identification_assignment
        ref="i31"
        xsi:nil="true">
    </Items>
  </ap239:Organization_or_person_in_organization_assignment>
  <ap239:Classification_assignment
    id="i47">
    <Assigned_class>
      <ap239:External_class
        ref="i27"
        xsi:nil="true">
    </Assigned_class>
    <Items>
      <ap239:Organization_or_person_in_organization_assignment
        ref="i45"
        xsi:nil="true">
    </Items>
    <Role/>
  </ap239:Classification_assignment>
  <ap239:Breakdown_element_definition
    id="i50">
    <Id/>
    <Name/>
    <Additional_characterization/>
    <Initial_context>
      <ap239:View_definition_context
        ref="i51"
        xsi:nil="true">
    </Initial_context>
    <Additional_contexts/>
    <Defined_version>
      <ap239:Breakdown_element_version
        ref="i29"
        xsi:nil="true">
    </Defined_version>
  </ap239:Breakdown_element_definition>
  <ap239:View_definition_context
    id="i51">
    <Application_domain/>
    <Life_cycle_stage/>
    <Description/>
  </ap239:View_definition_context>
  <ap239:Classification_assignment
    id="i53">
    <Assigned_class>
      <ap239:External_class
        ref="i54"
        xsi:nil="true">
    </Assigned_class>
    <Items>
      <ap239:View_definition_context
        ref="i51"
        xsi:nil="true">
    </Items>
    <Role/>
  </ap239:Classification_assignment>
  <ap239:External_class
    id="i54">
    <Id/>
    <Name/>
    <Description/>
    <External_source>
      <ap239:External_class_library
        ref="i14"
        xsi:nil="true">
    </External_source>
  </ap239:External_class>
  <ap239:Classification_assignment
    id="i57">
    <Assigned_class>
      <ap239:External_class
        ref="i58"
        xsi:nil="true">
    </Assigned_class>
    <Items>
      <ap239:View_definition_context
        ref="i51"
        xsi:nil="true">
    </Items>
    <Role/>
  </ap239:Classification_assignment>
  <ap239:External_class
    id="i58">
    <Id/>
    <Name/>
    <Description/>
    <External_source>
      <ap239:External_class_library
        ref="i14"
        xsi:nil="true">
    </External_source>
  </ap239:External_class>
  <ap239:Breakdown_context
    id="i60">
    <Id/>
    <Name/>
    <Description/>
    <Breakdown>
      <ap239:Breakdown_version
        xsi:nil="true">
    </Breakdown>
    <Breakdown_element>
      <ap239:Breakdown_element_definition
        ref="i50"
        xsi:nil="true">
    </Breakdown_element>
  </ap239:Breakdown_context>
  <ap239:Task_step
    id="i61">
    <Name/>
    <Description/>
    <Purpose/>
  </ap239:Task_step>
</ap239:uos>
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:
/assigning_task_element(task_element='#61', items='#29', role='Subtask_target_item', role_ecl_id='urn:plcs:rdl:sample')/


Figure 4 —  Instantiation of assigning_task_element template

Figure 4 —  Instantiation of assigning_task_element template

Characterizations
The following section details how the assigning_task_element 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 Task_element_assignment was instantiated can be represented by assigning a date using the assigning_calendar_date template with the Date_time being classified as a type of "Date actual creation" (urn:plcs:rdl:std:Date actual creation).

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

Related capabilities

This capability "Representing a Task" is related to the following capabilities:

Model reference data

The following classes of reference data are required for this capability:

Task_method_identification_code(urn:plcs:rdl:std:Task_method_identification_code)
A Task_method_identification_code is an Activity_method_identification_code that identifies a Task_method. EXAMPLE: The identification according to the AECMA S1000D task numbering procedures. CONSTRAINT: An Identification_assignment classified as a Task_method_identification_code can only be assigned to a Task_method or its subclasses.
Version_identification_code(urn:plcs:rdl:std:Version_identification_code)
A Version_identifcation_code is a Progression_identifcation_code that identifies a particular version of an item in a series of versions. NOTE: The code is normally sequential. CONSTRAINT: An Identification_assignment classified as a Version_identification_code can only be assigned to a Product_version or its sub classes, Task_method_version, Scheme_version

© OASIS 2010 — All rights reserved