Enabling smarter homes for everyone Ratul Mahajan Partners in crime A.J. Brush Sharad Agarwal Colin Dixon Bongshin Lee Stefan Saroiu.
Download ReportTranscript 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