一句话:AutoTap 将用户期望性质翻译为 LTL,并自动合成或修复触发-动作程序。
终端用户编程中的触发-动作编程(TAP)让用户描述智能设备与云服务的交互,但用户常难以正确表达意图。AutoTap 让新手用户直接指定设备与服务应满足的性质,将这些性质翻译为线性时序逻辑(LTL),并据此从零合成满足性质的 TAP 规则,或修复已有的 TAP 规则。作者先通过用户研究确定用户希望表达的性质类型,再据此设计系统;第二轮用户研究表明,新手使用 AutoTap 表达期望行为时比直接编写 TAP 规则犯的错误显著更少。实验表明 AutoTap 是一种简单且富有表达力的终端用户编程方案。
End-user programming, particularly trigger-action programming (TAP), is a popular method of letting users express their intent for how smart devices and cloud services interact. Unfortunately, sometimes it can be challenging for users to correctly express their desires through TAP. This paper presents AutoTap, a system that lets novice users easily specify desired properties for devices and services. AutoTap translates these properties to linear temporal logic (LTL) and both automatically synthesizes property-satisfying TAP rules from scratch and repairs existing TAP rules. We designed AutoTap based on a user study about properties users wish to express. Through a second user study, we show that novice users made significantly fewer mistakes when expressing desired behaviors using AutoTap than using TAP rules. Our experiments show that AutoTap is a simple and effective option for expressive end-user programming.
@inproceedings{ZhangHMBLU19,
title = {AutoTap: Synthesizing and Repairing Trigger-Action Programs Using LTL Properties},
author = {Lefan Zhang and Weijia He and Jesse Martinez and Noah Brackenbury and Shan Lu and Blase Ur},
booktitle = {ICSE},
year = {2019},
doi = {10.1109/icse.2019.00043}
}