Template: SwedishDefence:MessageWrapper

This section specifies the template MessageWrapper.

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

The specification comprises the following sections:

NOTE    An explanation of a template and its specification is provided in the Template overview
The MessageWrapper template describes how to represent the meta data associated with a message.

The following templates are related to the MessageWrapper template:

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

Figure 1 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 1 -  Template block definition diagram for MessageWrapper

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

References:
messageSentBy [1] (Template: OASIS:Organization)
The organization that sends the message.
messageSentTo [1] (Template: OASIS:Organization)
The organization that receives the message.
CDRLReference [0..1] (Template: SwedishDefence:Document)
Reference to the contract document requirement list.
Parts:
OSLParagraphReferences [0..1] (Template: OASIS:Descriptor)
References to applicable law.
The reference data used in Template: OASIS:Descriptor is restricted as follows:
RDL constraint 1:
instruction constraint
The reference data for:
OASIS:Descriptor.classifiedAs -> ExternalOwlClass.class
is restricted to the following class or a subclass:
http://plcs.fmv.se/rd/SwedishDefence-rdl-en#OSLParagraphReferences
SSLParagraphReferences [0..1] (Template: OASIS:Descriptor)
References to applicable law.
The reference data used in Template: OASIS:Descriptor is restricted as follows:
RDL constraint 1:
instruction constraint
The reference data for:
OASIS:Descriptor.classifiedAs -> ExternalOwlClass.class
is restricted to the following class or a subclass:
http://plcs.fmv.se/rd/SwedishDefence-rdl-en#SSLParagraphReferences
Values:
dateMessageSent [1] (Block: Ap239Ap233Psm:DateTimeString)
The date time when the message is sent.

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')
messageId [1] (Block: Ap239Ap233Psm:IdentifierString)
The identifier for the message.
The reference data used in Block: Ap239Ap233Psm:IdentifierString is restricted as follows:
RDL constraint 1:
messageId constraint
The reference data for:
OASIS:Identification.role -> ExternalOwlClass.class
is restricted to the following class or a subclass:
deliveryPositionId [0..1] (Block: Ap239Ap233Psm:IdentifierString)
Reference to a delivery position of the contract document requirement list.

The following output ports are defined for this template:

PSMmessage (Block: Ap239Ap233Psm:Message)
Enables the Block: Ap239Ap233Psm:Message instantiated by this template to be referenced when the template is used.
PSMenvelope (Block: Ap239Ap233Psm:Envelope)
Enables the Block: Ap239Ap233Psm:Envelope instantiated by this template to be referenced when the template is used.
OASISenvelope (Template: OASIS:Envelope)
Enables the Template: OASIS:Envelope instantiated by this template to be referenced when the template is used.
OASISmessage (Template: OASIS:Message)
Enables the Template: OASIS:Message 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 MessageWrapper.

The public properties, i.e. those visible in the template's SysML block (See Figure 1) 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 -  MessageWrapper 1: Envelope Related Components
Figure 3 -  MessageWrapper 2: Message Related Components

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

Protected Part Property:_message [1] (Template: OASIS:Message)
Private Part Property:messageEnvelope [1] (Template: OASIS:Envelope)
Private Part Property:msgId [1] (Template: OASIS:Identification)
Private Part Property:envelopeId [1] (Template: OASIS:Identification)
Private Reference Property:swedishDefenceExchangeContext [1] (Block: Ap239Ap233Psm:ExchangeContextClassLibrary)

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

rule.Ap239Ap233Psm.ExternalOwlClass.ur1
Constraint: UR1
Specification: (OCL2.0)
ExchangeContextClassLibrary::allInstances()->isUnique(libraryId)
Private Reference Property:classMessageId [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:classEnvelopeId [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:SecurityClass [0..1] (Block: Ap239Ap233Psm:SecurityClassification)
Private Part Property:securityAsg [0..1] (Block: Ap239Ap233Psm:SecurityClassificationAssignment)
Private Part Property:combineDescriptors [0..1] (Constraint Block: OASIS:Descriptor:CombineDescriptions)
Private Part Property:cdrlReference [0..1] (Block: Ap239Ap233Psm:DocumentAssignment)
Private Part Property:delPosId [0..1] (Block: Ap239Ap233Psm:Identifier)

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

rule.Ap239Ap233Psm.ExternalOwlClass.ur1
Constraint: UR1
Specification: (OCL2.0)
Identifier::allInstances()->isUnique(Sequence{idString, role, identificationContext})
Private Reference Property:classDeliveryPositionId [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)

There are no instances that have been instantiated in this template.

Figure 4 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 4 -  Constraint block diagram for MessageWrapper

The following constraint blocks have been created:

Constraint: CombineOwlClasses
Specification: (OCL2.0)
combined=Set{class1, class2, class3, class4}
A constraint block that creates a collection that is the union of objects of type ExternalOwlClass.

No example data sets have been provided for this Template.

Issue reporting