Presentation is loading. Please wait.

Presentation is loading. Please wait.

Enabling smarter homes for everyone Ratul Mahajan.

Similar presentations


Presentation on theme: "Enabling smarter homes for everyone Ratul Mahajan."— Presentation transcript:

1 Enabling smarter homes for everyone Ratul Mahajan

2 Partners in crime A.J. Brush Bongshin LeeSharad AgarwalStefan Saroiu Colin Dixon

3 Smarthomes

4 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

5 Study to understand the gap Visited 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]

6 Why smarthomes? “It allows me to be lazy” ConveniencePeace of mindControl “I like just being in control” “I can track things when I’m not there and know that…it’s…secure”

7 Extensibility or Why not smart homes? Manageability

8 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 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 Extensibility is still hard Closed set of tasks Closed set of devices

9 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]

10 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

11 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 checks Application Mgmt. and access control Device functionality Device connectivity..... [An operating system for the home, NSDI 2012]

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

13 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

14 Example third-party applications For videos, see

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

16 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

17 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

18 Many problems are still open Predictability Security & privacy Robustness User programming Domain characteristics Non-expert “admins” Heterogeneous devices and networks Interaction with the physical world Domain characteristics Non-expert “admins” Heterogeneous devices and networks Interaction with the physical world

19 Back to the future: Forecasting program behavior for predictable control

20 More partners in crime Jason CroftMatt Caesar Madan Musuvathi

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

22 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

23 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

24 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 sec 0 sec

25 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

26 Evaluation using real HA programs Fast forwarding rate: ,000x Found 4 bugs in 2 HA programs

27 Connected devices are everywhere

28 Backup

29 Program exploration ratul | rws | june '12

30 Connected devices in the home Home Automation and Monitoring, ABI Research, 2011 Forecasted shipment of home automation systems


Download ppt "Enabling smarter homes for everyone Ratul Mahajan."

Similar presentations


Ads by Google