论文部分内容阅读
随着以Internet软件为核心的信息系统的深入,基于Internet的分布式计算机系统及开放式网络环境增加了系统的复杂度、故障率和不安全因素,使得软件系统变得日趋庞大和难以驾驭,缺陷和漏洞难以避免,其经常发生各种故障和失效。所有这些因素都给软件系统的可信性带来了新的问题和挑战。软件容错技术是保障软件可信性的主要方法之一。但是传统的容错技术存在着许多不足之处:实现成本高,往往需要多个冗余的实现版本;模块化程度较差,难以清晰地进行建模和预测分析;灵活性不强,难以适应复杂多变的运行时失效。近年来,高可信软件系统方面的研究工作越来越多地与自适应软件系统(self-adaptive software system)联系起来。与传统的基于冗余和多样性思想的软件容错方法相比,自适应软件系统能够通过对自身行为和结构的动态调整来适应自身的缺陷和环境的变化,从运行时控制的角度提高软件系统的可信性。为我们提供了一种更加灵活和有效的软件容错途径。本文在分析当前自适应软件研究领域的工作的基础上,针对高可信自适应软件系统在现实开发中面临的很多问题,论述了在可信软件系统开发的整个生命周期中所涉及的相关理论和技术,对指导高可信自适应容错软件系统开发的实践活动具有现实性的意义。本文将可信软件系统研究领域中各个阶段相互独立分散的理论与技术进行了统一,提出了一个更加系统、有效和实用的自适应容错解决方案:从可信需求建模,到自适应体系结构设计,再到系统的实现及运行时监控与诊断,将可信软件系统开发过程中的各个阶段所需的制品的设计紧密联系在一起,形成了一个全面而统一的技术体系。为解决现有的面向目标的需求建模方法在自适应软件系统的需求建模方面所表现出来的不足,以及为了支持软件系统的运行时监控、诊断和容错决策的需要,本文首先对KAOS需求建模方法中的描述框架、目标类型、目标关系等方面进行了扩展。在此基础上,提出了一个面向目标的自适应软件系统的可信需求建模分析方法,较之于现有的自适应软件的需求建模方法,该方法细化了需求建模过程中的多个方面的建模工作,增加了对自适应基础设施和自适应场景等方面的需求建模的支持。针对需求规约和软件体系结构模型之间的概念差距和相对独立的演化所造成的从需求模型到体系结构设计转换困难的问题,本文以可信目标模型为基础,提出了一个系统化的推导自适应体系结构的方法。面向体系结构的结构化模型和行为模型两个设计视图,分别论述了在各种“目标精化模式”下,如何从目标模型推导出体系结构模型。在此基础上,提出了一个从目标模型到体系结构模型之间的追踪元模型,以保证整个推导过程的可追踪性和一致性。在现有的自适应容错实现技术的基础上,本文提出一种更加广义的容错概念:1)在容错对象方面,除了软件自身的设计和实现缺陷外,将运行环境的变化和失效以及系统多种非功能性目标的冲突也纳入到容错范围中;2)在容错目标方面,强调可生存性而非绝对的系统可靠性,以保障系统的关键服务为基本目标,在此基础上通过各种容错手段实现系统整体的优化运行。重点探讨了如何以软件体系结构为中心来展开对运行时系统进行监测、分析、规划和实施等自适应活动。针对目前自适应软件系统所面临的运行时监控的难点问题,本文提出了一个基于目标模型的运行时监控与诊断分析方法。将需求推理、运行时监控以及系统的自适应调整行为集成于一体进行研究,以在检测出系统异常时,及时对检测结果进行自适应容错处理。本文从监控事件的定义,到生成和编织监控代码,再到诊断和响应监控结果,给出了一个系统完整的可信需求的运行时监控方案。最后,本文设计了相应的支撑平台并实现了其原型系统。