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:
- representing request and authority for work,
- managed planned authorized activities and a corresponding record of the work done,
- unmanaged planned activities and a corresponding record of the activity done,
- record of activities performed by a product.
The actual templates are:
-
Managed work
- The WorkRequest template represents a
request for work to be undertaken;
- The WorkOrder template represents the
authorization of work to be undertaken, often in response to a WorkRequest;
- The DirectedActivity template represents
an activity that is planned to be undertaken under the authority of a given
WorkOrder.
- The WorkDone template represents a record
of the work done in response to an authorized DirectedActivity.
-
UnManaged activities
- The PlannedActivity template represents an
activity that is planned to be undertaken that is neither governed by a WorkOrder nor an activity to be performed by a
product.
- The ActualActivity template represents a
record of an activity that is performed in response to a PlannedActivity.
-
Product activities
- The ActualProductUsage template represents
a record of an activity that has been performed by a product, the
usage of a product.
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:
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.
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.
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:
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:
Example reference data is:
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: XSDDATETIMESpecification: (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: XSDDATETIMESpecification: (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:
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 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: ur1Specification: (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: ur1Specification: (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: ur1Specification: (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: ur1Specification: (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: ur1Specification: (OCL2.0)
ExternalOwlClass::allInstances()->isUnique(class)
Private Part Property:
classifiyPersOrgAsg [0..*] (Template: OASIS:
Classifier)
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: ur1Specification: (OCL2.0)
ExternalOwlClass::allInstances()->isUnique(class)
Private Part Property:
classifyActivityPerformedAt [0..*] (Template: OASIS:
Classifier)
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: ur1Specification: (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: ur1Specification: (OCL2.0)
ExternalOwlClass::allInstances()->isUnique(class)
Private Part Property:
classifyActivityPerformedOnContract [0..*] (Template: OASIS:
Classifier)
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: ur1Specification: (OCL2.0)
ExternalOwlClass::allInstances()->isUnique(class)
Figure 11 shows the instances that have been instantiated in the template. These are
used to set the default value of blocks.
Figure 11 - Model instance diagram for WorkDone
The following instances have been created:
There are no constraint blocks defined in this template.
No example data sets have been provided for this Template.