300 likes | 693 Views
Enabling smarter homes for everyone. Ratul Mahajan. Partners in crime. Colin Dixon. A.J. Brush. Sharad Agarwal. Bongshin Lee. Stefan Saroiu. Smarthomes. Connected devices for the home. I nexpensive Need “no new wires” Use regular voltage or batteries Wireless communication
E N D
Enabling smarter homes for everyone Ratul Mahajan
Partners in crime Colin Dixon A.J. Brush Sharad Agarwal Bongshin Lee Stefan Saroiu
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 Home Tour Questionnaire Inventory Semi-Structured Interview [Home automation in the wild: Challenges and opportunities, CHI 2011]
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”
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
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. HomeStore helps find compatible devices and apps HomeHub centralizes all devices for users and apps HomeCloudenables remote access and control
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]
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, seehttp://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 Domain characteristics Non-expert “admins” Heterogeneous devices and networks Interaction with the physical world User programming Predictability Robustness Security & privacy
Back to the future: Forecasting program behavior for predictable control
More partners in crime Madan Musuvathi Jason Croft Matt Caesar
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 device state Rule interaction Dependence on time Dependence on env. factors
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: 1 sec 0 sec
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
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/
Connected devices in the home Forecasted shipment of home automation systems Home Automation and Monitoring, ABI Research, 2011