Enabling smarter homes for everyone Ratul Mahajan Partners in crime A.J. Brush Sharad Agarwal Colin Dixon Bongshin Lee Stefan Saroiu.

Download Report

Transcript Enabling smarter homes for everyone Ratul Mahajan Partners in crime A.J. Brush Sharad Agarwal Colin Dixon Bongshin Lee Stefan Saroiu.

Enabling smarter homes for everyone
Ratul Mahajan
Partners in crime
A.J. Brush
Sharad Agarwal
Colin Dixon
Bongshin Lee
Stefan Saroiu
Smarthomes
Connected devices for the home
Inexpensive
Need “no new wires”
– Use regular voltage or batteries
– Wireless communication
Use maturing, reliable standards
– Z-Wave, ZigBee, Powerline
Study to understand the gap
Visited homes with modern automation systems
Interviewed 31 people across 14 homes
Inventory
Semi-Structured
Interview
Questionnaire
Home Tour
[Home automation in the wild: Challenges and opportunities, CHI 2011]
Why smarthomes?
Convenience
Peace of mind
“It allows me to be
lazy”
“I can track things when
I’m not there and know
that…it’s…secure”
Control
“I like just being
in control”
Why not smart homes?
Extensibility
or
Manageability
Existing abstractions for home tech
Network of devices
– Interoperability
protocols
Management
is still hard
DLNA,
Z-Wave,
Speakeasy,
…
• Users• must
manage
each
device/task
• Open,must
low-level
device access
• Developers
deal directly
w/ h/w
Appliance
– Monolithic systems
Extensibility is still hard
• Crestron,
Control4, EasyLiving, …
• Closed
set of tasks
• Fixed
over fixed devices
• Closed
set oftasks
devices
Remote
monitoring
Climate
control
Our abstraction
View the home as a computer
• Networked devices =~ peripherals
• Tasks over these devices =~ applications
• Adding devices =~ adding a peripheral
• Adding tasks =~ installing an application
• Managing networked devices =~ managing files
[The home needs an operating system (and an app store), HotNets 2010]
HomeOS overview
HomeStore
HomeCloud
Security
Climate
……..
HomeHub
Z-Wave, DLNA,
WiFi, etc.
HomeHub centralizes
all devices for users
and apps
HomeStore helps
find compatible
devices and apps
HomeCloud
enables remote
access and control
HomeHub layering model
Application
Mgmt. and access control
Device functionality
Device connectivity
. . . . .
Apps use high-level abstractions
• Simplifies app development
• Manifests enable compatibility checks
Primitives are specialized to home setting
• Simplifies management
Device capabilities are exported as services
• Decouples apps and device protocols
• Allows for differentiation by vendors
Device discovery, pairing, and comm. for
multiple protocols (e.g., DLNA, Z-Wave)
[An operating system for the home, NSDI 2012]
Prototype
Built using .NET and C#
– ~20K LoC (~3K kernel)
– 18 diverse apps (~300 lines
per app)
Support for several protocols and
devices
– Z-Wave, UPnP, DLNA, custom
– Dimmers, light switches,
cameras, motion sensors,
d/w sensors, ….
Field experience with HomeOS
12 homes running HomeOS for 4-8 months
– Using different devices and applications
• E.g., Cameras, light controllers, door-window sensors
42 student developers across 10 research groups
– Developed new drivers and apps
• E.g., energy meters, IM, appliance controllers
Example third-party applications
For videos, see
http://research.microsoft.com/homeos/
Field experience: The good
Users could manage their HomeOS deployments
Users particularly liked the ability to organically
extend their technology
Developers found the programming abstractions
and layering to be “natural”
Field experience: The bad
Users found it hard to diagnose faults
Interoperability protocols can be fragile
Not all device features may be exposed over the
network
Recap
Extensibility and manageability challenges are keeping
smart, connected homes out of the mainstream
HomeOS addresses them by providing a computer-like
abstraction for home technology
Many problems are still open
Predictability
Domain characteristics
Non-expert “admins”
Heterogeneous devices and networks
Interaction with the physical world
Robustness
Security & privacy
User
programming
Back to the future: Forecasting program
behavior for predictable control
More partners in crime
Jason Croft
Matt Caesar
Madan Musuvathi
Living with HA today is an adventure
“At one point I had a rule that would turn on the heat,
disarm the alarm, turn on some lights, etc. at 8am in the
morning on weekdays. What I didn’t consider was the fact
that I wouldn’t want this to happen when I was on vacation.
I came home from vacation to find a warm, inviting,
insecure, well lit house that had been that way for a week. I
didn’t realize until then that I needed the morning setup
process to only apply when the alarm was set in sleep mode
which I set every night before I go to bed. That’s just one
example, but the point is that it has taken me literally
YEARS of these types of mistakes to iron out all the kinks.”
Reasoning about the behavior of
HA programs is difficult
motionFrontPorch.Detected:
if (Now - timeLastMotion < 1 secs
&& lightMeter.LightLevel < 20)
FrontPorchLight.Set(On);
timeLastMotion = Now;
frontPorchLight.StateChange:
if (frontPorchState == On)
timerFrontPorchLight.Reset(5 mins);
timerFrontPorchLight.Fired:
if (Now.Hour > 6AM && Now.Hour < 6PM)
FrontPorchLight.Set(Off);
Dependence on
env. factors
Dependence on
device state
Dependence
on time
Rule
interaction
Predictable control through
virtual fast forwarding
Explore all possible future script behaviors
Challenge: Anything can happen anytime
Our approach:
– Use timed automata to reason about time
– Use program analysis to reduce input space
Timed automata
FSAs extended with virtual clocks (VCs)
– Divide time into indifference regions
motionFrontPorch.Detected:
if (Now - timeLastMotion < 1 secs
&& lightMeter.LightLevel < 20)
FrontPorchLight.Set(On);
timeLastMotion = Now;
timeLastMotion values:
0 sec
1 sec
∞
DeLorean: Our FF engine
Input: HA script, FF duration, invariants (optional)
Output: final states, violations
1. Transform HA programs
– Model devices
2. Program analysis (using Pex)
– Model time-related activities as VCs
– Partition input (event, environmental state) space
3. Explicit state model checking
– Subject a state to all possible stimuli and a delay
Evaluation using real HA programs
Fast forwarding rate: 3.6-36,000x
Found 4 bugs in 2 HA programs
Connected devices are everywhere
http://blogs.cisco.com/news/the-internet-of-things-infographic/
Backup
Program exploration
ratul | rws | june '12
Connected devices in the home
Forecasted shipment of home automation systems
14,000
Middle East & Africa
Latin America
Asia-Pacific
Europe
North America
12,000
(000s)
10,000
8,000
6,000
4,000
2,000
0
2010
2011
2012
2013
2014
2015
Home Automation and Monitoring, ABI Research, 2011
2016