Enabling smarter homes for everyone - PowerPoint PPT Presentation

Audrey
enabling smarter homes for everyone n.
Skip this Video
Loading SlideShow in 5 Seconds..
Enabling smarter homes for everyone PowerPoint Presentation
Download Presentation
Enabling smarter homes for everyone

play fullscreen
1 / 30
Download Presentation
Enabling smarter homes for everyone
360 Views
Download Presentation

Enabling smarter homes for everyone

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Enabling smarter homes for everyone Ratul Mahajan

  2. Partners in crime Colin Dixon A.J. Brush Sharad Agarwal Bongshin Lee Stefan Saroiu

  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 Interviewed 31 people across 14 homes Home Tour Questionnaire Inventory Semi-Structured Interview [Home automation in the wild: Challenges and opportunities, CHI 2011]

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

  7. Why not smart homes? or

  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 • Management is still hard • Users must manage each device/task • Developers must deal directly w/ h/w Remote monitoring Climate control • 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 HomeStore HomeCloud Security Climate …….. HomeHub Z-Wave, DLNA, WiFi, etc. HomeStore helps find compatible devices and apps HomeHub centralizes all devices for users and apps HomeCloudenables remote access and control

  11. HomeHub layering model • 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]

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

  14. Example third-party applications For videos, seehttp://research.microsoft.com/homeos/

  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 Domain characteristics Non-expert “admins” Heterogeneous devices and networks Interaction with the physical world User programming Predictability Robustness Security & privacy

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

  20. More partners in crime Madan Musuvathi Jason Croft Matt Caesar

  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 device state Rule interaction Dependence on time Dependence on env. factors

  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. 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: 1 sec 0 sec

  25. DeLorean: Our FF engine Input: HA script, FF duration, invariants (optional) Output: final states, violations • Transform HA programs • Model devices • Program analysis (using Pex) • Model time-related activities as VCs • Partition input (event, environmental state) space • Explicit state model checking • Subject a state to all possible stimuli and a delay

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

  27. Connected devices are everywhere http://blogs.cisco.com/news/the-internet-of-things-infographic/

  28. Backup

  29. Program exploration

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