论文部分内容阅读
一些高可靠性领域,计算机系统的应用越来越广泛,如航空航天、核工业、交通控制、银行和医疗等。在这些领域中,计算机系统的失效可能造成巨大的人员伤亡和经济损失。但如何在系统应用之前对这些容错机制的有效性、可用性进行评估和验证,检验它们是否和预期的情况相一致,这就需要有效的理论和机制应对容错性的评估和提高。计算机系统的可靠性验证是一个复杂艰巨的任务,一般使用理论建模方法,但由于故障激活机制和错误传播过程非常复杂,在大多数情况下都是不完全可知的,所以很难对实际系统进行建模。故障注入是通过人为地产生并引入故障到目标系统中加速系统产生错误和失效,然后通过分析故障引入后的系统行为反应,可获得对目标系统可靠性和容错性的评测结果。与其它方法相比,故障注入具有应用范围广、结果精确度高、时间花费少等优点,已引起众多学者和研究人员的重视。目前,关键行业领域大量采用分布式系统或分布式实时系统,对其可靠性评估与度量难度大、要求高,对系统整体的可信监控难度大,本文针对这种状况,深入研究故障注入技术,探索针对分布式实时系统的软件实现的故障注入方法,研究多种类型的系统故障并对相关的故障模型进行了分析,建立相应的故障注入系统结构。考虑到网络环境也是对分布式实时系统可信性构成影响的重要因素,故对网络故障检测与诊断进行深入研究。研究软件可靠性模型与评测的理论与技术,探索分布式实时系统的可靠性测评方法。具体研究工作如下:①研究软件可信性的特征和内涵,特别是软件可靠性、故障注入之间的区别和内涵联系,缺陷、错误、失效三者之间的转化关系,以及分布式实时系统的特点和系统结构;为进一步面向软件可靠性增强技术——软件实现的故障注入技术、以及模块与系统级的可靠性模型建立与评测技术的深入研究提供背景知识。②讨论研究分布式实时系统的故障模型,针对分布式实时系统的可信验证的难题,分析分布式实时系统的故障注入特点,建立故障注入的故障分类模型。在此基础上总结出故障模型的故障处理与传播方式。③研究并分析故障注入实现方法和框架,提出一种建立在分布式实时系统环境中的软件故障注入系统结构,分为三个层次:目标系统、通信网络、软件故障注入系统。并设计出软件故障注入系统,其包含软件故障注入器、数据收集模块和故障数据分析模块。深入研究软件故障注入的底层原理和高层实现机制并提出故障注入执行算法。④研究并分析证据理论的基本概念和推理模型,提出基于证据理论的网络故障检测与诊断,探索基于证据理论的故障检测与诊断方法对于提高故障诊断的准确性有效性程度。分析并构建一种网络可靠性分级指标模型。⑤针对目前软件可靠性模型的效率和准确性等方面局限,以及分布式实时系统实时执行的特点,建立更能反映分布式实时系统特征的可靠性模型,总结可靠性设计的基本原则和方法,提出关键链路的确定方法、在不同条件下确定系统的可靠性方法以及最可靠的通讯路径集的确定方法。提出一种基于时间限制的可靠性评估方法,给出了程序相关的FST相关算法和响应时间的评估精简算法,达到降低系统的时间开销;提出分布式实时系统的可靠性评测方法,分析推导出各软件模块与系统可靠性之间的定量关系,识别对系统可靠性影响较大的软件模块。