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
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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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
3|Simon Mayer
http://people.inf.ethz.ch/mayersi3|
Enable human users to better
monitor and control entire
smart environments
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
5|Simon Mayer
http://people.inf.ethz.ch/mayersi
Integrate Functionality across WoT Devices
Smart
Thermostat
Environmental
Sensor
Smart Umbrella
www
Web
Services
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!
Embed semantic functional service
descriptions in smart things representations
How? Describe service API
What?Describe what a
service does
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
𝑃𝑟𝑒𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 → 𝑃𝑜𝑠𝑡𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛
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
𝑃𝑟𝑒𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 → 𝑃𝑜𝑠𝑡𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 ∧ 𝐻𝑇𝑇𝑃 𝑅𝑒𝑞𝑢𝑒𝑠𝑡
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
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
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?
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).
}.
14|Simon Mayer
http://people.inf.ethz.ch/mayersi14|
OK. So I know the device URL.
How can I find the functional metadata?
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)