Upload
stephen-sudbury
View
223
Download
0
Tags:
Embed Size (px)
Citation preview
Enabling smarter homes for everyone
Ratul Mahajan
Partners in crime
A.J. Brush
Bongshin LeeSharad Agarwal Stefan Saroiu
Colin Dixon
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 gapVisited homes with modern automation systems
Inventory Semi-Structured Interview
Questionnaire Home Tour
Interviewed 31 people across 14 homes
[Home automation in the wild: Challenges and opportunities, CHI 2011]
Why smarthomes?
“It allows me to be lazy”
Convenience Peace of mind Control
“I like just being in control”
“I can track things when I’m not there and know
that…it’s…secure”
Extensibility
or
Why not smart homes?
Manageability
Existing abstractions for home tech
Network of devices– Interoperability protocols
• DLNA, Z-Wave, Speakeasy, …• Open, low-level device access
Appliance– Monolithic systems
• Crestron, Control4, EasyLiving, …• Fixed tasks over fixed devices
Climate control
Remote monitoring
Management is still hard• Users must manage each device/task• Developers must deal directly w/ h/w
Extensibility is still hard• Closed set of tasks• Closed set of devices
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
HomeHub
Security ……..
HomeStore
Z-Wave, DLNA, WiFi, etc.
HomeHub centralizes all devices for users
and apps
HomeStore helps find compatible
devices and apps
HomeCloud
HomeCloud enables remote
access and control
Climate
HomeHub layering model
Device discovery, pairing, and comm. for multiple protocols (e.g., DLNA, Z-Wave)
Device capabilities are exported as services• Decouples apps and device protocols• Allows for differentiation by vendors
Primitives are specialized to home setting• Simplifies management
Apps use high-level abstractions• Simplifies app development• Manifests enable compatibility checksApplication
Mgmt. and access control
Device functionality
Device connectivity
. . . . .
[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, ….
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
Field experience with HomeOS
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
Security & privacyRobustness
User programming
Domain characteristicsNon-expert “admins”
Heterogeneous devices and networksInteraction with the physical world
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 time
Dependence on env. factors
Rule interaction
Dependence on device state
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
timeLastMotion values:
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;
∞1 sec0 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,000xFound 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
Home Automation and Monitoring, ABI Research, 2011
2010 2011 2012 2013 2014 2015 2016 0
2,000
4,000
6,000
8,000
10,000
12,000
14,000
Middle East & AfricaLatin AmericaAsia-PacificEuropeNorth America
(000
s)
Forecasted shipment of home automation systems