论文部分内容阅读
随着现代信息化社会的发展,计算机软件已经应用在社会的各个方面并发挥着越来越重要的作用。在软件设计和开发方面产生了软件工程学。虽然几十年来软件工程有了很大的发展,研究出很多种软件设计开发的原理和技术,这些开发方法对软件的开发效率和质量都有了很大的提升,但是现代社会的实际工作情况对软件的稳定性要求提高的更快。计算机软件并没有人们预期的那样稳定,软件故障每年都带来巨大的损失。所以对软件容错的研究具有重要意义,其目的是从各方面提高软件的可靠性,降低软件故障带来的损失。本文先阐述了当前主流的容错技术,指出冗余是实现容错的主要途径。然后分析了的面向切面编程技术,指出主流容错方法的思想可以用面向切面技术实现,提出了面向切面的软件容错方案。方案的设计思想是在软件开发结束之后对源码进行再次开发,从而提高软件的容错能力。方案具体内容是以程序源码为研究对象,通过对源码分析,提取程序的代码元素。然后用户从中选择容错模块,模块包括类的数据成员和方法。针对不同的容错情况,方案提供了重试、忽略、可选备份、数据多样性和修复五种容错方法。用户在对程序的执行有一定的预期的情况下,选择合适的容错方法并进行相关配置。然后方案在原工程下自动生成具有相应容错功能的切面代码,从而使原程序具有一定的容错能力。最后本文给出了例子来展示方案的容错效果。本文研究了用面向切面编程技术实现增强软件的容错能力,从理论上分析解释了切面实现容错的可行性和有用性。指出面向切面技术可以从类外获取类的行为,可以对类的字段和方法进行一定程度上的修改,这些重要特点可以应用到容错上。并且根据理论开发出了一套工具,实现了重试、忽略、可选备份、数据多样性和修复五种容错方法,并用实例对其进行证明,使理论观点具有一定的实际意义。本文的创新性之处在于,给出了面向切面可应用在容错上的可行性分析,根据理论提出了五种方法并将其实现,证明了面向切面技术在容错方向具有一定的应用价值和研究价值。