论文部分内容阅读
现代社会是一个高度信息化的社会,计算机和信息处理在军事、航空、航天、航海、工业自动化、交通、能源、通信、金融等领域得到了广泛应用,信息系统已经成为人们赖以生存的基础设施。软件作为计算机系统的灵魂,其发展也日新月异。随着软件的复杂性的不断提高,软件的高可靠性也得到了越来越多的关注。如何开发一个具有高可靠性的软件系统成为未来信息技术发展必须解决的重大问题,也是对人类智力的挑战。对高可靠性技术的研究已经成为一个新兴的热点,同时软件高可靠性也成为21世纪计算机主要发展方向之一。 自愈合系统是提高系统可靠性的一种手段。它结合了提高系统可靠性的容错与除错的方法,在运行时对运行系统进行调整,完成对错误的改正。目前实现自愈合系统手段,一种是程序本身内建的提供自愈合的特性,通过软件自身实现监控、诊断、修改代码完成自愈合特性。这种方法愈合程度高的特点,但是重用性差;一种是实现一个可动态配置的构架和具有相同功能的冗余组件。程序通过在静态或动态的重配置软件完成对错误的消除。这种方式灵活性好,但是对软件愈合不彻底。文章针对目前这两种方法的不足,进行了如下工作: 1.分析了目前高可靠技术与自愈合手段的研究现状和优劣。 2.提出了一种基于动态编程技术实现的自愈合软件构架。介绍了构架各个组件之间的功能和实现方案。对组件间的相关关系进行了说明。 3.采用Java动态编程技术实现了系统原型。文章的自愈合构架基于软件动态自适应的软件构架基础上,可以灵活的配置构架组件完成对各种错误的愈合;构架的设计从运行环境层次开始,可以在不需要对现有程序进行任何针对性的修改完成程序的愈合,构架可重用性强。并且,构架自愈合特性基于代码级别,对程序的愈合是永久性的。 4.通过采用Java动态编程技术和字节码工具,文章讨论了对自愈合构架的实现技术。针对构架各个组件的功能和特点,文章完成了对环境的修改,对现有工具了的扩展和配置文件的编写,形成了一个具有自愈合功能的框架。文章最后针对在垃圾回收过程存在逻辑错误的对象进行试验,验证了所提出的自愈合构架可行性,以及构架所完成的自愈合功能。