论文部分内容阅读
近年来,以笔记本电脑、智能手机、PDA为代表的手持移动设备得到了日益广泛的应用,给人们的学习生活带来了很大的便利。相比与传统的分布式系统,移动计算有其自身的特点,开发移动应用时会遇到巨大的挑战。如当这些设备在移动时不得不面对网络的短暂性连接或是不可预知的掉线情况;这些设备的资源通常是很有限的,电池容量很小、CPU速度很慢、内存很少;他们要求能适应位置、上下文条件、网络带宽改变等环境的变化,同时做出适当的反应。中间件技术可以屏蔽平台的异构性,支持设备在异构的环境下互操作。但是传统的中间件设计一般遵循黑箱抽象原则,缺乏必要的开放性和灵活性,无法适应复杂动态多变的移动计算环境。反射式中间件在开发实现思想的指导下,将自身有效且有约束地开放给用户,以提高系统的灵活性。支持运行时检查中间件所提供的服务类型,动态的构造调用请求,为达到自适应和可配置等目标提供了有力的支撑。本文首先是比较了传统分布式系统中的中间件和移动分布式系统中的中间件的特征,指出了移动分布式系统的特殊需求,研究了反射的相关概念,中间件技术,比较了主流反射式中间件技术特点。接着对上下文感知的相关技术作了讨论,给出了一个上下文信息交互模型,应用在反射式中间件CARM设计中。并且论述了通过反射可以支持上下文感知,进而达到重配置与自适应。最后在吸收了dynamicTAO,CARISMA,ReMMoC等反射中间件优点的基础上,提出了一个基于上下文感知的反射式中间件架构CARM,通过反射达到上下文感知。在关键模块自适应引擎的设计中,给出了一个策略选择算法,解决了策略冲突的问题。文章采用请求截获机制,设置适当的截获点获取用户请求,在不影响中间件各项功能的前提下支持QoS管理,满足实际应用的QoS需求。结合无锡朝阳集团的实际项目“农产品农药残留检测系统”,在实际应用中部署中间件CARM,支持移动应用,验证了设计的合理性,达到了预期的目的。