Lefan Zhang (UChicago) - End-User Programming in Smart Homes with Trigger-Action Programs

Return to Full Calendar
Date(s):
October 14, 2021 at 2:00pm - 3:00pm
Location:
Remote
Event Audience:
all
Lefan Zhang

Speaker: Lefan Zhang PhD Student, University of Chicago

Abstract: End-User Programming in Smart Homes with Trigger-Action Programs

End-user programming on Internet of Things (IoT) smart devices enables end-users without programming experience to automate their homes. Trigger-action programming (TAP), supported by several smart home systems, is a common approach for such end-user programming. However, it can be hard for end-users to correctly express their intention in TAP even under some daily automation scenarios.

This proposal introduces our efforts to enhance end-users' trigger-action programming experience. We believe that just asking trigger-action rules from users is not enough. Across several projects, we tested getting feedback from end-users through different inputs, from their manual behaviors in their daily lives to high-level safety properties that they think should hold.

We developed AutoTap, a system that lets novice users easily specify desired properties for devices and services. AutoTap translates these properties to linear temporal logic (LTL). Then it both automatically synthesizes property-satisfying TAP rules from scratch and repairs existing TAP rules.
We also created Trace2TAP, a novel method for automatically synthesizing TAP rules from users' past behaviors. Given that end-users vary in their automation priorities, and sometimes choose rules that seem less desirable by traditional metrics like precision and recall, Trace2TAP comprehensively synthesizes TAP rules and brings humans into the loop during automation \cite{zhang2020trace2tap}.

Guided by the above studies which each focus on a specific type of inputs, we propose another study that analyzes the advantage/disadvantage of getting each type of inputs from end-users under different scenarios. We plan to systematically explore types of trigger-action programming tasks end-users may face in their daily lives and compare which inputs are more useful under each type of them.
 

Type: talk