论文部分内容阅读
随着计算机以及网络技术不断发展,软件的运行环境特征逐步由传统的封闭、静态、可控转向开放、动态、难控。普适计算、Internet计算等新型计算范型不断涌现。这种趋势对软件的开发方式和使用方式亦产生深刻影响,由分散的自主构件组装或服务组合而成的系统逐渐增多。用户对软件的依赖性不断增长的现实需要应用系统提供服务的持续可用性和较高的满意度,这一需求使得软件自适应技术研究更加重要。传统的软件自适应方法大多针对于特定问题,简化选取若干环境变量,预设自适应策略,虽具备响应快等优点但系统可复用性以及异构环境下适应程度较低。在动态、难控等为特征的开放环境下软件自适应技术的研究面临诸多新的挑战。运行平台、用户需求偏好、服务发现及交互协议等多样化复杂情境特征影响系统的自适应行为选择,这就需要对情境信息进行细致分类并加以显式建模,辅以语义信息,以利于软件系统进行自动理解并做出适应性调整。开放环境下情境信息的这种丰富性和复杂特征亦会带来诸多问题,比如当多个非正交适应规则同时被满足时,如何对这些规则进行有效的冲突和依赖性检测,以确保适应性调整能正确实施;在异构协议环境下,如何支持软件进行自适应的服务发现与多模式交互以提供持续可用性;在移动环境下,如何支持自适应地选择应用组件于网络中迁移以满足用户的持续性使用需求等。源于封闭环境假设的解决途径在开放环境下可用性及灵活性有所不足。本文从普适计算场景出发,针对上述若干关键问题,从体系结构的角度,尝试给出较为系统的解决方法,主要工作如下:
1.提出了一个开放环境下的基于本体的情境模型。总结了情境建模技术在开放环境下对于自适应技术研究的重要性,明确了情境显式化在开放环境下的必要性。将本体模型扩充应用到体系结构层次,与前期关于基于体系结构对象的动态演化技术相结合,从而缩小了外部环境描述与内部体系结构之间的语义差距,使得自适应策略选择亦可以参考体系结构知识,并在此基础之上进而初步探讨了一个开放环境软件自适应框架,该框架有助于理解开放环境下软件自适应相关概念,技术及关注点。
2.提出一个开放环境下,应用组件的自适应迁移机制。结合松耦合的应用体系结构模型与基于本体的推理技术,该机制支持自适应组件级的移动特征,利用属性图文法对组件迁移所导致的体系结构部署视图变化进行描述,从而可以对相关性质进行形式化地检测。对比相关工作,实验结果表明,该机制可以有效降低网络负载,提高响应速度,从而提高用户对于软件服务的满意度。
3.提出一种基于连接子的异构服务发现及多模式交互的自适应调整方法。该方法针对开放环境的异构等特征,结合情境感知技术,能够对不同子环境下的服务发现协议和交互模式予以自适应的支持。实验初步证明了该模型能够与情境模型较好的结合,对于异构环境下的服务发现和使用有着较好支持。
4.提出用属性图文法关键对分析技术形式化地检测软件体系结构重配置规则的冲突和依赖关系。首先用属性图文法形式化地描述了软件体系结构风格,体系结构重配置的规则由图重写机制表达。通过关键对分析和依赖关系分析,静态地对多个规则进行冲突和依赖检查,从而将之划分为四类:并行、依赖、单向冲突、互冲突。图文法制导的体系结构开发环境可以用来确保构件(服务)组装过程以及自适应过程符合体系结构规约。
5.设计并实现了一个支持开放环境下自适应软件开发中间件系统Artemis-MAC。该平台支持对于开放环境进行本体建模、推理,并根据自适应规则自动调整软件体系结构模型,集成了规则冲突检测模块,支持对多个规则的冲突和依赖关系检测。
6.探讨了相关技术在水利查询调度管理领域的应用。水利查询管理系统具有管理范围广,平台多样化,情境信息复杂等多种开放环境特征,本文尝试将上述提出的若干技术用于此领域之中,初步实现了一个原型系统,在多变的情境中具备良好的自适应能力和可扩充性,展示了本文提出的若干技术的可行性和有效性。