论文部分内容阅读
近几年来,在软件工程领域,基于构件的开发方式逐渐成为创建可扩展系统的一种重要手段。和传统的软件开发方法相比,基于构件的开发方法在体系结构、开发过程、软件方法学和软件构造方法等方面有所突破。基于构件的软件系统不仅具有模块化、可移植性、可重用性、可扩展性等优点,还支持异构分布式计算、系统的动态演进和升级。在基于构件的软件系统开发中,构件系统的动态重配置是提高系统灵活性和适应性的重要环节,也是近年来构件领域研究的一个热点。
软件系统的动态重配置是指系统在运行期间改变自身结构或配置属性的行为。传统的构件系统,缺少对构件和服务依赖关系的动态管理,而且在系统结构的完整性和系统状态的一致性管理上存在着不足,从而影响了系统的可用性和灵活性。本文针对上述不足,在OSGi规范的基础上,结合Java反射API,提出了一种基于构件代理和消息事件的动态重配置技术。该技术不仅能够实现构件动态重配置要求的基本功能,如构件的动态添加、删除和替换,还能保证系统结构的完整性和状态的一致性。
本文针对传统构件模型在依赖关系管理能力上的不足,在符合OSGi构件模型规范的基础上,对原有的构件模型做进一步扩展,实现构件-服务和服务-服务依赖关系的管理。本文还针对传统构件管理框架在构件动态重配置管理能力上的不足,结合OSGi规范和Java的反射技术,提供基于构件代理和消息事件的管理机制,保证系统结构的完整性和系统状态的一致性。
为使本文所提出的构件动态重配置技术得到实际应用,并在实践中检验所提出的理论和方法,我们设计和实现了符合OSGi规范、支持论文所提出的动态重配置技术的原型系统-动态重配置管理框架。此外,还基于原型系统做了性能测试实验,并对实验结果进行了分析。
本文的研究成果对于构件动态重配置技术的研究有很好的参考价值。