Page 84 - 《软件学报》2021年第12期
P. 84
3748 Journal of Software 软件学报 Vol.32, No.12, December 2021
用,需要解决成本高昂、设备不灵活、客观理性差和安全保障这 4 个障碍.论文还为进一步研究提供了几个方
向,包括消除变化结构的需要、为用户提供简单的安全原语并支持家庭设备的组合.
因此,为减少终端用户编程的错误,TAP平台需要对用户生成 TAP规则进行指导,并实现模型的检查,自动发
现规则漏洞或冲突.Wang 等人 [14] 利用 IFTTT 平台,探讨了在 Triger-Action 平台中可能存在的规则漏洞,并借助
于自然语言处理的方法推断 Triger-Action 信息,实现了一个模型检查系统 iRuler,用于发现物联网中的规则间漏
洞.Celik 等人 [19,30,31] 认为,物联网中存在大量的设备交互.因此,不仅需要验证单个设备,还需要对设备的联合行
为进行检查.Soteria [30] 是一种静态分析系统,可从 IoT 应用程序的源代码中提取状态模型,并通过模型检查来验
证 IoT 应用程序或 IoT 环境是否符合已标识的属性.考虑到静态分析在估计物联网状态转换方面的局限性,
Celik 等人 [19] 继续开发了一个动态分析系统 IoTGuard,可通过在运行时监视设备执行行为,来强制执行已标识
的属性,并可以通过阻止违反属性的设备操作,或在运行时要求用户批准或拒绝违规操作来应对属性违规.肖丁
等人提出的基于知识图谱的 KGIID 算法 [32] 能够检测 TAP 编程模型中冲突的动作(隐式冲突).孟岩等人提出的
HODETECT 检测工具 [33] 利用无线侧信道技术从智能家居应用中提取工作逻辑,并用有限状态自动机建模,通
过在应用运行时监听无线加密流量的元数据来推测应用的执行状态,间接检测恶意应用.陈星等人 [34] 提出了智
能家居情境感知服务的运行时建模与执行方法,能够降低开发者开发智能家居情境感知服务的难度和复杂度.
更进一步地,TAP 服务提供平台还需要对存在缺陷的规则进行修复.Nandi 等人 [26] 注意到,终端用户在编写
规则时所犯的一个常见错误是触发器数量不足.因此,作者开发了 TrigGen,它可以根据规则中的操作自动生成
一组必要和充分的触发器,来帮助终端用户正确地编写规则.这种做法在一定程度上减少了意外行为和安全漏
洞的发生率,但是其对于潜在冲突的检测还有提升空间.为帮助非专业的物联网用户系统地实现高置信度的实
时 HA-IoT 系统,Bu 等人 [16] 介绍了一种自动化端到端编程辅助框架 MenShen,它能够检查自动化规则集是否违
反规范,从而为用户提供可能的解决方案.Zave 等人 [24] 建议在运行时通过优先级来减少设备管理和交互的成
本,并通过组合机制实现了目标.Zhang等人 [15] 将用户需要表达的属性转换为线性时序逻辑(LTL),自动合成满足
属性的 TAP 规则,并修复现有的 TAP 规则.
6 总 结
基于规则的智能家居系统是目前流行的一种智能家居系统,而编写琐碎、修改困难、错误难以追踪是以往
用户调查 [15] 所反映的问题.本文提出的 SS 范式以及配套的 SSRules 系统实现方式,使得用户规则编写和修改的
复杂程度大为减低;同时,设计的 SS 规则到 HA 规则的转译算法使得输入的 SS 规则能够在现有的智能家居系
统 HA 规则引擎上运行,并且通过辅助的 SSRules 运行时模块,能够提供规则执行异常检测的能力.
未来的工作重点在以下两个方面:一方面,采用模型检测技术实现对 SS 范式无法避免的缺陷进行检测,并
设计辅助用户编写 SS 规则和避免缺陷的实时反馈算法;另一方面,对于 SS 范式目前不能够表达的需求,进行用
户调查并寻找合适的多范式协同输入对策.
References:
[1] MARKETWATCH. Global Smart Home Market Size, Growth, Opportunity and Forecast to 2025. 2019.
[2] iResearch. 2018 China Smart Home Industry Research Report. 2018 (in Chinese). http://report.iresearch.cn/report/201808/3256.
shtml
[3] IFTTT. If this then that. 2018. https://ifttt.com/
[4] Home assistant: Awaken your home. 2019. https://www.home-assistant.io/
[5] Ur B, McManus E, Ho MPY, et al. Practical trigger-action programming in the smart home. In: Proc. of the Conf. on Human
Factors in Computing Systems. 2014. 803−812. [doi: 10.1145/2556288.2557420]
[6] Huang J, Cakmak M. Supporting mental model accuracy in trigger-action programming. In: Proc. of the 2015 ACM Int’l Joint Conf.
on Pervasive and Ubiquitous Computing (UbiComp 2015). 2015. 215−225. [doi: 10.1145/2750858.2805830]