Template: OASIS:Message

This section specifies the template Message.

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

The specification comprises the following sections:

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

The Message template describes how to represent a message and the objects it contains. Each object that can be contained in a message inherits from MessageContentObject.

The Message will refer to an exchange context library. This is an OWL ontology that provides all the reference data referenced from the data in the message. This OWL ontology will typically import from multiple OWL ontologies such as the standard PLCS OWL ontology http://docs.oasis-open.org/plcs/ns/plcslib/v1.0/data/contexts/OASIS/refdata/plcs-rdl.

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

Figure 1 -  Message model

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

NOTE    The Message 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 Message

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

References:
DEXVersion [1] (Block: Ap239Ap233Psm:ExternalOwlClass)
The name of the class used to classify the message as a container of data according to a given DEX version.

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:
ExternalOwlClass.class
is restricted to one of the following classes or a subclass of one of them:
exchangeContext [1] (Block: Ap239Ap233Psm:ExchangeContextClassLibrary)
The OWL class library used to provide the exchange context for the message.

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)
createdBy [1] (Block: Ap239Ap233Psm:MessageDefinerSelect)
The organization or person in organization that created the message.
content [0..*] (Block: Ap239Ap233Psm:MessageContentSelect)
The objects contained within the message.
classifications [0..*] (Block: Ap239Ap233Psm:ExternalOwlClass)
The optional additional classifications applied to the message.

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:
ExternalOwlClass.class
is restricted to classes that are subclasses of the following class:
Parts:
ids [1..*] (Template: OASIS:Identification)
The identifiers assigned to the message.
The reference data used in Template: OASIS:Identification is restricted as follows:
RDL constraint 1:
The ids must be classified as a message identification code.
The reference data for:
OASIS:Identification.role -> ExternalOwlClass.class
is restricted to the following class or a subclass:
descriptions [0..*] (Template: OASIS:Descriptor)
The descriptions optionally assigned to the message.
Values:
dateCreated [0..1] (Block: Ap239Ap233Psm:DateTimeString)
The date or date/time when the message was created.

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:

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

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 Message

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:message [1] (Block: Ap239Ap233Psm:Message)
Private Part Property:dateAssignment [0..1] (Block: Ap239Ap233Psm:DateTimeAssignment)
Private Reference Property:classDateCreated [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:dateClassification [0..1] (Block: Ap239Ap233Psm:Classification)
Private Part Property:combineClasses [1] (Constraint Block: OASIS:Classifier:CombineClassification)
Private Part Property:dexClass [1] (Block: Ap239Ap233Psm:Classification)
Private Part Property:classClass [0..*] (Block: Ap239Ap233Psm:Classification)

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 Message

The following instances have been created:

classMessageIdentificationCode instance of Block: Ap239Ap233Psm:ExternalOwlClass.

This is the standard classification of a message id and is used as a constraint on the id.
classDateCreated instance of Block: Ap239Ap233Psm:ExternalOwlClass.

This is used within the definition of the template to classify the dateCreated assignment.

There are no constraint blocks defined in this template.

The following section provides an example XML dataset that has been instantiated in accordance with this template.

Data set: Message

Message message.xml View download

This example shows the XML instantiated to represent a Message containing a work order.