节点文献

基于自配置的软件可信性增长模型及方法

Software Dependability Growing Models and Methods Based on Self-configuration

【作者】 赵倩

【导师】 王慧强;

【作者基本信息】 哈尔滨工程大学 , 计算机应用技术, 2010, 博士

【摘要】 随着计算机的不断发展和应用范围的不断扩大,应用在其上的软件系统也由于运行环境和自身特点变的越来越不可信,而人们对软件系统的依赖程度却越来越高,因此形成了用户对软件高可信需求与软件可信性得不到保障之间的矛盾。受到传统软件体系结构的限制,当前软件不能主动感知运行环境及自身行为状态,更多地依赖于人工配置,对环境的适应能力明显不足,难以满足人们对软件高可信性的要求。人们希望所使用的软件是一种灵活的,具有自我配置能力的软件,同时能明确了解自己所使用软件是否可信,可信程度是多少等问题。目前,利用自律计算(Autonomic Computing,AC)来解决“以技术管理技术”已经成为未来的发展趋势。在此背景下,本文借鉴自律计算中自配置(Self-configuration)思想,通过在软件系统中添加部分自律属性使软件具有感知自身和周围的环境的能力,实时动态地调整软件配置,智能地适应环境变化并能指导未来的自主决策,从而提高软件可信性。本文首先从软件架构这一宏观角度出发,结合自律计算中自配置思想,提出基于自配置的软件可信性增长模型,为后续工作奠定基础;为了对平衡信息处理能力和系统性能之间的矛盾,提出面向软件可信性分析的信息感知方法,为可信性度量和演化分析提供数据支持;从软件动作拟合的观点出发对软件可信性进行度量,为软件可信性是否增长或增长程度提供有力的支撑;最后以软件可信性的保持和增长为最终目标,进行软件可信演化和分析的研究。本文从体系架构、信息感知、可信性度量到可信性演化分析,构建了一条保障软件可信增长的有效途径,以满足用户对软件高可信性的需求。主要研究内容如下:首先,针对现有软件可信性较低与用户对软件可信性期望较高之间的矛盾,提出基于自配置的软件可信性增长模型。考虑到软件运行环境和自身结构的复杂性,结合自配置思想,将软件进行自律化处理,使软件具有部分自我管理能力。在此基础上设计软件自配置策略,以软件可信性为导向,对软件进行自配置动作。通过仿真实验证明了本方法理论上的合理性,通过实测实验说明将模型运用到实际环境中,软件可信性将有较高的提升。其次,对于具有自配置能力的软件来说,需要获取运行期的大量数据才能保证对外界环境和自身状态的感知,从而确保自配置行为的正确性。在数据收集后,哪些可以用来为可信性度量和演化分析提供高效且低代价的数据基础成为信息感知的研究重点。针对后续章节的研究内容,通过建立软件系统信息感知框架约束软件中信息采集过程,提出一种面向软件可信性分析的信息感知方法,对软件系统中自律单元(Autonomic Element,AE)收集信息过程进行建模,然后在不降低AE收集信息质量的情况下尽量减少收集信息所带来的代价,保证软件系统的高效运行。实验结果表明,在软件运行过程中添加面向软件可信性分析的信息感知方法,在保持一定运行代价基础上,能有效提高AE信息收集的性能。再次,传统软件可信性度量方法偏重于可信属性研究,因此带来的软件可信性属性多维、定义不统一等缺点,针对此问题,提出基于Pi演算的软件可信性度量方法。从软件行为学角度出发,将软件行为分解成为串联或并联的动作集合。根据软件设计之初对软件的要求定义软件可信行为,并将其组合成为软件可信行为路径,构建软件可信行为路径图。通过度量软件可信行为与软件实际运行行为的拟合度来度量软件的可信性。通过单个动作实验证明本方法的有效性;通过实测实验证明,在同等情况下与通过属性反映软件可信程度的传统度量方法相比,本方法更加实时、有效。最后,由于软件发生自配置后,软件自身必然会发生演化,如果对演化不进行控制,轻则不能保证用户对软件的高可信性需求,重则甚至会导致软件崩溃。针对这种问题,提出一种考虑历史数据的软件演化方法,将软件可信性作为约束软件演化的因素,保证软件演化后仍能满足用户对软件高可信属性的需求;同时建立考虑历史数据的软件演化分析方法,通过可视化手段记录软件演化过程并分析软件在演化过程中存在的问题。实验结果表明,考虑历史数据的软件演化方法能有效地保持和增长软件可信性,使软件可信性达到有条件的非降,能够为软件自配置和演化提供有效的指导。

【Abstract】 With the rapid development of computers, softwares applicated in computers are becoming more and more undependable because of running environment and structural characters. However, people are increasingly dependent on softwares, which resultes in the confliction between user’s high dependability requirements and software undependability. Due to the limitations of traditional software architecture, the current softwares do not aware their running environment and behavior states. Current softwares more are dependent on manual configuration and have no ability to adapt them to the environment, which results uses’high reliability requirements can not be satisfied. People hope that softwares they are using are more flexible, have self-configuration capabilities, and definitely know whether the softwares are dependable or not as well as how much dependable value they have. At present, utilizing Autonomic Computing (AC) proposed by IBM to solve the "technology management" problem has become the developing trend in the future. In this context, this paper draws Self-configuration thinking in Autonomic Computing by adding some self-discipline in softwares, so that they can adjust the configurations real-timely and dynamically by awaring their owns properties and surrounding environment. Aiming at improving dependability, these autonomic sofewares can intelligently adapt themselves to environmental changes and guide future policy-making autonomously.In this paper, combined with self-configuration thinking in Autonomic Computing, a software dependability growing model based on self-configuration is proposed, which lays the foundation for the follow-up researches. Information awareness method oriented software dependability analysis is studied in detail. Data collected by awareness method will serve as the base of dependability measurement and evolvement analysis. Based on this method, an evaluation method of software dependability is proposed in the view of fitting degree, which provides an effective evidence to judge whether the software dependability increase or not, as well as how much the dependability increase. Finally, for maintaining and increasing software dependability effectively, a software evolution and analysis method is proposed. On the whole, architecture, data-awareness, dependability measure and evolution analysis build up a valid way to ensure that the software dependability can meet user’s requirements. The main contents are organized as follows.Firstly, a software dependability growing model based on self-configuration is proposed, which is targeted at handling the confliction between the reducing software dependability and the demands of the high dependability. Taking into account the complexity of software operating and their running environment, we discipline the software based on self-configuration thinking, which made software has some self-management capabilities. Thus, we propose some self-configuration methods and configure the software according to the goal of software dependability increase. Experimental results show that the method can improve software dependability and reduce software maintenance cost more effectively.Secondly, in order to softwares having the self-configuration capability, it is necessary that large amounts of running data are obtained to guarantee the software self-awareness, self-configuration and other self-management behaviors. After data collection, research focuses on how softwares can aware efficient dependability measurement and analysis data with low cost. Aiming at following study sections, we propose an information awareness method oriented software dependability analysis. Through establishing the framework of software information awareness and modeling the information collection of Autonomic Element (AE), an effective way to ensure quality of collected information with minimum cost of gathering information is proposed. Experimental results show that adding the information awareness method in running process of software can improve the performance of information collection in certain running cost.Thirdly, traditional researches mostly focused on the conceptions and properties of dependability, which resulted in lots of different views about multiple properties and definition software dependability. An evaluation method of software dependability based on Pi Calculus is proposed in this paper and software behavior is decomposed into series or parallel action set from the perspective of software behavior. According to the requirements in initial stages of software design, we define software dependability behaviors and combine these behaviors into dependable action path. The software dependability is calculated by comparing the fitting degree between dependable action path and real action path. Experimental result shows that the proposed method in one behavior is reasonable; a real experiment proves the proposed measure method is more valid than traditional ones.Lastly, as the occurrence of software self-configuration, the software itself is bound to evolve. If evolution can not be controlled, software on one hand can not guarantee the high dependability; on the other hand it will lead to software crashes. A software evolution method considering software historical behavior is proposed in this paper, which uses software dependability as a constraint factor and ensure the software to meet the software users’high dependability demand after evolution. A software evolution analysis method considering software historical behavior is also proposed in this paper. It records software evolution process by means of visualization and analyses evolution problem in software evolution process. The simulated results show that the method is valid in maintaining and increasing the dependability of software and make the software dependability to be non-reducing conditions, which can provide effective guidance for software self-configuration and evolution.

节点文献中: 

本文链接的文献网络图示:

本文的引文网络