Template: OASIS:WorkDone

This section specifies the template WorkDone.

The specification comprises a SysML Block that represents the template and an associated Parametric Diagram that defines the templates and PLCS PSMTemplate objects instantiated by the WorkDone template.

The specification comprises the following sections:

NOTE    An explanation of a template and its specification is provided in the Template overview

The WorkDone template describes how to represent a record of the work done to an item in response to a DirectedActivity. The DirectedActivity may be specified as part of a planned and authorized activity in the form of a WorkOrder.

It represents an activity that has at least started and may have finished - an actual activity.

NOTE   

This template, WorkDone is used for tracking authorized activities that have been undertaken.

It 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 DirectedActivity) that has been authorized by a WorkOrder.

The WorkDone is one of a set of templates used to represent work and activities. These are summarized in Figure 1 which shows that the model contains templates for:

The actual templates are:

Figure 1 -  Templates representing activities

See the Figure 2 from the PLCS PSM model for an overview.

Figure 2 -  Work order model

No templates have been explicitly defined as being related to the WorkDone template.

NOTE    The WorkDone template may make reference to other templates as part of the Parametric Diagram. These are not listed here.

Figure 3 shows the SysML Block that represents the template. The Block is an abstraction representing a pattern of templates and PLCS PSMTemplate objects.

The properties, i.e. the SysML Block Part, Reference and Value properties, of the template's SysML Block are described in the Template Properties section.

The output ports shown on the template's SysML Block are described in the template output ports section.

The SysML Parametric diagrams for the template Block are shown in template parametric diagram section.

Figure 3 -  Template block definition diagram for WorkDone

The following SysML Part, Reference, and Value properties are defined for this template:

References:
directedActivity [1] (Block: Ap239Ap233Psm:DirectedActivity)
The DirectedActivity for which this ActivityActual is an occurrence.
methodUsed [0..1] (Block: Ap239Ap233Psm:ActivityMethod)
The method which this ActivityActual is an occurrence of.
activityInputs [0..*] (Block: Ap239Ap233Psm:ActivityAssignmentSelect)
The item(s) that are used in the activity.
NOTE 1   When creating a WorkDone template, it is necessary to identify the items on which the work has been done. Hence the activityInputs shall be provided.
NOTE 2   When referencing a WorkDone template, it is not necessary to specify the activityInputs.
activityOutputs [0..*] (Block: Ap239Ap233Psm:ActivityAssignmentSelect)
The item(s) that are produced by the activity.
location [0..*] (Block: Ap239Ap233Psm:Location)
The location where the activity was performed.
contract [0..*] (Template: OASIS:Contract)
The contract under which the activity was performed.
project [0..*] (Template: OASIS:Project)
The project under which the activity was performed.
resourcesUsed [0..*] (Block: Ap239Ap233Psm:ResourceAsRealized)
the resources that were used to perform the activity
performedBy [0..*] (Block: Ap239Ap233Psm:OrganizationOrPersonInOrganizationSelect)
the person or organization that performed the activity
Parts:
ids [1..*] (Template: OASIS:Identification)
The identifiers assigned to the actual_activity.
The reference data used in Template: OASIS:Identification is restricted as follows:
RDL constraint 1:
The ids must be classified as an Activity_identification_code or a subclass thereof.
The reference data for:
OASIS:Identification.role -> ExternalOwlClass.class
is restricted to the following class or a subclass:
descriptions [0..*] (Template: OASIS:Descriptor)
Descriptions and notes associated with the work done.
classifications [0..*] (Template: OASIS:Classifier)
The optional classifications of the work done.
The reference data used in Template: OASIS:Classifier is restricted as follows:
RDL constraint 1:
The reference data for:
OASIS:Classifier.class -> ExternalOwlClass.class
is restricted to the following class or a subclass:
status [0..1] (Template: OASIS:StateAssertion)
the status of the activity
The reference data used in Template: OASIS:StateAssertion is restricted as follows:
RDL constraint 1:
The status is represented subclasses of State_of_activity.
The reference data for:
OASIS:StateAssertion.sameAs -> ExternalOwlObject.individual
is restricted to the following class or a subclass:
name [0..1] (Template: OASIS:Name)
The name assigned to the actual_activity.
Values:
dateStarted [0..1] (Block: Ap239Ap233Psm:DateTimeString)
The date and time when the activity commenced.

The following constraint, normally a uniqueness constraint, is applicable when instantiating the DateTimeString:

rule.Ap239Ap233Psm.ExternalOwlClass.ur1
Constraint: XSDDATETIME
Specification: (OCL2.0)
self.matches('[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z')
dateCompleted [0..1] (Block: Ap239Ap233Psm:DateTimeString)
The date and time when the activity completed.

The following constraint, normally a uniqueness constraint, is applicable when instantiating the DateTimeString:

rule.Ap239Ap233Psm.ExternalOwlClass.ur1
Constraint: XSDDATETIME
Specification: (OCL2.0)
self.matches('[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z')

The following output ports are defined for this template:

actual_work (Block: Ap239Ap233Psm:ActivityActual)
Enables the Block: Ap239Ap233Psm:ActivityActual instantiated by this template to be referenced when the template is used.

There are no constraints defined for this template.

This section describes the template's Parametric Diagrams. Each diagram details the pattern of templates and PLCS PSMTemplate objects that are required to represent the template WorkDone.

The public properties, i.e. those visible in the template's SysML block (See Figure 3) are shown on the left of a Parametric Diagram.

NOTE    Restrictions on the reference data to be set on the public properties is defined in the Template Properties section.

The output ports are shown on the right of a Parametric Diagram.

PLCS PSM objects are shaded khaki and Templates are shaded light green in a Parametric Diagram.

Figure 2 -  WorkDone
Figure 3 -  WorkDoneDates
Figure 4 -  WorkDoneIO
Figure 5 -  WorkDoneStatus
Figure 6 -  WorkDonePerformedBy
Figure 7 -  WorkDone Resources used
Figure 8 -  WorkDone Contract
Figure 9 -  WorkDone Project
Figure 10 -  WorkDone Location

The following blocks are instantiated by this template and bound to private parts of the template as shown in the Parametric Diagram section:

Private Part Property:activityActual [1] (Block: Ap239Ap233Psm:ActivityActual)
Private Part Property:activityHappening [1] (Block: Ap239Ap233Psm:ActivityHappening)
Private Part Property:startDate [0..1] (Block: Ap239Ap233Psm:DateTimeAssignment)
Private Part Property:endDate [0..1] (Block: Ap239Ap233Psm:DateTimeAssignment)
Private Part Property:inputs [0..*] (Block: Ap239Ap233Psm:ActivityAssignment)
Private Part Property:outputs [0..*] (Block: Ap239Ap233Psm:ActivityAssignment)
Private Reference Property:classDateActualStart [1] (Block: Ap239Ap233Psm:ExternalOwlClass)

The following constraint, normally a uniqueness constraint, is applicable when instantiating the ExternalOwlClass:

rule.Ap239Ap233Psm.ExternalOwlClass.ur1
Constraint: ur1
Specification: (OCL2.0)
ExternalOwlClass::allInstances()->isUnique(class)
Private Reference Property:classDateActualEnd [1] (Block: Ap239Ap233Psm:ExternalOwlClass)

The following constraint, normally a uniqueness constraint, is applicable when instantiating the ExternalOwlClass:

rule.Ap239Ap233Psm.ExternalOwlClass.ur1
Constraint: ur1
Specification: (OCL2.0)
ExternalOwlClass::allInstances()->isUnique(class)
Private Reference Property:classActivityInput [0..1] (Block: Ap239Ap233Psm:ExternalOwlClass)

The following constraint, normally a uniqueness constraint, is applicable when instantiating the ExternalOwlClass:

rule.Ap239Ap233Psm.ExternalOwlClass.ur1
Constraint: ur1
Specification: (OCL2.0)
ExternalOwlClass::allInstances()->isUnique(class)
Private Reference Property:classActivityOutput [0..1] (Block: Ap239Ap233Psm:ExternalOwlClass)

The following constraint, normally a uniqueness constraint, is applicable when instantiating the ExternalOwlClass:

rule.Ap239Ap233Psm.ExternalOwlClass.ur1
Constraint: ur1
Specification: (OCL2.0)
ExternalOwlClass::allInstances()->isUnique(class)
Private Part Property:activityClassifier [0..*] (Template: OASIS:Classifier)
Private Part Property:outputClassifier [0..*] (Template: OASIS:Classifier)
Private Part Property:startDateClassification [0..1] (Template: OASIS:Classifier)
Private Part Property:endDateClassifier [0..1] (Template: OASIS:Classifier)
Private Part Property:stateAsgn [0..1] (Block: Ap239Ap233Psm:StateAssignment)
Private Reference Property:classPerformedBy [0..1] (Block: Ap239Ap233Psm:ExternalOwlClass)

The following constraint, normally a uniqueness constraint, is applicable when instantiating the ExternalOwlClass:

rule.Ap239Ap233Psm.ExternalOwlClass.ur1
Constraint: ur1
Specification: (OCL2.0)
ExternalOwlClass::allInstances()->isUnique(class)
Private Part Property:classifiyPersOrgAsg [0..*] (Template: OASIS:Classifier)
Private Part Property:persOrgAsgn [0..*] (Block: Ap239Ap233Psm:OrganizationOrPersonInOrganizationAssignment)
Private Reference Property:classActivityPerformedAt [0..1] (Block: Ap239Ap233Psm:ExternalOwlClass)

The following constraint, normally a uniqueness constraint, is applicable when instantiating the ExternalOwlClass:

rule.Ap239Ap233Psm.ExternalOwlClass.ur1
Constraint: ur1
Specification: (OCL2.0)
ExternalOwlClass::allInstances()->isUnique(class)
Private Part Property:classifyActivityPerformedAt [0..*] (Template: OASIS:Classifier)
Private Part Property:locationAssignment [0..*] (Block: Ap239Ap233Psm:LocationAssignment)
Private Reference Property:classActivityPerformedOnProject [0..1] (Block: Ap239Ap233Psm:ExternalOwlClass)

The following constraint, normally a uniqueness constraint, is applicable when instantiating the ExternalOwlClass:

rule.Ap239Ap233Psm.ExternalOwlClass.ur1
Constraint: ur1
Specification: (OCL2.0)
ExternalOwlClass::allInstances()->isUnique(class)
Private Part Property:classifyActivityPerformedOnProject [0..*] (Template: OASIS:Classifier)
Private Part Property:projectAssignment [0..*] (Block: Ap239Ap233Psm:ProjectAssignment)
Private Reference Property:classActivityPerformedUnderContract [0..1] (Block: Ap239Ap233Psm:ExternalOwlClass)

The following constraint, normally a uniqueness constraint, is applicable when instantiating the ExternalOwlClass:

rule.Ap239Ap233Psm.ExternalOwlClass.ur1
Constraint: ur1
Specification: (OCL2.0)
ExternalOwlClass::allInstances()->isUnique(class)
Private Part Property:classifyActivityPerformedOnContract [0..*] (Template: OASIS:Classifier)
Private Part Property:contractAssignment [0..*] (Block: Ap239Ap233Psm:ContractAssignment)
Private Part Property:resourceAsRealizedAsg [0..*] (Block: Ap239Ap233Psm:ResourceAsRealizedAssignment)
Private Part Property:classifyResourceAsg [0..*] (Template: OASIS:Classifier)
Private Reference Property:classResourceAsRealizedUsedBy [0..1] (Block: Ap239Ap233Psm:ExternalOwlClass)

The following constraint, normally a uniqueness constraint, is applicable when instantiating the ExternalOwlClass:

rule.Ap239Ap233Psm.ExternalOwlClass.ur1
Constraint: ur1
Specification: (OCL2.0)
ExternalOwlClass::allInstances()->isUnique(class)
Private Part Property:combNameAndDesc [1] (Constraint Block: OASIS:Name:CombineNamesAndDescriptors)

Figure 11 shows the instances that have been instantiated in the template. These are used to set the default value of blocks.

Instance diagram
Figure 11 -  Model instance diagram for WorkDone

The following instances have been created:

classActivityInput instance of Block: Ap239Ap233Psm:ExternalOwlClass.

This is used to constrain the activityInputs parameter.
classDateActualEnd instance of Block: Ap239Ap233Psm:ExternalOwlClass.

This is the classification applied to the dateCompleted assignment.
classDateActualStart instance of Block: Ap239Ap233Psm:ExternalOwlClass.

This is the classification applied to the dateStarted assignment.
classActivityOutput instance of Block: Ap239Ap233Psm:ExternalOwlClass.

This is used to constrain the activityOutputs parameter.

There are no constraint blocks defined in this template.

No example data sets have been provided for this Template.