oel - sap workshop#4 brussels april 1st 2015...
TRANSCRIPT
Applying Smart Appliances to oneM2M ‐DG CONNECT & ETSI WORKSHOP ON SMART APPLIANCES #4STATE OF AFFAIRS, ONEM2M/ETSI
BRUSSELS, APRIL 1ST 2015
Omar Elloumi, Alcatel‐Lucent, oneM2M TP Chair
© ETSI 2015. All rights reserved
Disclaimer
Views expressed in this slide‐set do not reflect a final agreement in ETSI (as EU partner in oneM2M) nor in oneM2MHowever they reflect reasonable common understanding so far
oneM2M Common Service Layer in a nutshell
It is a software layerIt sits between M2M applications and communication HW/SW that provides data transportIt normally rides on top of IPIt provides functions that M2M applications across different industry segments commonly need. Those functions are exposed to Applications via IT‐friendly APIs.It allows for distributed intelligence (device, gateway, cloud apps)
oneM2M Architecture approach
Pipe (vertical):1 Application, 1 NW,
1 (or few) type of DevicePoint to point communications
Horizontal (based on common Layer)Applications share common service and network infrastructure
Multipoint communications
Local NW
BusinessApplication
Device
CommunicationNetwork (wireline,
wireless, Powerline ..)
Gateway
CommunicationNetwork 1
CommunicationNetwork 2
Local NW
GatewayIP
Application
A
Application Application Application
Common Service Layer
Device Device
Device
AS
AA Device
AS
S Common Service Layer
S
A
Common Service Layer
A Application
Things
Thingsrepresentations
oneM2M today (rel. 1)
oneM2M provides resource structure for sensor applications to provide their informationSyntax and semantics of information not visible to the platform• At best limited support for discovery (explicit tags)• No support for efficient access to structured information,
creation of mash‐ups, support for analytics
Applications using the information have to a‐priori know • Resources provided by each sensor applications• Syntax and semantics of information
Explicit configuration step for every change in available sensors
Temperature AE
TemperatureValue Container
Temperature Value Instance 1
...
Temperature Value Instance 2
......
...
Building Management Application
Source: NEC
oneM2M with Semantics
oneM2M provides resource structure for sensor applications to provide their informationoneM2M provides semantic information about resource contents and functionalities making use of itFunctionalities that can be provided or enhanced using semantics• Queries/Discovery based on semantic descriptions• Support for analytics (e.g. efficient access to information,
deployment of analytics within the platform)• Support for creation of mash‐ups (e.g. enabling IoT
scenarios)
Applications using the information can• Specify what information they are interested in be
notified in case of relevant changes• Syntax and semantics of information is made explicit, so
applications can decide whether they can handle it, what module is needed for processing etc.
Automatic configuration for every change in available sensors
Temperature AE
TemperatureValue Container
Temperature Value Instance 1
...
Temperature Value Instance 2
...
Building Management Application
Type: TemperatureUnit: Celsius
...
...
Source: NEC
oneM2M AE Resource type
*** As defined in oneM2M TS-0001 - V-1.2.0
oneM2M Containers Resource Types
Room2
Home2
AE1
Home1
Room1
Temperature1
resourceType = <AR>
resourceType = <container>
resourceType = <container>
resourceType = <contentInstance>content = 19°
resourceType = <container>
resourceType = <container>
Container for data instances is represented by <container> resource• Data storage used to share information with other entities and track data
<container> resource has no associated content• Only attributes and child resources are available• Actual data/content is stored in <contentInstance> child resource
<container> resource can have other <container> as a child resource
Containers example
Room1
Home Gateway(MN)
TemperatureSensor(ADN)
Humidity Sensor(ADN)
MN = Middle NodeADN = Application Dedicated Node
MN-CSE
ADN-AE
ADN-AE
resourceType = <CSEBase>CSE1Base
Source: KETI
Room1
TemperatureSensor(ADN)
Humidity Sensor(ADN)
ADN-AE
ADN-AE
Home Gateway(MN)
MN = Middle NodeADN = Application Dedicated Node
MN-CSE
CREATE Requestto : CSE1Basety : AEnm: AE1
CREATE Response
resourceType = <CSEBase>CSE1Base
AE1 resourceType = <AE>
Containers example
Source: KETI
Room1
TemperatureSensor(ADN)
Humidity Sensor(ADN)
ADN-AE
ADN-AE
Home Gateway(MN)
MN = Middle NodeADN = Application Dedicated Node
MN-CSE
CREATE Requestto : CSE1Basety : AEnm : AE2
CREATE Response
resourceType = <CSEBase>CSE1Base
AE2 resourceType = <AE>
AE1 resourceType = <AE>
Containers example
Source: KETI
Room1
TemperatureSensor(ADN)
Humidity Sensor(ADN)
ADN-AE
ADN-AE
Home Gateway(MN)
MN = Middle NodeADN = Application Dedicated Node
MN-CSE
CREATE Requestto : CSE1Base/AE1ty : containernm : Temp_Room1
CREATE Response
resourceType = <CSEBase>CSE1Base
AE2 resourceType = <AE>
resourceType = <container>
AE1 resourceType = <AE>
Temp_Room1
Containers example
Source: KETI
resourceType = <CSEBase>
Home Gateway(MN)
MN = Middle NodeADN = Application Dedicated Node
MN-CSE
CREATE Requestto : CSE1Base/AE1/Temp_Room1ty : contentInstancenm : Temperature01cn : content = 19°
CREATE Response
CSE1Base
AE2 resourceType = <AE>
resourceType = <container>
AE1 resourceType = <AE>
Temp_Room1
Temperature01 resourceType = <contentInstance>content = 19°
Room1
TemperatureSensor(ADN)
Humidity Sensor(ADN)
ADN-AE
ADN-AE
Containers example
Source: KETI
Temperature01 resourceType = <contentInstance>content = 19°
resourceType = <container>Temp_Room1
AE1 resourceType = <AE>
Room1
Home Gateway(MN)
TemperatureSensor(ADN)
Humidity Sensor(ADN)
MN = Middle NodeADN = Application Dedicated Node
MN-CSE
ADN-AE
ADN-AE
resourceType = <CSEBase>CSE1Base
CREATE Requestto : CSE1Basety : AEnm: AE1
CREATE Response
CREATE Requestto : CSE1Basety : AEnm:AE2
CREATE Response
AE2 resourceType = <AE>
CREATE Requestto : CSE1Base/AE1ty : containernm : Temp_Room1
CREATE Response
CREATE Requestto : CSE1Base/AE1/Temp_Room1ty : contentInstancenm : Temperature01cn : content = 19°
CREATE Response
Containers example
Source: KETI
saref:WashingMachine rdf:type saref:WashingMachine , owl:Class ;
rdfs:comment "A washing machine is a device that has category saref:Appliance, accomplishes the task saref:cleaning and performs an actuating function of type saref:StartPauseFunction"^^xsd:string ;
rdfs:label "Washing machine"^^xsd:string ;
rdfs:subClassOf saref:Device ;
saref:accomplishes saref:Washing ;
saref:hasCategory saref:Appliance , saref:Load ;
saref:hasFunction saref:StartStopFunction ;
saref:hasState saref:START , saref:STOP .
saref:WashingMachine
ontologyReference
AE
startStopContainer
stateContainer
saref:WashingMachine
saref:WashingMachinerepresentation in oneM2M
AEwashingMachine1
descriptor
startStopContainer
stateContainer
ontologyRef "http://www.tno.com/saref#WashingMachine"
See next slideExtension under consideration in oneM2M R2
Maps to saref:StartStopFunction
Maps to saref:hasState
Adding services to SAREF
18 Source: CNRS-LAAS
Descriptor attribute in RDF
19
AEwashingMachine1
descriptor
startStopContainer
stateContainer
ontologyRef
<rdf:RDF<rdf:Description rdf:about="http://www.tno.com/saref#WASH_LG_123">
<rdf:type rdf:resource="http://www.tno.com/saref#WashingMachine"/><saref:hasManufacturer>LG</saref:hasManufacturer><saref:hasDescription>Very cool Washing Machine</saref:hasDescription>
<saref:hasLocation rdf:resource="http://www.tno.com/saref#Bathroom"/><saref:hasState>On</saref:hasState>
<msm:hasService rdf:resource="http://www.tno.com/saref#WashingService"/><msm:hasService rdf:resource="http://www.tno.com/saref#StateService"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.tno.com/saref#WashingService"><msm:hasOperation rdf:resource="http://www.tno.com/saref#WashingOperation"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.tno.com/saref#WashingOperation"><hr:hasMethod>Create</hr:hasMethod>
<hr:hasURITemplate>/CSE1/WASH_LG_123/startStopContainer </hr:hasURITemplate>
<msm:hasInput rdf:resource="http://www.tno.com/saref#Action"/></rdf:Description>
<rdf:Description rdf:about="http://www.tno.com/saref#StateService"><msm:hasOperation rdf:resource="http://www.tno.com/saref#StateOperation"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.tno.com/saref#StateOperation"><hr:hasMethod>Retrieve</hr:hasMethod>
<hr:hasURITemplate>/CSE1/WASH_LG_123/state/stateContainer/latest</hr:hasURITemplate><msm:hasOutput rdf:resource="http://www.tno.com/saref#State"/>
</rdf:Description></rdf:RDF>
Conclusions
oneM2M did consider the mapping of SAREF on oneM2M resource structureCame to the conclusion about the need to integrate service and operations as a means to link SAREF to oneM2M resource structure and operationsRequest SAREF core team to provide feedback on this approachNormative work has started in oneM2M and will progress in the next TP, May 2014, JapanAlso oneM2M is working on its own base ontology (not domain specific), next slide provide an example on how this base ontology could work and integrate other ontologies such as SAREF
Possible example for oneM2M base ontologywith link to SAREF
Source: CNRS-LAAS