论文部分内容阅读
以资源受限、用户移动、环境异构、计算分布为特征的普及计算环境已逐步形成,而普及计算环境对软件而言是一个不断发生变化(如用户的移动、设备的增减、网络的通断等)的运行环境。然而,传统的软件开发技术和框架主要针对稳定的分布式系统,已不能满足普及计算对软件的新要求。因此,需要一种新型的软件技术,它能运行在资源受限的设备上,感知环境的变化,动态改变自身的结构和行为,从而在没有人工干预的情况下更优地为用户提供服务。代码迁移技术被普遍认为适合普及计算新环境的要求,不过,目前大多数项目应用的只是移动代理(MA)这单一的迁移模式。这显然已经无法满足合普及计算新环境复杂多变和移动不稳定的要求。
针对单一迁移模式的不足,本文提出了以策略为基础的多种代码迁移模式的集成模型。迁移代码和迁移策略的分离对于减少代码迁移的控制的复杂性,促使基于移动代码的服务模型、运行配置和维护的迅速发展至关重要。为了实现分离的概念,本文提出了一个基于策略的动态代码迁移管理框架,采用策略机制根据环境状态选择最佳交互模式,并给出了制定策略的定量和定性的分析方法。此外,本文研究了一个基于反射式的迁移控制方法并比较策略与基于反射式的编程解决方案,指出它们的主要区别和结论。本论文研究的主要内容和结论包含以下几个方面:
1.通过分析普及计算新环境的特征,以及代码迁移技术和策略机制在普及计算中应用的理论基础和系统框架,提出了多种代码迁移模式的集成模型。然后分析模型中各个模块的功能和原理,提出了策略树和组件库等模块的构造存储原理,分析了模型的的运行过程以及在使用单个迁移模式的模型中,组件的执行和迁移过程。
2.指出在多种迁移模式集成的方法中,策略机制具有较强的灵活性和可复用性,介绍了利用Java的序列化和类装载机制实现模型的方法和原理。分析了组件的具体迁移过程。然后在MA系统SOMA的基础上,实现了新的以策略机制为基础的新系统。讨论了策略机制与SOMA相结合的方法,以及需要对SOMA系统作的扩展和接口类设计。
3.分别运用定量和定性的方式分析了多种迁移模式的性能及其使用环境。将迁移环境中的条件参数公式化,分析了运用环境参数对各模型进行分析比较的具体方法。运用比较结果选择策略的方法,对理想网络环境中各迁移模式的性能和消耗能源的进行比较。
4.结合智能病房的实例,给出了利用集成模型实现灵活选择迁移模式的智能病房系统的方法,并分析在实例中策略的运用机制,然后运用定性分析方法对一个使用任务进行各模式间的比较。最后验证了多种代码迁移模式集成与选择优化的可行性。
5.结合旅行导游助理的实例,给出了以新系统和反射式为基础的方法实现系统的运作,并比较两种方法实现的导游助理系统并进行性能的评估和比较。