Template: OASIS:StateAssertion

This section specifies the template StateAssertion.

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

The specification comprises the following sections:

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

This template describes how to represent the fact that something has been observed to be in a given state and that this assertion has been confirmed by evidence such as a measurement.

NOTE    An asserted state should be used for representing business process states such as Approval and work order states.

For details on how represent a hypothesized state, see StateAssessment.

The asserted state is assigned by a AppliedStateAssignment. This is not instantiated by this template, but is needed to assign the observed state to something. When assigning the state, the role of the AppliedStateAssignment should be specified by being classified. For example, if the sate observed is a fault state then the AppliedStateAssignment should be classified by as a http://docs.oasis-open.org/plcs/ns/plcslib/v1.0/data/contexts/OASIS/refdata/plcs-rdl#Fault_state_assignment.

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

Figure 1 -  State model

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

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

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

References:
definition [1] (Block: Ap239Ap233Psm:ProxyItemSelect)
The reference data that identifies the state definition that the observed state is asserted to be in.
The reference data used in Block: Ap239Ap233Psm:ProxyItemSelect is restricted as follows:
RDL constraint 1:
The reference data for:
ExternalOwlObject.individual
is restricted to individuals that are members of the following class:
observedBy [0..*] (Block: Ap239Ap233Psm:OrganizationOrPersonInOrganizationSelect)
the person or organization that observed the state.
Parts:
id [0..1] (Template: OASIS:Identification)
An optional identification of the observed state.
The reference data used in Template: OASIS:Identification is restricted as follows:
RDL constraint 1:
The id must be classified as a state definition identification code.
The reference data for:
OASIS:Identification.role -> ExternalOwlClass.class
is restricted to the following class or a subclass:
description [0..1] (Template: OASIS:Descriptor)
An optional description of the observed state.
name [0..1] (Template: OASIS:Name)
An optional name of the observed state.
Values:
assertionDateTime [0..1] (Block: Ap239Ap233Psm:DateTimeString)

The date or dateTime when the observed state was asserted to be a defined state.

NOTE    The assertionDateTime and the observationDateTime may be the same

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')
observationDateTime [0..1] (Block: Ap239Ap233Psm:DateTimeString)
The date or dateTime when the state was observed.

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:

stateDfn (Block: Ap239Ap233Psm:StateDefinition)
Enables the Block: Ap239Ap233Psm:StateDefinition instantiated by this template to be referenced when the template is used.
stateAssert (Block: Ap239Ap233Psm:StateAssertion)
Enables the Block: Ap239Ap233Psm:StateAssertion instantiated by this template to be referenced when the template is used.
stateObs (Block: Ap239Ap233Psm:StateObserved)
Enables the Block: Ap239Ap233Psm:StateObserved 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 StateAssertion.

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 -  StateAssertion
Figure 3 -  StateAssertion ObservedBy

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:stateObserved [1] (Block: Ap239Ap233Psm:StateObserved)
Private Part Property:stateAssertion [1] (Block: Ap239Ap233Psm:StateAssertion)
Private Reference Property:stateDefinition [1] (Block: Ap239Ap233Psm:StateDefinition)

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

rule.Ap239Ap233Psm.ExternalOwlClass.ur1
Constraint: UR1
Specification: (OCL2.0)
StateDefinition::allInstances()->isUnique(definition)
Private Part Property:dateAsgnObs [0..1] (Block: Ap239Ap233Psm:DateTimeAssignment)
Private Reference Property:classDateActualOccurrence [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:dateClassifier [0..1] (Template: OASIS:Classifier)
Private Part Property:assertionDateClassifier [0..1] (Template: OASIS:Classifier)
Private Part Property:dateAsgnAsrt [0..1] (Block: Ap239Ap233Psm:DateTimeAssignment)
Private Reference Property:classPersOrgAsgActualObserver [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:persOrgAsgn [0..*] (Block: Ap239Ap233Psm:OrganizationOrPersonInOrganizationAssignment)
Private Part Property:predictingOrg [0..*] (Template: OASIS:Classifier)
Private Part Property:combNameAndDesc [0..1] (Constraint Block: OASIS:Name:CombineNamesAndDescriptors)

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

Instance diagram
Figure 4 -  Model instance diagram for StateAssertion

The following instances have been created:

There are no constraint blocks defined in this template.

The following sections provide example XML datasets that have been instantiated in accordance with this template.

Data set: State assertion using reference data

State assertion using reference data state_assertion_rdl.xml View download

This example shows the XML instantiated to represent an asserted state, Serviceable assigned to realized part.

The state definition is represented as an OWL individual http://docs.oasis-open.org/plcs/ns/plcslib/v1.0/data/contexts/OASIS/refdata/plcs-rdl#Serviceable

Data set: State assertion using codes

State assertion using codes state_assertion_extref.xml View download

This example shows the XML instantiated to represent an asserted state, FM0009 assigned to realized part.

The state definition is represented by an external fault code FM0009 that has not been defined as OWL reference data. Instead the code is defined in the "Fault code reference book".

NOTE    The example is intended to illustrate the case where reference data has not been created. There is no reason why the state definition FM0009 could not be added to reference data.