Transcript
Page 1: Configuration of Smart Environments Made Simple

1|Simon Mayer

http://people.inf.ethz.ch/mayersi

Simon Mayer, Nadine Inhelder, Ruben Verborgh,

Rik Van de Walle, and Friedemann Mattern

Internet of Things 2014 Conference | Cambridge, MA | Oct. 7 2014

Configuration of Smart Environments Made SimpleCombining Visual Modeling with Semantic Metadata and Reasoning

Page 2: Configuration of Smart Environments Made Simple

2|Simon Mayer

http://people.inf.ethz.ch/mayersi

Embedded sensors and actuators measure and actuate

values in the real, physical world and allow for faster

and smarter decisions

Smart devices allow well-informed decisions

Umbrella lights up if forecast shows rain

Smart environments can perform complex tasks

Assembly line adjusts to current business needs

Smart Devices in a Smart World

Page 3: Configuration of Smart Environments Made Simple

3|Simon Mayer

http://people.inf.ethz.ch/mayersi3|

Enable human users to better

monitor and control entire

smart environments

Page 4: Configuration of Smart Environments Made Simple

4|Simon Mayer

http://people.inf.ethz.ch/mayersi

Internet of Things for basic network-level connectivity

between smart devices

Challenge: Isolated “Intranets of Things” on the application level

Web of Things: Application-level convergence

Fully integrate sensors and actuators with the World Wide Web

The IoT and the Web of Things

Page 5: Configuration of Smart Environments Made Simple

5|Simon Mayer

http://people.inf.ethz.ch/mayersi

Integrate Functionality across WoT Devices

Smart

Thermostat

Environmental

Sensor

Smart Umbrella

www

Web

Services

Page 6: Configuration of Smart Environments Made Simple

6|Simon Mayer

http://people.inf.ethz.ch/mayersi

Integrate Functionality across WoT Devices

www

I know that!

Ask me!

Is it going to rain

today?

What’s the

temperature?

76% chance!

Page 7: Configuration of Smart Environments Made Simple

Embed semantic functional service

descriptions in smart things representations

How? Describe service API

What?Describe what a

service does

Page 8: Configuration of Smart Environments Made Simple

8|Simon Mayer

http://people.inf.ethz.ch/mayersi8|

What?Describe what a

service does

Given a temperature value, I

can set this room to that

temperature!

Temperature Value Modify Room State

How? Describe service API

𝑃𝑟𝑒𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 → 𝑃𝑜𝑠𝑡𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛

Page 9: Configuration of Smart Environments Made Simple

9|Simon Mayer

http://people.inf.ethz.ch/mayersi9|

How? Describe service API

Given a temperature value, I

can set this room to that

temperature!

PUT to thermostat.comTemperature Value Modify Room State

𝑃𝑟𝑒𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 → 𝑃𝑜𝑠𝑡𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 ∧ 𝐻𝑇𝑇𝑃 𝑅𝑒𝑞𝑢𝑒𝑠𝑡

Page 10: Configuration of Smart Environments Made Simple

10|Simon Mayer

http://people.inf.ethz.ch/mayersi10|

Given a temperature value, I

can set this room to that

temperature!

No

tati

on

3

{

?newTemp a dbpedia:Temperature;

ex:hasValue ?celsiusValue;

ex:hasUnit "Celsius".

}

=>

{

?state :Office44 ex:hasTemperature ?newTemp.

_:request http:methodName "PUT";

http:requestURI

(<http://thermostat.com?temp=>?celsiusValue).

}.

Precondition

Postcondition

Request

Page 11: Configuration of Smart Environments Made Simple

11|Simon Mayer

http://people.inf.ethz.ch/mayersi11|

Given a temperature value, I

can set this room to that

temperature!

No

tati

on

3

{

?newTemp a dbpedia:Temperature;

ex:hasValue ?celsiusValue;

ex:hasUnit "Celsius".

}

=>

{

?state :Office44 ex:hasTemperature ?newTemp.

_:request http:methodName "PUT";

http:requestURI

(<http://thermostat.com?temp=>?celsiusValue).

}.

Postcondition

Request

Page 12: Configuration of Smart Environments Made Simple

12|Simon Mayer

http://people.inf.ethz.ch/mayersi12|

Given a temperature value, I

can set this room to that

temperature!

No

tati

on

3

{

?newTemp a dbpedia:Temperature;

ex:hasValue ?celsiusValue;

ex:hasUnit "Celsius".

}

=>

{

?state :SomePlace ex:hasTemperature ?newTemp.

_:request http:methodName "PUT";

http:requestURI

(<http://thermostat.com?temp=>?celsiusValue).

}.

Request

How can this service

be invoked?

Page 13: Configuration of Smart Environments Made Simple

13|Simon Mayer

http://people.inf.ethz.ch/mayersi13|

Given a temperature value, I

can set this room to that

temperature!

No

tati

on

3

{

?newTemp a dbpedia:Temperature;

ex:hasValue ?celsiusValue;

ex:hasUnit "Celsius".

}

=>

{

?state :SomePlace ex:hasTemperature ?newTemp.

_:request http:methodName "PUT";

http:requestURI

(<http://thermostat.com?temp=>?celsiusValue).

}.

Page 14: Configuration of Smart Environments Made Simple

14|Simon Mayer

http://people.inf.ethz.ch/mayersi14|

OK. So I know the device URL.

How can I find the functional metadata?

Page 15: Configuration of Smart Environments Made Simple

15|Simon Mayer

http://people.inf.ethz.ch/mayersi15|

HTTP OPTIONS is a good fit!

“This method allows the client to determine the options and/or requirements

associated with a resource, or the capabilities of a server, (…)” (RFC 2616)

Descriptions are returned using the Link Header (RFC 5988)

OPTIONS example.org/thermostat

Link: <therm.n3>; rel=“describedBy“

Page 16: Configuration of Smart Environments Made Simple

Semantic reasoning engines can process

these descriptions and automatically

combine services to achieve a user goal

Semantic Metadata

Aha!

Page 17: Configuration of Smart Environments Made Simple

This enables the goal-driven configuration

of smart environments!

Do *it*!

I can find out how

to do *it* myself!

Page 18: Configuration of Smart Environments Made Simple

18|Simon Mayer

http://people.inf.ethz.ch/mayersi18|

I want my environment to

have a temperature of 23°C

You should send a PUT

request to thermostat.com

that contains the number

“23” as payload!

Page 19: Configuration of Smart Environments Made Simple

19|Simon Mayer

http://people.inf.ethz.ch/mayersi19|

I want my environment to

have a temperature of 23°C

No way!

Only °F

inputs…

This will fail if no compatible

services are available…

Page 20: Configuration of Smart Environments Made Simple

:temp23 a dbpedia:Temperature;

ex:hasValue "23";

ex:hasUnit "Celsius".

?state a st:State;

log:includes {

:Office ex:hasTemperature :temp23.

}.

"PUT";

Page 21: Configuration of Smart Environments Made Simple

:temp23 a dbpedia:Temperature;

ex:hasValue "23";

ex:hasUnit "Celsius".

?state a st:State;

log:includes {

:Office44 ex:hasTemperature :temp23.

}.

"PUT";

Page 22: Configuration of Smart Environments Made Simple

"PUT";

The requests can be executed by the

reasoner or the client, or can be

parsed to mobile code….

Page 23: Configuration of Smart Environments Made Simple

A reasoning engine enables the dynamic

creation of service chains from the functional

semantic metadata of individual services

Semantic Metadata

Page 24: Configuration of Smart Environments Made Simple
Page 25: Configuration of Smart Environments Made Simple

25|Simon Mayer

http://people.inf.ethz.ch/mayersi

Advantages

Dynamic service composition in smart environments

Services becoming unavailable, new services emerging…

Page 26: Configuration of Smart Environments Made Simple

26|Simon Mayer

http://people.inf.ethz.ch/mayersi

Advantages

Dynamic service composition in smart environments

Rich vocabulary: Lots of ontologies out there

Page 27: Configuration of Smart Environments Made Simple

27|Simon Mayer

http://people.inf.ethz.ch/mayersi

Advantages

Dynamic service composition in smart environments

Rich vocabulary

Extremely efficient

300ms to chain

2000 services…

Page 28: Configuration of Smart Environments Made Simple

28|Simon Mayer

http://people.inf.ethz.ch/mayersi

Advantages

Dynamic service composition in smart environments

Rich vocabulary

Extremely efficient

Chaining 100 services with

up to 1000 options per step

Page 29: Configuration of Smart Environments Made Simple

29|Simon Mayer

http://people.inf.ethz.ch/mayersi

Challenges

Not straightforward in stateful smart environments

A room cannot have two different temperatures at the same time!

Approach: Helper ontology for state management

Details in the paper!

Page 30: Configuration of Smart Environments Made Simple

30|Simon Mayer

http://people.inf.ethz.ch/mayersi

Challenges

Not straightforward in stateful smart environments

Users need to be supported during goal formulation

Approach: Integration with visual programming language

Page 31: Configuration of Smart Environments Made Simple

31|Simon Mayer

http://people.inf.ethz.ch/mayersi

Challenges

Not straightforward in stateful smart environments

Users need to be supported during goal formulation

Approach: Integration with visual programming language

Page 32: Configuration of Smart Environments Made Simple

32|Simon Mayer

http://people.inf.ethz.ch/mayersi

Challenges

Not straightforward in stateful smart environments

Users need to be supported during goal formulation

Users require feedback on the interactions

Approach: Verbalization and Visualization

Page 33: Configuration of Smart Environments Made Simple

33|Simon Mayer

http://people.inf.ethz.ch/mayersi

Monitoring Interactions: Verbalization

I want my environment to

have a temperature of 23°C????Aha!

Page 34: Configuration of Smart Environments Made Simple

34|Simon Mayer

http://people.inf.ethz.ch/mayersi

Monitoring Interactions: Visualization

What is my smart

electricity meter up to?

[Mayer, Hassan, and Sörös, 2014]

Page 35: Configuration of Smart Environments Made Simple

35|Simon Mayer

http://people.inf.ethz.ch/mayersi

Monitoring Interactions: Visualization

So I can actually see

HTTP messages!

[Mayer, Hassan, and Sörös, 2014]

Page 36: Configuration of Smart Environments Made Simple

36|Simon Mayer

http://people.inf.ethz.ch/mayersi

Making functional semantics and reasoning

work in smart environments

Facilitation of the goal formulation step and provisioning

of methods to supervise composite services

Summary: Automatic Service Composition

Page 37: Configuration of Smart Environments Made Simple

37|Simon Mayer

http://people.inf.ethz.ch/mayersi

Scaling up to industrial automation scenarios

Enabling users to control device interactions

Future Work

YOU shouldn’t be

interacting…

Page 38: Configuration of Smart Environments Made Simple

38|Simon Mayer

http://people.inf.ethz.ch/mayersi

Thank You!

R. Verborgh, V. Haerinck, T. Steiner, D. Van Deursen, S. Van Hoecke, J. De Roo, R. Van de Walle, and J.

Gabarró Vallés: Functional Composition of Sensor Web APIs. Semantic Sensor Networks 2012

S. Mayer and G. Basler: Semantic Metadata to Support Device Interaction in Smart Environments. Web of

Things 2013

S. Mayer, N. Inhelder, R. Verborgh, and R. Van de Walle: User-friendly Configuration of Smart

Environments. PerCom 2014

S. Mayer, Y. N. Hassan, and G. Sörös: A Magic Lens for Revealing Device Interactions in Smart

Environments. SIGGRAPH Asia MGIA 2014

S. Mayer, N. Inhelder, R. Verborgh, R. Van de Walle, and F. Mattern: Configuration of Smart Environments

Made Simple. Internet of Things 2014

Slides are on www.slideshare.net/smnmyr

Page 39: Configuration of Smart Environments Made Simple

39|Simon Mayer

http://people.inf.ethz.ch/mayersi

http://andrewbleakley.com

http://www.webmarchand.com

http://www.patentspostgrant.com/

http://www.orkin.com

http://sweetclipart.com

http://la-matrice.org

http://learn.randolph.k12.ma.us

http://theparisreview.org

http://bestclipartblog.com

http://freepik.com

http://http://www.rugdots.com

http://www.productdose.com

http://westwoodblinds.co.uk

http://www.ambientdevices.com

http://www.pats.ua.ac.be

http://www.vesternet.com

http://www.rovingnetworks.com

http://www.qualitymechanicalservices.com

http://chantalteakettle.org

http://blog.eeye.com

http://cartographersguild.com

http://haverford.edu

http://clker.com

http://stickers-addict.fr

http://en.wikipedia.org

http://academycomicalarts.blogspot.com

Image Sources


Top Related