Capability (C059):— representing_work_output Date: 2012/05/23 17:33:14
Revision: 1.8

Business Overview

WORK_OUTPUT is used to describe two sorts of things: the outputs from doing something, and the usage of a product. These may be specifications in advance of doing it, or be part of the record of what was actually done. The thing produced may be a PART, a resource or a DOCUMENT. The thing used may be a PART, person (for example, the record of on-duty hours) or ORGANIZATION. WORK_OUTPUT also associated additional information with the output, including the quantity of the output.

WORK_OUTPUT is not used to specify those things which are the subject of the work, such as the PRODUCT being maintained, which is specified as part of the TASK or ACTIVITY description. It is also not used to specify outputs from a resource, such as the power ouput of a generator - this is part of the specification of the resource itself.

When used with a TASK description, it is used to specify any by-products of doing the task, including spares to be returned to stores, waste materials, documentation collected such as pilot's logs or data files downloaded, etc,. It aslo specifies predicted or budgeted usage.

When an ACTIVITY records a PRODUCT having been used, WORK_OUTPUT is used to record that usage. It may also be associated to the operorators, to record their hours on duty, exposure to environmental stresses, etc. and to the organisation, for example for cost collection.

Information Model

The information model, shown in Figure 1, consists of three entities. WORK_OUTPUT is a named output, together with an optional quantity, and an optional link to a full model of the output. WORK_OUTPUT_RELATIONSHIP is used to relate one WORK_OUTPUT to another, and WORK_OUTPUT_ASSIGNMENT relates the output to the TASK or ACTIVITY that creates the output. All three entities may be classified and support multi-lingualism, but only WORK_OUTPUT itself is further characterized.



Figure 1 —  Information Model

Figure 1 —  Information Model

Although the model provides the ability to assign an identifier to the WORK_OUTPUT, this is not used for cross-references to the ouput in a distributed environment, and WORK_OUTPUT is accessed as an assigned attribute of the TASK or ACTIVITY it is associated to.

The definition of WORK_ITEM to include the ACTIVITY entities, EVENT and SCHEME is done at the level of AP239_WORK_DEFINITION (as indicated in figure 1 by the asterisk). OBSERVED_CONTEXT is assigned in AP239_ACTIVITY_RECORDING. All other characterizations and select type extensions are done though AP239_TASK_SPECIFICATION_RESOURCED.

A WORK_OUTPUT is records either the thing resulting from doing something, or the usage of something. The abstract reference data class, PLCS-work-output-role is provided as the superclass of PLCS-wo-result or PLCS-wo-usage and such a classification is always required. In the case of a result, the thing resulting is specified as the WORK_OUTPUT_ITEM.

Usage is always recorded against the assignment of the ACTIVITY or TASK to the thing being used. This is done by applying WORK_OUTPUT_ASSIGNMENT to the APPLIED_ACTIVITY_ASSIGNMENT and APPLIED_ACTIVITY_METHOD_ASSIGNMENT which links the thing to the ACTIVITY or TASK. It is also possible to assign a SCHEME using APPLIED_ACTIVITY_METHOD_ASSIGNMENT and use WORK_OUTPUT to specify a usage, however it is recommended that this isuage is restricted to recording summary information (see REPRESENTING_SCHEME).

The following sections consider the use of the model in two sections of contrasts: usage v. output and specified v. actual.

Usage v. Output

A usage is specified by assigning the WORK_OUTPUT_ASSIGNMENT to an APPLIED_ACTIVITY_ASSIGNMENT or an APPLIED_ACTIVITY_METHOD_ASSIGNMENT. APPLIED_ACTIVITY_ASSIGNMENT associates an ACTIVITY to something, and is not further subtyped. APPLIED_ACTIVITY_METHOD_ASSIGNMENT applies an ACTIVITY_METHOD to something, and is subtyped to SCHEME_SUBJECT_ASSIGNMENT, SCHEME_ENTRY_ASSIGNMENT, TASK_ASSIGNMENT and TASK_METHOD_ASSIGNMENT. Further, ACTIVITY may be subtyped to ACTIVITY_ACTUAL, to prove the context of an historic record.

The meaning of this structure is that the associated ITEM undegoes (or underwent) the specificed usage when the ACTIVITY, ACTIVITY_METHOD, TASK, SCHEME, etc occurs. Note, the WORK_OUTPUT.OUTPUT_ITEM is left unassigned. Figure 2 shows the case where a TASK uses 1 hour running time to test the PART.



Figure 2 —  Instance Diagram of Usage

Figure 2 —  Instance Diagram of Usage

#1=WORK_OUTPUT('Engine Usage', 'Amount of engine usage durring task', #2, $);
#2=NUMERICAL_ITEM_WITH_UNIT('time run', #3, ANY_NUMERIC_VALUE(1.0));
#3=UNIT('Hour', .F.);
#4=WORK_OUTPUT_ASSIGNMENT(#1, #9);
#6=CLASSIFICATION_ASSIGNMENT(#7, (#1), $);
#7=EXTERNAL_CLASS('PLCS-wo-usage', 'Work output as usage', 'Records usage rather than an output', #8);
#8=EXTERNAL_CLASS_LIBRARY('http://www.plcsorg.org', 'Standard PLCS reference data library');
#9=TASK_ASSIGNMENT(#10, (#11), '');
#10=TASK('Engine Test', 'Run engine for an hour and look for faults', $, 'Show engine is working properly', $, $);
#11=PART('P123', 'Engine', 'Propulsion unit');
#12=CLASSIFICATION_ASSIGNMENT(#13, (#9), $);
#13=EXTERNAL_CLASS('PLCS-ta-allocated-product', 'Allocated Product', 'Product which the task maintains', #8);
		

WORK_OUTPUT is not used for budgetary information, such as expected time to do a TASK, as these are defined by the properties of TASK. Where WORK_OUTPUT is used to record operator hours, this is only in the context where these hours are regulated, such as the number of hours a pilot is aollowed to fly.

An output is specified by assigning the WORK_OUTPUT_ASSIGNMENT to a TASK, TASK_METHOD, ACTIVITY_METHOD, EVENT, SCHEME or SCHEME_ENTRY which causes the output, and assigning WORK_OUTPUT.OUPUT_ITEM to the thing output. Figure 3 shows the output of waste material as the expected result of a TASK.

Where the output item is a DOCUMENT, DOCUMENT_VERSION, FILE, or RESOURCE_ITEM, it means that the item is output as a result of performing the activity.

[[proposal]] Where the output Item is a PART, PART_VERSION or PRODUCT_AS_INDIVIDUAL, the usage is restricted to the case where activity creates a new object, possibly as the result of modifying an existing object, but including the case where a PART is scrapped. [[See Representing_product_as_individual/issues]] PARTS replaced or repaired as specified though the normally asssignments to TASK, ACTIVITY etc., rather than as WORK_OUTPUT. Parts returned into the pool as spares (perhaps with a limited life, or in need of further work) are also identified through these relations, rather than as a WORK_OUTPUT. Here WORK_OUTPUT is restricted to new items.

[[nfi]]The output of a DOCUMENT_DEFINITION, ORGANIZATION, ORGANIZATION_TYPE, PERSON, PERSON_IN_ORGANIZATION, POSITION, POSITION_TYPE, PRODUCT_GROUP or TYPE_OF_PERSON is undefined in this version of the capability.

Specified v. Actual

The current definitions cover only specified usage. The decisions on how to record actual usage will be made in conjuction with the REPORT ACTIVITY_PROGRESS capability.

The question considered here is whether the WORK_OUTPUT is specified in advance, either as required or predicted, or whether it is a record of what actually occurred. The simplest illustration is where a WORK_OUTPUT is associated to an ACTIVITY_ACTUAL, which follows a chosen method which specifies the predicted output. This is shown in figure 3.



Figure 3 —  Instance Diagram of Work Output

Figure 3 —  Instance Diagram of Work Output

#1=WORK_OUTPUT('Actual ouput', 'Actual product resulting', $, #8);
#2=PART('A123', 'Example Part', 'Design of Part A123');
#3=WORK_OUTPUT_ASSIGNMENT(#1, #4);
#4=ACTIVITY_ACTUAL('X321', 'Replace part', 'Replace part A123 on machine PQR', #5);
#5=ACTIVITY_METHOD('How to replace A123', 'Take of old A123 and put on new A123', 'XYZ works', 'Put new A123 on machine XYZ');
#6=WORK_OUTPUT_ASSIGNMENT(#7, #5);
#7=WORK_OUTPUT('Predicted output', 'Example of predicted output', $, #2);
#8=PRODUCT_AS_INDIVIDUAL('sn45', 'Example part instance', #2);
#9=CLASSIFICATION_ASSIGNMENT(#10, (#1,#7), '');
#10=EXTERNAL_CLASS('PLCS-wo-result', 'Work Output Result', 'Output is a result, not a usage.', #11);
#11=EXTERNAL_CLASS_LIBRARY('http://www.plcsorg.org', $);
#12=CLASSIFICATION_ASSIGNMENT(#13, (#7), $);
#13=EXTERNAL_CLASS('PLCS-predicted', 'Predicted entity', 'For something which is predicted or has been predicted', #11);
#14=CLASSIFICATION_ASSIGNMENT(#15, (#1), $);
#15=EXTERNAL_CLASS('PLCS-actual', 'Actual (record of) something', 'Used to distinguish an actual occurance from a predicted occurance', #11);		
		

In this abbreviated example, the ACTIVITY_METHOD is predicted to output a part A123, and the ACTIVITY_ACTUAL which uses the method actually does output serial number 45 of Part A123.

A more extended discussion of how WORK_OUTPUT is report will be done in a later version, in conjuction with REPORT_ACTIVITY_PROGRESS.

Characterizations

All the entities can be classified. Only WORK_OUTPUT has further characterizations. In some cases, the characterizations need to be considered in the four contexts arrising from the combinations of Output v. Usage and Specified v. Actual.

A WORK_OUTPUT may be approved, as described in the capability ASSIGNING_APPROVALS. Where a TASK, SCHEME, ACTIVITY etc. reslts in a particular WOR_OUTPUT, then it it the TASK, SCHEME, etc that is approved, not the WORK_OUTPUT. In general, specified WORK_OUTPUTs are not APPROVED. A WORK_OUTPUT recording an actual result or usage may have an APPROVAL to confirm that the output is as stated. the role of the APPROVAL_ASSIGNMENT is [[PLCS-confirmed]].

A WORK_OUTPUT may have a CERTIFICATION. The usage of this is TBS.

A WORK_OUTPUT may be assigned a process property as described in ASSIGNING_PROCESS_PROPERTIES. No particular propoerties are defined by this capability.

A WORK_OUTPUT may have a DATE_OR_DATE_TIME applied, as described in ASSIGNING_DATE_TIME. This assignment is not used in conjunction with specified outputs, but only with actual outputs, as recording the time the output occurred. Tha abstract reference data class PLCS-work-output-date-time is provided, which is subclassed to PLCS-wodt-actual.

An identifer may be given to WORK_OUTPUT, as described in the capability ASSIGNING_IDENTIFIERS. There is no requirement to assign an identifier to a WORK_OUTPUT.

A ORGANIZATION_OR_PERSON_IN_ORGANIZATION may be applied to WORK_OUTPUT, as described in REPRESENTING_PERSON_ORGANZATION. The abstract reference data class PLCS-work-output-person-organization is provided as the root class for the role of this assignment. Such an assignment is used only in recording actual outputs. The reference data classes PLCS-wopo-measured-by and PLCS-wopo-recorded-by are subclasses of PLCS-work-output-person-organization and are used to classify the role of this assignment.

A SECURITY_CLASSIFICATION may be applied to WORK_OUTPUT. The scope of the classification is the WORK_OUTPUT itself, any WORK_OUTPUT_RELATIONSHIP referencing the WORK_OUTPUT, any WORK_OUTPUT_ASSIGNMENT referencing the WORK_OUTPUT, and any assignments of characterizations to the WORK_OUTPUT. The WORK_OUTPUT_ITEM, WORK_ITEM and the actual characterization data are not themselves subject to the classification.

An OBSERVED_CONTEXT may be associated to a WORK_OUTPUT. This has the meaning that the OBSERVATION made is made in the context of the particular output, rather than in the way the output is generated.

Relationships

The relationship WORK_OUTPUT_RELATIONSHIP is used to relate one WORK_OUTPUT to another. The abstract reference data class PLCS-work_output_reln_role is used to define the role of the output. No subclasses are defined in this capability.

Related capabilities

This capability "Representing work output" is related to the following capabilities:

Dependent capabilities

This capability "Representing work output" is dependent on the following capabilities:

© OASIS 2010 — All rights reserved