论文部分内容阅读
我们处于一个普适计算的时代,计算无处不在。海量的智能手机、平板电脑等计算设备会搭载各种传感器采集周围的环境信息。而一类上下文感知应用会利用这些环境上下文信息感知环境的变化,并据此改变自身的行为,为用户提供针对性的服务。然而考虑到环境的复杂性与传感器精度的有限性,采集的上下文中通常会含有噪声。这些不准确的噪声数据会误导应用对环境的正确感知,进而导致应用运行异常。为了保证应用使用了正确的上下文,可以在应用与传感器采集模块之间加入一个中间件,用来检测并修复不准确的上下文。目前一个常用的做法是先进行约束检测,根据应用周边环境的特点,为该环境中的上下文设计一组一致性约束,每条约束都描述一组上下文需要满足的性质。如果一组上下文违反了某条约束,我们就认为这组上下文中包含一致性错误。下一步就需要采用修复策略对检测到的错误进行修复。鉴于一致性错误处理的重要性,我们设计并实现了一个结合硬件设备与软件系统的环境上下文一致性错误处理与展示平台SimCity,能够有效地对一致性检测和修复方法进行检验。具体而言本文的主要工作如下:1.我们搭建了一个物理实验环境,包含城市建筑、街道、乐高EV3程序块、EV3红外传感器以及蓝牙车辆设备。该迷你城市可以利用众多传感器不断地采集真实的上下文数据,为检验上下文一致性错误处理方法提供真实且充足的数据来源。2.我们实现了一个拥有多个交互模块的软件系统,(1)能自动维护与所有设备的连接,在检测到设备断开后尝试重连;(2)能自动利用红外传感器采集上下文,并交给作为中间件的一致性检测与修复模块使用;(3)能通过不断生成任务来持续地操控车辆行为;(4)能通过分析交通状况,对车辆进行自适应调度,避免撞车;(5)能根据突发情况及时切换系统的运行状态,执行重置、重定位以及暂停操作,增强系统的鲁棒性。3.我们提供了易于理解、操作友好的用户界面,允许用户通过操控车辆、发布任务影响SimCity系统的行为。用户可以使用界面启用不同的运行场景,观察对一致性错误的不同处理对系统产生的影响。4.我们通过实验考察了 SimCity的性能。结果表明,SimCity对一致性错误的正确修复率达到84%,并且未修复的错误利用SimCity的重定位功能进行解决的成功率也在87%以上。在检验一类当上下文发生变化即刻进行约束检测的一致性检测方法时,相比构造模拟上下文与记录真实上下文两种常用的检验方法,SimCity额外发现了一致性错误的误报情况,表现出更好的检验能力。