Template: OASIS:IndividualCode

This section specifies the template IndividualCode.

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

The specification comprises the following sections:

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

The IndividualCode template describes how to represent a Code that is to be used as a proxy.

NOTE    The use of Codes is described in Codes.

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

Figure 1 -  Classification model

The following templates are related to the IndividualCode template:

NOTE    The IndividualCode 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 PSM 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.

Figure 2 -  Template block definition diagram for IndividualCode

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

References:
codeContext [1] (Template: OASIS:Organization)
The organization that is responsible for defining the code.
memberOf [1] (Block: Ap239Ap233Psm:ExternalOwlClass)
The OWL class that the ExternItem is a member of.

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)
The reference data used in Block: Ap239Ap233Psm:ExternalOwlClass is restricted as follows:
RDL constraint 1:
The reference data for:
OASIS:ClassCode.subClassOf -> ExternalOwlClass.class
is restricted to the following class or a subclass:
codeSource [0..1] (Template: OASIS:Document)
The document in which the code is defined.
Parts:
typeOfCode [1] (Block: Ap239Ap233Psm:ExternalOwlClass)
The OWL class of which the individual represented by code is a member.

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)
The reference data used in Block: Ap239Ap233Psm:ExternalOwlClass is restricted as follows:
RDL constraint 1:
The code identifier.
The reference data for:
OASIS:ClassCode.typeOfCode -> ExternalOwlClass.class
is restricted to the following class or a subclass:
Values:
code [1] (Block: Ap239Ap233Psm:IdentifierString)
A string representing the code.

The following output ports are defined for this template:

extItem (Block: Ap239Ap233Psm:ExternalItem)
Enables the Block: Ap239Ap233Psm:ExternalItem 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 Diagram. The diagram details the pattern of templates and PLCS PSM objects that are required to represent the template IndividualCode.

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 the Parametric Diagram.

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

Figure 3 -  Parametric diagram for IndividualCode

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:externalItem [1] (Block: Ap239Ap233Psm:ExternalItem)

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

rule.Ap239Ap233Psm.ExternalOwlClass.ur1
Constraint: ur1
Specification: (OCL2.0)
ExternalItem::allInstances()->isUnique(Sequence{id, source})
Private Part Property:setMembership [1] (Block: Ap239Ap233Psm:SetMembership)
Private Part Property:identification [1] (Template: OASIS:Identification)

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 IndividualCode

The following instances have been created:

ExternalItem_identification_code instance of Block: Ap239Ap233Psm:ExternalOwlClass.

The OWL class defining that the identifier is a code that identifies an ExternalItem.

Figure 3 shows the constraint blocks that have been created in the template.

Constraint Blocks are typically used to combine blocks into a collection that can then be bound to a property. For example, combining a set of identifications that can then be bound to property of type Identification.

Constraints diagram
Figure 3 -  Constraint block diagram for IndividualCode

The following constraint blocks have been created:

Constraint: CodeOrOwlIndividual
Specification: (English)
if externalIndividual then proxyItemSelect=externalIndividual else proxyItemSelect=owlIndividual
The constraint block that is used to allow the selection of either a ExternalItem or ExternalOwlObject. The constraint block is typically used within a template that supports the use of OWL or Codes to represent individuals

No example data sets have been provided for this DEX.