Capability (C064):— representing_work_done | Date: 2007/06/22 12:22:11 Revision: 1.29 |
This section provides a business level overview of this capability.
This capability allows a record of work done to be maintained.
NOTE The capability C032: representing_activity describes the representation of activities in more detail.
This section provides an overview of the information model that supports this capability.
The information required to represent the work that has been done is summarized in the EXPRESS-G diagram in Figure 1 below and described in the following sections.
NOTE The EXPRESS-G is not complete. For the complete EXPRESS see the modules: Work request, Work request characterized, Work order, Work order characterized, Activity and Activity as realized.
NOTE The capability C032: representing_activity describes the representation of activities in more detail.
The work done is recorded by an Activity_actual. Each Activity_actual is a record of the occurrence of an Activity. The Activity_actual is related through an Activity_happening to the Activity for which it is an occurrence.
The Activity_actual is identified by using Identification_assignment to assign an identifier as described in C001: assigning_identifiers.
If the activity had inputs and outputs, then these are related using the Applied_activity_assignment classified as "Activity input" (urn:plcs:rdl:std:Activity input) or "Activity output" (urn:plcs:rdl:std:Activity output) accordingly.
For example, the work done may be a modification to a Product_as_realized in response to a change directive or technical bulletin. As a modification has been made, a new version of the Product_as_realized will be created. An Applied_activity_assignment, classified as "Activity input" (urn:plcs:rdl:std:Activity input) will therefore relate the Activity_actual to the Product_as_realized representing the product before the change was applied. Another Applied_activity_assignment classified as "Activity output" (urn:plcs:rdl:std:Activity output) will relate the Activity_actual to the Product_as_realized representing the product after the change was applied.
NOTE The change directive would be represented by a Work_order which was the authority to do the change, and an associated Directed_activity which defined the change.
NOTE The method for referencing a Product_as_realized is described in the template representing_product_as_realized.
The work authorized by the Work_order may be decomposed into a series of sub activities, as described in C065: representing_work_order. The decomposition of activities is described in the capability C032: representing_activity. The occurrence of each activity is represented by Activity_actual using Applied_activity_assignment to relate to its inputs and outputs.
In order to collect all the items affected by the work, the Activity_actual that is a record that the top level activity, the Directed_activity, has occurred, should be associated by Applied_activity_assignment to all the input and output items of the sub activities.
If the work done is a change to the configuration status of a Product_as_realized (a new version has been created), then Activity_actual should be classified as "Configuration change" (urn:plcs:rdl:std:Configuration change).
NOTE The associated Work_order which was the authority to do the change, and an associated Directed_activity that describe the change should also be classified as "Configuration change" (urn:plcs:rdl:std:Configuration change) as described in C065: representing_work_order.
Assigning a Person or Organization
The person or organization that performed the activity can be represented by assigning a Person_in_organization or Organization (using the relationship Organization_or_person_in_organization_assignment) to the Activity_actual
NOTE The assignment of a person or organization is described in the capability C016: representing_person_organization.
The Activity_actual can be classified. For example it may be a safety critical activity, a programme critical activity.
The Activity_actual is classified by using Classification_assignment to assign an External_class where the External_class is defined as reference data stored in a reference data library. Reference data is described in the capability: C010: assigning_reference_data
The date when the Activity_actual was started or ended should be represented by assigning a date (using the relationship Date_or_date_time_assignment) to the Activity_actual.
NOTE If both a start and an end date is available both should be represented.
NOTE The assignment of dates is described the capability C036: assigning_date_time.
If there is documentation associated with the activity that was done, such as a log book entry, then a document can be assigned using the Document_assignment relationship as described in template assigning_document to Activity_actual.
There are two aspects to the life cycle of an Activity_actual The first is its approval status. The second is the state of the Activity_actual.
The approval will indicate whether the activity was approved to be done. The representation of approval status is described in capability C019: assigning_approvals.
An instance of an Activity_actual is created as soon as the activity is started. The state is used to represent how much of the activity has been undertaken. This is represented by using State and State_definition as described in the capabilities C007: representing_state_type and C041: representing_state_observed.
An example showing a record of work done to a bike is shown in Figure 2 below.
The work is in response to a technical bulletin or change request and requires a physical modification to the bike.
The authority to do the work is represented by Work_order (#9).
The activity that defined the work that was to be done is represented by Directed_activity (#10).
The record of the activity that was performed is represented by Activity_actual (#11) with the state of the activity, the date when the activity took place and the person who undertook the activity being assigned as shown.
The work was done to an individual bike represented by the instance Product_as_realized (#6). This is related to the Activity_actual (#11) by Applied_activity_assignment (#13). As this is an input to the activity, the Applied_activity_assignment (#13) is classified as "Activity input" (urn:plcs:rdl:std:Activity input).
In this example a change was made to the individual bike, so a new version of the individual bike is recorded as Product_as_realized (#7) and related to the Activity_actual (#11) by Applied_activity_assignment (#16). As this is an output from the activity, the Applied_activity_assignment (#16) is classified as "Activity output" (urn:plcs:rdl:std:Activity output).
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.
This section specifies the template representing_work_done.
NOTE An explanation of a template and the associated instantiation path is provided in the Template overview section.
This template describes how to represent a record of the work done to a product in response to an activity (a Directed_activity) that has been authorized by a Work_order. For further details see capability C065: representing_work_order).
This template is used for tracking authorized activities that have been undertaken.
This template should only be used for activities that are neither performed by a product, or activities, such as configuration change activities, that have been undertaken in response to an activity (a Directed_activity) that has been authorized by a Work_order.
Where the activity is work planned to be done on a product and authorised by a Work_order, the template representing_work_order should be used.
Where the activity is planned to take place some time in the future but is not authorized by a work order i.e. directed, the template representing_planned_activity should be used.
Where the activity is a record of a usage of a product that has taken place, e.g. a sortie flown by an aircraft , the template representing_product_usage should be used.
Where the activity is a record of an activity that has taken place that is neither an authorized activity i.e. not authorized by a Work_order such as part of a directed change or technical bulletin, nor an activity performed by a product the more generic template representing_activity_actual should be used.
target
is the parameter to which the
Activity_actual
is bound.
Entity in path | Value | Inherited from |
Activity_actual.id | '/IGNORE' | Activity.id |
Activity_actual.name | '/IGNORE' | Activity.name |
Activity_actual.description | '/IGNORE' | Activity.description |
Activity_happening.name | '/IGNORE' | Activity_relationship.name |
Activity_happening.description | '/IGNORE' | Activity_relationship.description |
#1 = ACTIVITY_ACTUAL('/IGNORE','/IGNORE','/IGNORE',#144); #3 = IDENTIFICATION_ASSIGNMENT('Repair brakes','/IGNORE',$,(#1)); #5 = CLASSIFICATION_ASSIGNMENT(#6,(#3),'/IGNORE'); #6 = EXTERNAL_CLASS('/IGNORE','Activity_identification_code','/IGNORE',#7); #7 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #9 = ORGANIZATION('/IGNORE','/IGNORE'); #11 = IDENTIFICATION_ASSIGNMENT('BikeRepair Limited','/IGNORE','/IGNORE',(#9,#152,#177,#216)); #13 = CLASSIFICATION_ASSIGNMENT(#14,(#11),'/IGNORE'); #14 = EXTERNAL_CLASS('/IGNORE','Organization_name','/IGNORE',#7); #16 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#9,'/IGNORE',(#3)); #18 = CLASSIFICATION_ASSIGNMENT(#19,(#16),'/IGNORE'); #19 = EXTERNAL_CLASS('/IGNORE','Owner_of','/IGNORE',#7); #22 = DATE_OR_DATE_TIME_ASSIGNMENT(#28,'/IGNORE',(#1)); #24 = CLASSIFICATION_ASSIGNMENT(#25,(#22),'/IGNORE'); #25 = EXTERNAL_CLASS('/IGNORE','Date_actual_start','/IGNORE',#7); #28 = DATE_TIME(#29,#30); #29 = CALENDAR_DATE(2007,1,22); #30 = LOCAL_TIME(13,$,$,#31); #31 = TIME_OFFSET(0,$,.EXACT.); #33 = PRODUCT_AS_INDIVIDUAL('/IGNORE','/IGNORE','/IGNORE'); #35 = IDENTIFICATION_ASSIGNMENT('12375688','/IGNORE',$,(#33)); #37 = CLASSIFICATION_ASSIGNMENT(#38,(#35),'/IGNORE'); #38 = EXTERNAL_CLASS('/IGNORE','Serial_identification_code','/IGNORE',#7); #41 = ORGANIZATION('/IGNORE','/IGNORE'); #43 = IDENTIFICATION_ASSIGNMENT('Crescent','/IGNORE','/IGNORE',(#41)); #45 = CLASSIFICATION_ASSIGNMENT(#14,(#43),'/IGNORE'); #48 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#41,'/IGNORE',(#35)); #50 = CLASSIFICATION_ASSIGNMENT(#19,(#48),'/IGNORE'); #53 = PRODUCT_AS_REALIZED('/IGNORE','/IGNORE',#33); #55 = IDENTIFICATION_ASSIGNMENT('UNKNOWN','/IGNORE',$,(#53)); #57 = CLASSIFICATION_ASSIGNMENT(#58,(#55),'/IGNORE'); #58 = EXTERNAL_CLASS('/IGNORE','Version_identification_code','/IGNORE',#7); #61 = ORGANIZATION('/IGNORE','/IGNORE'); #63 = IDENTIFICATION_ASSIGNMENT('UNKNOWN','/IGNORE','/IGNORE',(#61)); #65 = CLASSIFICATION_ASSIGNMENT(#14,(#63),'/IGNORE'); #68 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#61,'/IGNORE',(#55)); #70 = CLASSIFICATION_ASSIGNMENT(#19,(#68),'/IGNORE'); #73 = PRODUCT_AS_INDIVIDUAL_VIEW('/IGNORE','/IGNORE','/IGNORE',#74,(),#53); #74 = VIEW_DEFINITION_CONTEXT('/IGNORE','/IGNORE','/IGNORE'); #76 = CLASSIFICATION_ASSIGNMENT(#77,(#74),'/IGNORE'); #77 = EXTERNAL_CLASS('/IGNORE','Support_stage','/IGNORE',#7); #80 = CLASSIFICATION_ASSIGNMENT(#81,(#74),'/IGNORE'); #81 = EXTERNAL_CLASS('/IGNORE','Product_life_cycle_support','/IGNORE',#7); #84 = PART('/IGNORE','/IGNORE','/IGNORE'); #86 = IDENTIFICATION_ASSIGNMENT('SC33376B','/IGNORE',$,(#84)); #88 = CLASSIFICATION_ASSIGNMENT(#89,(#86),'/IGNORE'); #89 = EXTERNAL_CLASS('/IGNORE','Part_identification_code','/IGNORE',#7); #92 = ORGANIZATION('/IGNORE','/IGNORE'); #94 = IDENTIFICATION_ASSIGNMENT('Unknown','/IGNORE','/IGNORE',(#92)); #96 = CLASSIFICATION_ASSIGNMENT(#14,(#94),'/IGNORE'); #99 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#92,'/IGNORE',(#86)); #101 = CLASSIFICATION_ASSIGNMENT(#19,(#99),'/IGNORE'); #104 = PRODUCT_CATEGORY_ASSIGNMENT(#105,(#84)); #105 = PRODUCT_CATEGORY('/IGNORE','part','/IGNORE'); #106 = PART_VERSION('/IGNORE','/IGNORE',#84); #108 = IDENTIFICATION_ASSIGNMENT('Unknown','/IGNORE',$,(#106)); #110 = CLASSIFICATION_ASSIGNMENT(#58,(#108),'/IGNORE'); #114 = ORGANIZATION('/IGNORE','/IGNORE'); #116 = IDENTIFICATION_ASSIGNMENT('Unknown','/IGNORE','/IGNORE',(#114)); #118 = CLASSIFICATION_ASSIGNMENT(#14,(#116),'/IGNORE'); #121 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#114,'/IGNORE',(#108)); #123 = CLASSIFICATION_ASSIGNMENT(#19,(#121),'/IGNORE'); #126 = PART_VIEW_DEFINITION('/IGNORE','/IGNORE','/IGNORE',#127,(),#106); #127 = VIEW_DEFINITION_CONTEXT('/IGNORE','/IGNORE','/IGNORE'); #129 = CLASSIFICATION_ASSIGNMENT(#77,(#127),'/IGNORE'); #133 = CLASSIFICATION_ASSIGNMENT(#81,(#127),'/IGNORE'); #136 = PRODUCT_DESIGN_TO_INDIVIDUAL(#84,#33); #138 = APPLIED_ACTIVITY_ASSIGNMENT(#1,(#53),'/IGNORE'); #140 = CLASSIFICATION_ASSIGNMENT(#141,(#138),'/IGNORE'); #141 = EXTERNAL_CLASS('/IGNORE','Activity_input','/IGNORE',#7); #144 = ACTIVITY_METHOD('/IGNORE','/IGNORE','/IGNORE','/IGNORE'); #146 = IDENTIFICATION_ASSIGNMENT('Brake repair method','/IGNORE',$,(#144)); #148 = CLASSIFICATION_ASSIGNMENT(#149,(#146),'/IGNORE'); #149 = EXTERNAL_CLASS('/IGNORE','Activity_method_identification_code','/IGNORE',#7); #152 = ORGANIZATION('/IGNORE','/IGNORE'); #159 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#152,'/IGNORE',(#146)); #161 = CLASSIFICATION_ASSIGNMENT(#19,(#159),'/IGNORE'); #165 = CLASSIFICATION_ASSIGNMENT(#166,(#144),'/IGNORE'); #166 = EXTERNAL_CLASS('/IGNORE','Typical_activity','/IGNORE',#7); #169 = WORK_ORDER($,$,()); #171 = IDENTIFICATION_ASSIGNMENT('WO-25','/IGNORE',$,(#169)); #173 = CLASSIFICATION_ASSIGNMENT(#174,(#171),'/IGNORE'); #174 = EXTERNAL_CLASS('/IGNORE','Work_request_identification_code','/IGNORE',#7); #177 = ORGANIZATION('/IGNORE','/IGNORE'); #184 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#177,'/IGNORE',(#171)); #186 = CLASSIFICATION_ASSIGNMENT(#19,(#184),'/IGNORE'); #190 = DATE_OR_DATE_TIME_ASSIGNMENT(#196,'/IGNORE',(#169)); #192 = CLASSIFICATION_ASSIGNMENT(#193,(#190),'/IGNORE'); #193 = EXTERNAL_CLASS('/IGNORE','Date_actual_release','/IGNORE',#7); #196 = DATE_TIME(#197,#198); #197 = CALENDAR_DATE(2007,1,20); #198 = LOCAL_TIME(10,$,$,#199); #199 = TIME_OFFSET(0,$,.EXACT.); #201 = APPROVAL_ASSIGNMENT(#202,(#169),'/IGNORE'); #202 = APPROVAL(#203,'/IGNORE',$,$); #203 = APPROVAL_STATUS('/IGNORE'); #205 = CLASSIFICATION_ASSIGNMENT(#206,(#203),'/IGNORE'); #206 = EXTERNAL_CLASS('/IGNORE','Approved','/IGNORE',#207); #207 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std',$); #208 = DIRECTED_ACTIVITY($,$,$,#144,#169); #210 = IDENTIFICATION_ASSIGNMENT('ACT-25','/IGNORE',$,(#208)); #212 = CLASSIFICATION_ASSIGNMENT(#6,(#210),'/IGNORE'); #216 = ORGANIZATION('/IGNORE','/IGNORE'); #223 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#216,'/IGNORE',(#210)); #225 = CLASSIFICATION_ASSIGNMENT(#19,(#223),'/IGNORE'); #229 = APPLIED_ACTIVITY_ASSIGNMENT('',(#53),'/IGNORE'); #231 = CLASSIFICATION_ASSIGNMENT(#232,(#229),'/IGNORE'); #232 = EXTERNAL_CLASS('/IGNORE','Activity_input','/IGNORE',#7); #234 = ACTIVITY_HAPPENING('/IGNORE','/IGNORE',#1,#208);
NOTE this characterization is optional.
The date when an Activity_actual was started or finished can optionally be represented by assigning a Date_time (representing the start/end date) to the Activity_actual using the assigning_time template with the Date_time being classified as a type of "Date actual end" (urn:plcs:rdl:std:Date actual end) or "Date actual end" (urn:plcs:rdl:std:Date actual end) respectively.
NOTE The mandatory use of the template assigning_time can be used to represent either a start date ( "Date actual start" (urn:plcs:rdl:std:Date actual start)) or an end date ( "Date actual end" (urn:plcs:rdl:std:Date actual end)). If both a start and an end date exists both should be assigned to the Activity_actual, represented by two instances of the assigning_time template.
NOTE The assignment of a date is described by the template assigning_time.
NOTE this characterization is optional.
The type of Activity_actual can be represented by assigning an External_class to the Activity_actual using the assigning_reference_data template.
NOTE The assignment of reference data is described by the template assigning_reference_data.
EXAMPLE If the work done is a change to the configuration status of a Product_as_realized (a new version has been created), then the Activity_actual should be classified as "Configuration change" (urn:plcs:rdl:std:Configuration change).
NOTE this characterization is optional.
The state of an Activity_actual can be represented by assigning a State_observed to the Activity_actual using the assigning_asserted_state template.
NOTE The status should not be represented using Activity_status.
NOTE The assignment of a state is described by the template assigning_asserted_state.
This capability "Representing the work done" is related to the following capabilities:
This capability "Representing the work done" is dependent on the following capabilities:
The following classes of reference data are required for this capability:
© OASIS 2010 — All rights reserved