A.1 Overview
This example extends the example - a (simplified) washing machine - of clause B.1.3.3 of oneM2M TS-0012 [3].
However in contrast to oneM2M TS-0012 in this example it is assumed that the washing machine is not a 'native' oneM2M application but is interworked with the oneM2M System via Ontology-based Interworking.
In contrast to oneM2M TS-0012 the semantic description (contained in the descriptor attribute of the <semanticDescriptor> resource) is not of interest but rather the structure of the specialized <flexContainer > resources to which these <semanticDescriptor> s belong.
Also Functions and Commands (which are only described in RDF form in the sematic descriptors) are not considered, but only Services, Input- / OutputDatapoints and Operations, which are the resources containing data for communication with the washing machine are handled here.
The example given here is a (simplified) washing machine, based on class:WashingMachine, specified in SAREF [i.2].
It is assumed the washing machine has been manufactured by manufacturer XYZ.
The ontology that describes XYZ washingmachines is identified by the IRI: http://www.XYZ.com/WashingMachines.
It is assumed the XYZ washing machines are compliant with SAREF. Also, as described in clause B.1 of oneM2M TS-0012 [3], SAREF is compliant with the oneM2M base ontology.
That implies that every class/property of the XYZ ontology is either a subclass/sub-property of SAREF or - if no suitable class/property exists in SAREF - is a subclass/sub-property of the base ontology.
The classes/properties that are taken from SAREF are prefixed with: "saref:"
The classes/properties that are taken from XYZ ontology are prefixed with: "XYZ:"
The classes/properties that are taken from the base ontology are prefixed with: "BO:"
- The model of the type of washing machine is class XYZ:XYZ _Cool
- which is a sub-class of class saref:WashingMachine
- which in turn is subclass of BO:InterworkedDevice
- which is a sub-class of class saref:WashingMachine
- The state of the washing machine is given by XYZ:WashingMachineStatus that can take the values "WASHING" or "STOPPED" or "ERROR".
- XYZ:WashingMachineStatus is a sub-class of saref:state
- which in turn is subclass of BO:OutputDataPoint
- XYZ:WashingMachineStatus is a sub-class of saref:state
- This WashingMachineStatus is provided as an the OutputDataPoint of a service XYZ:MonitorService which exposes the MonitoringFunction to the network.
- Class XYZ:MonitorService is a sub-class of saref:Service
- which in turn is subclass of BO:Service
- Class XYZ:MonitorService is a sub-class of saref:Service
- The related function of the washing machine is described by class XYZ:MonitoringFunction.
- Class XYZ:MonitoringFunction is a sub-class of saref: Function
- which in turn is subclass of BO:Function
- Class XYZ:MonitoringFunction is a sub-class of saref: Function
- The function of the washing machine to control the washing machine is in class XYZ:StartStopFunction which has three commands: ON_Command, OFF_Command, Toggle_Command.
Note
Since classes for Functions and Commands are not needed for interworking as they only appear in the RDF description in <sematicDescriptor> resources the XYZ:MonitoringFunction and XYZ:StartStopFunction are not further considered here. They are, however, described in the related example of clause B.1.3.3 of oneM2M TS-0012 [3].
- The related service of the washing machine that represents that XYZ:StartStopFunction is class: XYZ:SwitchOnService. It has:
an InputDataPoint: XYZ:BinaryInput (to expose command ON_Command and OFF_Command) and
an Operation: XYZ:ToggleBinary (to expose command Toggle_Command)- Class XYZ: SwitchOnService is a sub-class of saref:SwitchOnService
- which in turn is subclass of BO:Service
- Class XYZ: SwitchOnService is a sub-class of saref:SwitchOnService
- InputDataPoint: XYZ:BinaryInput is a sub-class of BO:InputDataPoint
- Operation: XYZ:ToggleBinary is a sub-class of BO:Operation
- XYZ describes this type of washing machine with a XYZ:Description as "Very cool Washing Machine"
- XYZ:Description is a sub-class of BO:ThingProperty
The following figure shows the relationship of the ontology that describes model XYZ_cool of XYZ washingmachines with the oneM2M base ontology.

Figure A.1-1: Relationship of the ontology that describes model XYZ_cool of XYZ washingmachines with the oneM2M base ontology