30
Enabling smarter homes for everyone Ratul Mahajan

Enabling smarter homes for everyone Ratul Mahajan

Embed Size (px)

Citation preview

Page 1: Enabling smarter homes for everyone Ratul Mahajan

Enabling smarter homes for everyone

Ratul Mahajan

Page 2: Enabling smarter homes for everyone Ratul Mahajan

Partners in crime

A.J. Brush

Bongshin LeeSharad Agarwal Stefan Saroiu

Colin Dixon

Page 3: Enabling smarter homes for everyone Ratul Mahajan

Smarthomes

Page 4: Enabling smarter homes for everyone Ratul Mahajan

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

Page 5: Enabling smarter homes for everyone Ratul Mahajan

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]

Page 6: Enabling smarter homes for everyone Ratul Mahajan

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”

Page 7: Enabling smarter homes for everyone Ratul Mahajan

Extensibility

or

Why not smart homes?

Manageability

Page 8: Enabling smarter homes for everyone Ratul Mahajan

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

Page 9: Enabling smarter homes for everyone Ratul Mahajan

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]

Page 10: Enabling smarter homes for everyone Ratul Mahajan

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

Page 11: Enabling smarter homes for everyone Ratul Mahajan

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]

Page 12: Enabling smarter homes for everyone Ratul Mahajan

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, ….

Page 13: Enabling smarter homes for everyone Ratul Mahajan

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

Page 14: Enabling smarter homes for everyone Ratul Mahajan

Example third-party applications

For videos, see

http://research.microsoft.com/homeos/

Page 15: Enabling smarter homes for everyone Ratul Mahajan

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”

Page 16: Enabling smarter homes for everyone Ratul Mahajan

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

Page 17: Enabling smarter homes for everyone Ratul Mahajan

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

Page 18: Enabling smarter homes for everyone Ratul Mahajan

Many problems are still open

Predictability

Security & privacyRobustness

User programming

Domain characteristicsNon-expert “admins”

Heterogeneous devices and networksInteraction with the physical world

Page 19: Enabling smarter homes for everyone Ratul Mahajan

Back to the future: Forecasting program behavior for predictable control

Page 20: Enabling smarter homes for everyone Ratul Mahajan

More partners in crime

Jason Croft Matt Caesar Madan Musuvathi

Page 21: Enabling smarter homes for everyone Ratul Mahajan

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.”

Page 22: Enabling smarter homes for everyone Ratul Mahajan

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

Page 23: Enabling smarter homes for everyone Ratul Mahajan

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

Page 24: Enabling smarter homes for everyone Ratul Mahajan

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

Page 25: Enabling smarter homes for everyone Ratul Mahajan

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

Page 26: Enabling smarter homes for everyone Ratul Mahajan

Evaluation using real HA programs

Fast forwarding rate: 3.6-36,000xFound 4 bugs in 2 HA programs

Page 27: Enabling smarter homes for everyone Ratul Mahajan

Connected devices are everywhere

http://blogs.cisco.com/news/the-internet-of-things-infographic/

Page 28: Enabling smarter homes for everyone Ratul Mahajan

Backup

Page 29: Enabling smarter homes for everyone Ratul Mahajan

Program exploration

ratul | rws | june '12

Page 30: Enabling smarter homes for everyone Ratul Mahajan

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