Template: OASIS:ResourcePool

This section specifies the template ResourcePool.

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 ResourcePool template.

The specification comprises the following sections:

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

The ResourcePool template describes how to represent a grouping of ResourcePoolItem (represented as ManagedResource).

This template can be used to represent a stock of resources (Resource/Stock Management)

The SysML Block Definition diagram in Figure 1 shows how a activity is represented in the PLCS PSM.

Figure 1 -  Collection model

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

NOTE    The ResourcePool 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 constraints shown on the template's SysML Block are described in the template constraints section.

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

Figure 2 -  Template block definition diagram for ResourcePool

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

References:
location [0..1] (Block: Ap239Ap233Psm:Location)
The actual location of the ResourcePool
responsibleOrganization [0..1] (Template: OASIS:Organization)
The responsible organization of the ResourcePool
Parts:
descriptions [0..*] (Template: OASIS:Descriptor)
The collection of descriptions of the ResourcePool (Collection)
ids [1..*] (Template: OASIS:Identification)
The collection of identification of the ResourcePool (Collection)
The reference data used in Template: OASIS:Identification is restricted as follows:
RDL constraint 1:
There must be one identifier that identifies the Collection.
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 ResourcePool (Collection)
versionId [1] (Template: OASIS:Identification)
The version identification of the ResourcePool (CollectionVersion)
The reference data used in Template: OASIS:Identification is restricted as follows:
RDL constraint 1:
The identifier must be a version identifier.
The reference data for:
OASIS:Identification.role -> ExternalOwlClass.class
is restricted to the following class or a subclass:
classifications [1..*] (Template: OASIS:Classifier)
The collection of classifications for the ResourcePool (Collection)
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:
validityStartDate [0..1] (Block: Ap239Ap233Psm:DateTimeString)
The date when the ResourcePool starts to be valid (for usage)

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')
validityEndDate [0..1] (Block: Ap239Ap233Psm:DateTimeString)
The date when the ResourcePool ends to be valid (for usage)

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:

pool (Block: Ap239Ap233Psm:Collection)
Enables the Block: Ap239Ap233Psm:Collection instantiated by this template to be referenced when the template is used.
pool_vn (Block: Ap239Ap233Psm:CollectionVersion)
Enables the Block: Ap239Ap233Psm:CollectionVersion instantiated by this template to be referenced when the template is used.
pool_view (Block: Ap239Ap233Psm:CollectionViewDefinition)
Enables the Block: Ap239Ap233Psm:CollectionViewDefinition instantiated by this template to be referenced when the template is used.

The following constraints are defined for this template:

Constraint: restrictIdsType
Specification: (English)
There must be one identifier type restricted to or a subclass of http://docs.oasis-open.org/plcs/ns/plcslib/v1.0/data/contexts/OASIS/refdata/plcs-rdl#Resource_pool_identification_code
Constraint: restrictClassifications
Specification: (English)
Classifications are restricted to or subclasses of http://docs.oasis-open.org/plcs/ns/plcslib/v1.0/data/contexts/OASIS/refdata/plcs-rdl#Resource_pool

This section describes the template's Parametric Diagram. The diagram details the pattern of templates and PLCS PSMTemplate objects that are required to represent the template ResourcePool.

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 3 -  Parametric diagram for ResourcePool

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:collect [1] (Template: OASIS:Collection)
Private Part Property:respOrgAsg [0..1] (Block: Ap239Ap233Psm:OrganizationOrPersonInOrganizationAssignment)
Private Part Property:classifyPOA [0..1] (Template: OASIS:Classifier)
Private Reference Property:classResponsibleFor [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:locaAsg [0..1] (Block: Ap239Ap233Psm:LocationAssignment)
Private Part Property:clasifyLA [0..1] (Template: OASIS:Classifier)
Private Reference Property:classActualLocation [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:classStartDate [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:da [0..1] (Template: OASIS:DatedEffectivity)
Private Part Property:classifyDA [0..1] (Template: OASIS:Classifier)

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

Instance diagram
Figure 3 -  Model instance diagram for ResourcePool

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.