This section specifies the template Contract.
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 Contract template.
The specification comprises the following sections:
NOTE
An explanation of a template and its specification is provided in
the
Template
overview
The Contract template describes how to represent a contract and the relationship between
a contract and the parties and documents involved, and the products created and/or
actions undertaken as a result of the contract.
The SysML Block Definition diagram in Figure 1 shows how a
activity is represented in the PLCS PSM.
Figure 1 - Activity model
No templates have been explicitly defined as being related to the Contract template.
NOTE
The Contract template may make reference
to other templates as part of the Parametric Diagram. These are not listed
here.
Figure 2 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 2 - Template block definition diagram for Contract
The following SysML Part, Reference, and Value properties are defined for this template:
References:
documents [0..*] (Template: OASIS:
Document)
The collection of documents representing the contract.
Parts:
ids [1..*] (Template: OASIS:
Identification)
The collection of identifiers of the contract
The reference data used in Template: OASIS:
Identification is restricted as follows:
RDL constraint 1:The id must be classified as an Contract_identification_code or a
subclass thereof.
The reference data for:
OASIS:Identification.role -> ExternalOwlClass.class
is restricted to the following class or a subclass:
names [0..*] (Template: OASIS:
Name)
The collection of names of the contract
classifications [0..*] (Template: OASIS:
Classifier)
The classification of the contract.
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 classes that are subclasses of the following class:
Values:
startDate [0..1] (Block: Ap239Ap233Psm:
DateTimeString)
The date when the contract starts
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')
endDate [0..1] (Block: Ap239Ap233Psm:
DateTimeString)
The date when the contract ends.
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')
signOffDate [0..1] (Block: Ap239Ap233Psm:
DateTimeString)
The date when the contract is signed off
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')
assignedToStartEffectivityDate [0..1] (Block: Ap239Ap233Psm:
DateTimeString)
The start effectivity date of the assignedTo object
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')
assignedToEndEffecitivityDate [0..1] (Block: Ap239Ap233Psm:
DateTimeString)
The end effectivity date of the assignedTo object
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:
contract (Block: Ap239Ap233Psm:
Contract)
Enables the
Block: Ap239Ap233Psm:
Contract 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 Contract.
The public properties, i.e. those visible in the template's SysML block (See Figure 2) 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 - Contract
Figure 3 - Contract Contractor
Figure 4 - Contract Contractee
Figure 5 - Contract Dates
Figure 6 - Contract AssignedTo
Figure 7 - Contract Documents
Figure 8 - Contract Applicable 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:
psmContract [1] (Block: Ap239Ap233Psm:
Contract)
Private Part Property:
contractorClassifier [0..1] (Template: OASIS:
Classifier)
Private Reference Property:
contractorClass [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:
contractorContactClassifier [0..1] (Template: OASIS:
Classifier)
Private Reference Property:
contractorContactClass [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:
contracteeClassifier [0..1] (Template: OASIS:
Classifier)
Private Reference Property:
contracteeClass [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:
contracteeContactClassifier [0..1] (Template: OASIS:
Classifier)
Private Reference Property:
contracteeContactClass [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:
startDateClassifier [0..1] (Template: OASIS:
Classifier)
Private Reference Property:
startDateClass [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:
endDateClassifier [0..1] (Template: OASIS:
Classifier)
Private Reference Property:
endDateClass [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:
signOffDateClassifier [0..1] (Template: OASIS:
Classifier)
Private Reference Property:
dateSignOffClass [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:
applicableLocationClassifier [0..*] (Template: OASIS:
Classifier)
Private Reference Property:
applicableLocationClass [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:
assignedToEffectivity [0..1] (Template: OASIS:
DatedEffectivity)
Private Reference Property:
classContractDocAssignment [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:
contractDocAsgClassifier [0..*] (Template: OASIS:
Classifier)
Figure 9 shows the instances that have been instantiated in the template. These are
used to set the default value of blocks.
Figure 9 - Model instance diagram for Contract
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.