论文部分内容阅读
从主机时代,到个人计算机时代,再到今天移动计算时代,计算机已经不再只是一种人们在桌面上看到的庞然大物,越来越多的传感器、嵌入设备出现在我们生活环境当中,它们体积很小,拥有很强的计算能力,经常在我们意想不到或者难以进入的地方为我们提供信息服务。嵌入式设备、传感器技术、RFID技术以及各种无线连接方案的日益成熟为越来越多的设备之间直接的交互提供了技术支撑,这些基础技术的进步逐步将信息技术的发展引向威瑟提出的普适计算。普适计算描绘了未来以人为中心的智能计算环境,计算设备与物理环境有机的集成在一起,在这样一个环境中,人们能够像用笔写字一样使用计算服务,人们只需要把注意力集中在他们要做的事情本身,而不是作为工具的计算机。这样一个崭新的计算模式受到各界的广泛关注。麻省理工、卡耐基梅隆、伊利诺伊斯大学、加州理工伯克里分校、微软、惠普、IBM等著名高校与企业,纷纷开展了普适计算相关的研究工作,建立了Oxygen、Aura、One.World、Whale等各种试验系统。但是目前的试验系统主要还是集中在普适性方面的研究,一方面,他们多数仅仅重复威瑟提出的智能办公这样一个简单的场景,另一方面,现有的试验系统研究重点在于围绕单个用户实现背景感知、多通道信息获取与呈现等相对流程固定的应用。为了实现系统的动态适应性,Oxygen、Aura、One.World等采用任务抽象等方法,通过反射机制实现普适环境下系统的可配置服务。无论是Aura采用的LuaOrb语言,还是Whale中采用的XML语言,都只是集中在程序集层次上的可配置,很少把研究的重点放在如何从规范说明书开始就实现系统的可配置性。程序集层级的可配置通过运行前的动态组合与配置实现应用扩展,不能满足普适计算环境下以用户为中心,面向任务的需要。普适计算以用户为中心、面向任务、背景感知的特点决定了我们无法为整个系统设计完整的需要规范,从而进行系统开发。尤其对于世界杯、奥运会、世博等大型社会活动来说,大量的人机交互和需求各异性存在。在这样一个环境中设计系统具有非常大的挑战性,一方面,人们并不是很清楚地知道需要提供怎样的系统服务,我们还很难想象普适计算的“任何地方、任何时间、任何设备”都能获取服务意味着给我们的生活带来怎样的巨大变化。另一方面,设计系统与运行系统往往有很大的差异,因为在设计系统的时候,人们无法确知有多少人、多少设备、多少服务将会参与到这个系统中来。场景作为一种有效的表达人们对于系统功能需求的非形式化描述手段,可以通过头脑风暴、角色游戏等各种参与方法让人们勾勒出系统的轮廓。场景具有的面向任务特性使得其适合在普适计算环境下用于描述用户需求。针对普适计算环境的特点,我们寻求采用场景作为从需求层实现系统配置的解决方法,以期通过动态组合不同的场景满足不同用户的需求。本文提出一个基于场景的可配置系统架构,通过使用场景来建立任务的片断描述,并以之作为功能实现基础,通过动态组合的方式满足普适环境下动态的需求变化。作为这个架构的基础,我们提出了一个参与式设计方法,通过统一设计接口,让专家、用户与运营商等系统干系人(Stakeholder)共同参与到系统设计中去。在整个研究中,我们关注于系统如何满足个性需求的动态变化和在大量人机交互的情况下,如何通过智能代理减少直接交互。在介绍设计方法之前,我们首先介绍了一个人与代理交互的描述语言,通过标准化语法,将人们的需求通过行为描述、说明、形式化等步骤转化为标准的描述脚本,克服场景非形式化的弱点。这些脚本可以作为独立的服务内容存在,也可以将不同的脚本组合起来,实现不同的系统功能。而且,由于脚本与脚本中的功能实现代码分开,可以实现需求层级开始的系统配置。基于场景的设计方法中,将系统模型拆分为专业模型和设计模型。专业模型是由具有专业知识和经验的领域专家、系统使用者、系统运营者通过标准的人机交互设计接口,在场景设计人员的帮助下完成创建场景的过程。专业模型与实现代码分开,与实现语言无关,很好的抽象了人们的功能需求、协作协议等等。而计算机专家与程序设计人员,则根据技术需要,设计系统的架构、软件模块之间的通讯协议等等。场景作为具有背景感知功能的独立单元存在。场景与场景之间可以通过形式化方法进行验证后组合在一起,满足不同的应用需求。在pi演算的基础上引入互连接(bilink)和兼容性关系,我们定义了场景组合的形式化描述。为了完成设计与实现之间的衔接,我们设计实现了一个与FIPA标准兼容的多代理开发平台describer。它除了具有FIPA标准的AMS、DF、MTS之外,还具有解析场景与功能代码绑定机制的模块,保证其在动态、分布式环境中使用。奥运会、世博上海等大型的社会活动中强大而丰富的网络和硬件条件为在一个室外的广域范围内建立普适计算环境提供了保障。我们将提出的模型和框架应用在Demand Bus实验平台基础上,设计实现了一个上海地区的Demand Bus服务原型模拟系统,通过与Noda等人试验的比较来验证我们方法的正确性。在对比试验中,我们通过改变场景文件实现协议修改,在不改变代码情况下考察不同的行为模型。同时通过场景文件的组合,可以实现demand bus服务与其他服务的组合。