configuration of smart environments made simple

39
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 Simple Combining Visual Modeling with Semantic Metadata and Reasoning

Upload: simon-mayer

Post on 18-Dec-2014

171 views

Category:

Science


2 download

DESCRIPTION

We present an approach that combines semantic metadata and reasoning with a visual modeling tool to enable the goal-driven configuration of smart environments for end users. In contrast to process-driven systems where service mashups are statically defined, this approach makes use of embedded semantic API descriptions to dynamically create mashups that fulfill the user's goal. The main advantage of the presented system is its high degree of flexibility, as service mashups can adapt to dynamic environments and are fault-tolerant with respect to individual services becoming unavailable. To support end users in expressing their goals, we integrated a visual programming tool with our system. This tool enables users to model the desired state of their smart environment graphically and thus hides the technicalities of the underlying semantics and the reasoning. Possible applications of the presented system include the configuration of smart homes to increase individual well-being, and reconfigurations of smart environments, for instance in the industrial automation or healthcare domains.

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