TD extended with iotschema.org Darko Anicic, Michael Koster WoT F2F - - PowerPoint PPT Presentation

td extended with iotschema org
SMART_READER_LITE
LIVE PREVIEW

TD extended with iotschema.org Darko Anicic, Michael Koster WoT F2F - - PowerPoint PPT Presentation

Web of Things TD extended with iotschema.org Darko Anicic, Michael Koster WoT F2F Meeting Burlingame, USA Motivation: Thing Discovery TD Directory Need AirConditioner Problem Statement Discovery of Things suitable for a WoT


slide-1
SLIDE 1

Web of Things TD extended with iotschema.org

Darko Anicic, Michael Koster

WoT F2F Meeting Burlingame, USA

slide-2
SLIDE 2

Motivation: Thing Discovery

Need AirConditioner TD Directory

  • Problem Statement

– Discovery of Things suitable for a WoT application; – Interop client can discover Things in order to dynamically adapt applications to changes, e.g., to replace malfunctioning sensor with an equivalent one;

slide-3
SLIDE 3

Motivation: Thing Discovery

Need AirConditioner TD Directory

  • Problem Statement

– Discovery of Things suitable for a WoT application; – Interop client can discover Things in order to dynamically adapt applications to changes, e.g., to replace malfunctioning sensor with an equivalent one;

MyAirConditionerP1 TD

slide-4
SLIDE 4

Motivation: Thing Discovery

Need AirConditioner TD Directory

  • Problem Statement

– Discovery of Things suitable for a WoT application; – Interop client can discover Things in order to dynamically adapt applications to changes, e.g., to replace malfunctioning sensor with an equivalent one;

AirConditioner TD

slide-5
SLIDE 5
slide-6
SLIDE 6

Air Conditioner Uniquely Identifiable

slide-7
SLIDE 7

Interaction Patterns of AirConditioner Capability

slide-8
SLIDE 8

IOT SCHEMA

Overview

slide-9
SLIDE 9

Narrow Waist in System Design

OCF dotdot Z-Wave Fairhair IP Networks LAN/WAN (WiFi, Thread) Semantic Interoperability (Software Adaptation) App App App App

Many Applications. Local and Remote Many Devices, Different Ecosystems Common Infrastructure (Protocols, Formats, and Meta Models)

Internet of Things Web of Things

slide-10
SLIDE 10

What needs to be built?

  • Application level semantic interoperability

– Well known formats to describe common affordances of connected things (What does it do? What can I control?) – A way to describe how to interact with connected things from different device ecosystems, which use similar protocols but diverse data models – Enable easy implementation of Bridges, Libraries, Translators, Mappings, Bindings, Proxies

slide-11
SLIDE 11

Layers in the Semantic Stack

Transport UDP/TCP Protocols, Formats

IETF CoAP, CBOR, Link-Format

Device Ecosystems OCF, Zigbee, Z-Wave, Fairhair Networks WiFi, IPV6, Bluetooth Concrete Protocols Abstract Semantics Semantic Vocab

W3C Thing Description, hypermedia controls iotschema.org, ontologies

Internet of Things Protocol Narrow Waist Web of Things Semantic Narrow Waist Applications Interoperable Applications Diverse Applications Diverse Devices

slide-12
SLIDE 12

Capability Abstraction

  • Connected things expose simple "traits" and

functional affordances like REST resources, common command sets

  • A capability is an abstraction of something a

connected thing can do, like measure temperature or switch on and off

  • Capability descriptions can be layered and

composed for instances of connected things

slide-13
SLIDE 13

Examples of Capabilities

Thing Capabilities Properties Type Actions Motion Sensor Motion Sensing Motion Boolean (read) Temperature Temperature Sensing Temperature Number (read) Light Switch SwitchState Boolean TurnOn TurnOff Light Level Control Level TransitionTime Number Number MoveToLevel MoveLevel StepLevel

slide-14
SLIDE 14

Different Layers of iotschema.org

Data Types Interaction Patterns Capabilities

slide-15
SLIDE 15

Available Resources for iotschema

  • Current schema location: http://iotschema.org/
  • A stable version should be moved to:

http://iot.schema.org/

  • GitHub repo:
  • https://github.com/iot-schema-collab
  • Working document and notes:
  • https://docs.google.com/document/d/1p8KIUEcQYse
  • PzvjtkfvVCNAXx3OfyuTUEReB3H2B5M/edit
slide-16
SLIDE 16

TD RECIPES

Overview

slide-17
SLIDE 17

Motivation: Thing Discovery

Need AirConditioner TD Directory

  • TD Directory:

– Method: POST – URI: /td-lookup/sem – Payload: ?td a <http://iotschema.org/AirConditioner> .

  • For users familiar with SPARQL and semantic models

AirConditioner TD

slide-18
SLIDE 18

Recipe

Interactions (Event A Action B) Interaction Patterns (Events, Properties, Actions) Discovery Script Generation

  • How to easily create WoT applications based on application

templates

  • JSON-LD specification similar to Thing Description
slide-19
SLIDE 19

Recipe Example

Motion Detector Light Switch

Turn a light on when motion is detected in a room.

Ingredients Interactions

MotionStatus Property SUBSCRIBE MotionStatus TurnOn Action UPDATE TurnOn or TurnOff Action UPDATE TurnOff

slide-20
SLIDE 20

Recipe Example

Motion Sensor

MotionStatus Prop.

Light Switch

TurnOnAction TurnOffAction status no yes

Motion Detector Light Switch

Turn a light on when motion is detected in a room.

Ingredients Interactions

MotionStatus Property SUBSCRIBE MotionStatus TurnOn Action UPDATE TurnOn or TurnOff Action UPDATE TurnOff

slide-21
SLIDE 21

Motion Detector Light Switch

Turn a light on when motion is detected in a room.

Ingredients Interactions

MotionStatus Property SUBSCRIBE MotionStatus TurnOn Action UPDATE TurnOn or TurnOff Action UPDATE TurnOff

TD Interaction Patterns & iotschema.org Capability Implemented with W3C WoT Script API

Recipe Example

Motion Sensor

MotionStatus Prop.

Light Switch

TurnOnAction TurnOffAction status no yes

slide-22
SLIDE 22

Motion Detector Light Switch

Turn a light on when motion is detected in a room.

Ingredients Interactions

MotionStatus Property SUBSCRIBE MotionStatus TurnOn Action UPDATE TurnOn or TurnOff Action UPDATE TurnOff

TD Interaction Patterns & iotschema.org Capability Implemented with W3C WoT Script API

Recipe Example

Motion Sensor

MotionStatus Prop.

Light Switch

TurnOn Action TurnOffAction status no yes

Discovery & Binding

slide-23
SLIDE 23

Motion Detector Light Switch

Turn a light on when motion is detected in a room.

Ingredients Interactions

MotionStatus Property SUBSCRIBE MotionStatus TurnOn Action UPDATE TurnOn or TurnOff Action UPDATE TurnOff

TD Interaction Patterns & iotschema.org Capability Implemented with W3C WoT Script API

Recipe Example

Discovery & Binding

Motion Sensor

MotionStatus Prop.

Light Switch

lightOn Action lightOffAction status no yes

Motion Sensor

MotionStatus Prop.

Light Switch

TurnOnAction TurnOffAction status no yes

slide-24
SLIDE 24

{"@context" :… "name" : "LightControlOnMotionDetection", "recipeId" : ["http://www.w3.org/ns/td-recipe/LightControlOnMotionDetection"], "comment": "The recipe for detecting the motion in a room and controls the lamp in a room.", "hasIngredient" : [ {"@type" : "ThingIngredient", "thingIngredient" : [ { "@type" : "http://iotschema.org/MotionDetected", "http://iotschema.org/Capability" : {"@type" : "http://iotschema.org/MotionControl"}}]}, {"@type" : "ThingIngredient", "thingIngredient" : [ { "@type": "http://iotschema.org/BinarySwitch", "iot:Capability" : {"@type" : "http://iotschema.org/LightControl"}} ]}], "t2TInteraction":[ {"@type" : "T2TInteraction", "t2TInteractsWith":[ {"@type" : "http://iotschema.org/MotionDetected", "operation" : "Subscribe"}, {"@type" : "http://iotschema.org/BinarySwitch", "operation" : "Update"}]}]}

Interaction Patterns iotschema Capability Interactions

Example Recipe

slide-25
SLIDE 25

Tool: Recipe Workbench

slide-26
SLIDE 26

Thank You!

Questions please…