欢迎来到天天文库
浏览记录
ID:9794056
大小:1.22 MB
页数:12页
时间:2018-05-10
《ubistar:面向普适计算的自适应中间件平台》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、UbiStar:面向普适计算的自适应中间件平台史殿习王怀民丁博饶翔(国防科学技术大学计算机学院,长沙410073)一、引言随着软件密集型系统(Software-IntensiveSystem)逐渐取代许多由人工或机械控制的系统,“无时无处不在而又不可见”的普适计算理想[1]正在变成现实。例如,美军F-22战机80%的设备由软件控制[2];NASA早期的水手6号探测器仅使用了30行代码,而国际空间站代码行数将超过150万行[3]。软件已不再局限于封闭静态的桌面/企业环境,它们日益与现实世界的紧密结合,随时随地为用户提供主动便捷的计算服务。在上述背景下,自适应[4]正在成为软
2、件必须具备的基本能力:软件需要能够感知所在环境的变化,据此对其功能或结构进行主动调整,从而持续提供符合用户预期的服务。这种自适应过程将显著增加软件实现的复杂程度[5]。特别是在普适计算环境下,设备的高度异构性、不可靠的通信链路、物理和计算空间的动态性、持续变化的用户需求等诸多因素共同作用,有可能使得此类软件的开发和维护过程成为一场噩梦。在已有的软件工程实践中,中间件技术[6]已经被证明是降低应用开发难度的有效手段:通过沉淀各种共性问题的解决方案,中间件能够高效地支持分布式应用的构造和运行。随着计算模式的变迁,如何面向普适计算特点,为自适应软件提供有效的中间件基础设施,已经
3、成为软件工程领域的新挑战。文献[7]在调研后指出,缺乏适当的基础设施是阻碍普适计算系统广泛部署的因素之一。针对上述挑战,本文首先提出了基于自主单元的普适计算空间模型和应用框架,然后以支撑自主单元的运行和自适应行为为目标,设计了面向多种主流网络通信协议的自适应交互机制和场景无关的上下文处理机制,构造了基于微内核技术[8]的自适应软件运行基础设施,设计和实现了一种面向普适计算的自适应中间件平台UbiStar。本文后续内容组织如下:第2节在阐述相关工作基础上,分析普适计算环境为自适应中间件技术带来的挑战;第3节到第5节逐一阐述UbiStar中间件的关键机制;第6节设计实现了基于
4、微内核架构的UbiStar中间件原型系统;第7节通过所搭建的自适应应用验证中间件的功能;第8节对全文进行总结和展望。二、自适应中间件技术面临的挑战自适应软件能够感知环境变化并据此调整自身行为[4]。其中,行为的调整可以通过参数变化或结构在线修改等方式实现[9],这种运行时自调整能力是自适应软件区别于传统软件的本质特征。自适应中间件是指为自适应软件开发和运行提供有效支撑的中间件。本节将首先阐述自适应中间件相关研究工作,然后以普适计算为背景,分析其所面临的挑战。(一)自适应中间件相关研究工作中间件是指位于系统软件和应用软件之间的软件层,以公共服务、应用服务器、构件容器、应用程
5、序框架等形式存在,可以为上层应用的开发和运行提供直接和有效的支撑[10]。中间件领域对软件自适应的关注始于20世纪末:随着分布式应用向航空、电信、军事等领域扩展,中间件运行环境不再是一成不变的,迫切需要一定的自适应能力。早期研究主要集中于中间件自身如何通过重配置来适应环境变化[11]。例如,OpenORB在其内部采用构件来对组分进行封装,通过行为和结构反射实现自身的动态变化[12];DynamicTAO使用使用服务配置子(ServiceConfigurator)设计模式来改变自身的架构[13];UIC在设计上区分最小化的中间件内核和动态装载的特性(Personalitie
6、s),可以通过协议模块的动态装载实现与多种通信协议的互操作[14]。随着自适应软件的发展,研究者不仅仅关注中间件本身如何重配置,也开始关注对上层应用自适应的支持。上层应用的自适应往往是特定业务相关的,部份中间件内置了基于策略的管理、运行时软件体系结构、面向方面的编程、动态服务组合等共性机制,使得上层应用开发者可以以相对简单的方式实现自适应。例如,MADAM基于运行时体系结构模型和效用规则实现构件实例的自适应切换[15],其后继版本MUSIC则进一步拓展了对服务自主组合等的支持[16];CASA面向动态环境下的自适应应用,可以实现四类自适应动作:中间件底层服务的动态改变,方
7、面(Aspect)的动态编织和撤消,应用属性的动态改变,构件的动态重组装[17];Rainbow在运行时维护一个显式的体系结构模型,基于该模型所收集的信息触发自适应动作[18];Accord以异构、动态和开放的网格计算环境为背景,引入了规则Agent和组装Agent来实施自适应决策[19]。(二)普适计算环境带来的挑战尽管研究者已经作了许多有益的探索,然而现有自适应中间件大多并未考虑普适计算环境的特点。与此同时,许多面向普适计算的中间件虽然提供了对软件自适应的支持,但往往仅仅关注于人机界面自适应、构件容错等特定问题,例如PCO
此文档下载收益归作者所有