一种基于元胞自动机的软件故障传播方法

文档序号:8415414阅读:227来源:国知局
一种基于元胞自动机的软件故障传播方法
【技术领域】
[0001] 本发明属于复杂网络中的故障传播技术,特别是一种基于元胞自动机的软件故障 传播方法。
【背景技术】
[0002] 随着人类活动的加深加剧,软件在社会的各个领域中发挥着重要的作用。人类对 软件的需求的增加,软件的规模也越来越大,软件中的节点,如服务、构件、包、类、方法等, 之间的交互也越来越紧密,直接导致软件越来越复杂。而在软件运行过程中,软件代码的缺 陷、软件运行环境的不确定等因素都会产生软件故障。由于软件故障的产生与呈现并不存 在一致的对应关系,这造成了软件故障在传播过程中的不确定性。在当今社会,随着计算机 化的日趋加重,一旦软件系统发生了严重故障,很有可能对人类生命和财产造成无法估量 的损失。因此,研究软件故障的传播动力学行为,掌握其传播规律,并提出相应有效措施,有 效的降低软件故障所造成的危害,这对人类的发展和社会的进步都有着重大的意义。
[0003] 目前国内外对复杂网络的故障传播研究主要集中在对电力系统和通信系统的故 障传播规律上,分析复杂系统的传播动力学,研究成果已经比较完善。软件系统的研究方 法,大部分都采取将软件中的元素作为一个单位节点,节点之间的依赖关系作为边,对软件 系统结构进行网络拓扑化。大量研究表明,软件网络同样符合复杂网络中的"无标度"网络 特性,同时还具有高度的复杂性、不确定性、传播性、并发性等特征,所以可以运用复杂网络 的传播动力学理论,通过计算机的仿真,对软件故障的传播进行研究分析,建立软件故障传 播模型,将复杂网络与软件工程相关研究领域结合。
[0004] 元胞自动机(CellularAutomata,简称CA),也有人译为细胞自动机、分子自动机、 点格自动机等,是复杂性科学的核心技术之一。元胞自动机是一个模型框架,或者说是模型 集,他提供模拟复杂系统的基本模型,不同的模型可以通过不同的模拟参数模拟不同的复 杂系统。通常来说,就是在离散的时间、空间上,由具有离散状态的元胞(Cell)按照确定的 局部演化规则做同步更新的动态进化系统。但是不同于一般的动力学模型,元胞自动机的 构建没有严格定义的物理方程、数学公式,构造方式多样、自由,只是用一系列模型构造的 规则来构建,所以凡是满足这些规则的模型都可以算作是元胞自动机模型。元胞自动机在 模拟复杂系统和同步并行过程及其在非线性科学方面的出色表现,使他也能够很好的模拟 由软件内部节点之间的相互作用引起的故障传播动态过程。同时,元胞自动机的离散特性 也有利于表达软件运行过程中各个节点(如类、方法)在每个时间点的运行状态。在软件故 障传播过程中,由于软件运行环境的不稳定和软件具有的容错性,使得故障的发生与传播 都具有一定的不确定性和随机性,元胞自动机是一种完善的数学工具,可以有效的与模糊、 概率相结合。

【发明内容】

[0005] 本发明的目的是提出一种软件系统的故障传播方法,建立故障传播模型,当软件 被恶意攻击时,得到软件系统中故障的传播动力学特点,从而得出软件故障传播的规律,有 效改进软件的设计和降低软件故障所造成的危害。
[0006] 由于元胞自动机模型的运用在多方面都有严格的限制,虽然能很好的对复杂现 象进行模拟,但是对不同的复杂系统,在内部结构不明确、演化机制不了解的情况,为了更 好的对软件复杂的系统进行模拟,本发明对元胞自动机的元胞空间和邻居元胞定义进行扩 展。
[0007] 本发明所采用的方法如下。
[0008](-)建立元胞自动机,定义软件网络化得到的拓扑图中的节点即为元胞,则CA模 型通过一个四元组定义为CA=(C,Q,V,f),其中C表示元胞空间,此时扩展为平面空间,元胞 不再局限于空间的某一特定位置,而是散布在平面空间上;Q表示元胞状态,一个离散的有 限集和;V表示中心元胞的邻居集合,此时不再局限为空间上相邻的元胞,而是扩展为有边 相连即为邻居;f为状态转换规则;
[0009](二)根据上述元胞自动机建立软件故障传播模型;该模型将节点状态划分为两种 状态,N表示节点正常状态,F表示节点故障状态,软件网络化得到的拓扑图中一个节点对 应元胞自动机的一个元胞,正常状态用〇表示,故障状态用1表示,令状态集Q={〇, 1},节 点i在t时刻的状态变量用Si⑴以(t)gQ)表示,则有
[0010]
【主权项】
1. 一种基于元胞自动机的软件故障传播方法,其特征在于步骤如下: (一) 建立元胞自动机,定义软件网络化得到的拓扑图中的节点即为元胞,则CA模型通 过一个四元组定义为CA= (C,Q,V,f),其中C表示元胞空间,此时扩展为平面空间,元胞不再 局限于空间的某一特定位置,而是散布在平面空间上;Q表示元胞状态,一个离散的有限集 和;V表示中心元胞的邻居集合,此时不再局限为空间上相邻的元胞,而是扩展为有边相连 即为邻居;f为状态转换规则; (二) 根据上述元胞自动机建立软件故障传播模型;该模型将节点状态划分为两种状 态,N表示节点正常状态,F表示节点故障状态,软件网络化得到的拓扑图中一个节点对应 元胞自动机的一个元胞,正常状态用〇表示,故障状态用1表示,令状态集Q ={〇, 1},节点 i在t时刻的状态变量用Si (t) (Si (t) e Q)表示,则有
状态转换规则f可以定义为:在t时刻状态为N的节点i,在t+Ι时刻以概率Pi转换状 态为F ;-旦节点状态为F,则不再影响其邻居元胞,其中: α为故障传播概率;β为节点自身的容错率,故障传播概率α和节点的容错率β 都为系统预设值;α (l-β)为中心元胞受到一个故障元胞影响时,自身状态转变的概率; Sumi⑴为在t时刻,中心元胞i的邻居中故障元胞的个数; (三) 对建立好的软件故障传播模型进行仿真,每个时刻对模型中所有元胞进行遍历, 直到模型中故障元胞个数不再增加,则跳出循环。
2. 根据权利要求1所述的基于元胞自动机的软件故障传播方法,其特征在于:所述步 骤三中,对建立好的软件故障传播模型进行仿真的具体过程如下:利用元胞自动机模拟软 件网络中故障传播过程,根据元胞自动机建立的软件故障传播模型转换规则f,在每个时刻 中对所有元胞进行状态更新,具体过程如下: 1) 初始化时刻t=0和t时刻的故障节点个数I (t)=0,给故障传播概率a e (〇, 1)和 节点的容错率β e (〇, 1)赋值,计算各元胞的邻居矩阵; 2) 在t = k(k > 0)时刻时,选择软件网络中η (η < N)个节点为初始故障节点,并把节 点对应的元胞状态置为F,即元胞此时刻发生故障,则I (t)=n ; 3) 在t = k+1时刻,遍历所有元胞,每个元胞根据周围邻居元胞的状态和自身状态,计 算状态转化概率Pi,更新其元胞状态,元胞状态从N转变为F,则I (t) =I (t) +1,并把上一时 刻故障的元胞邻居矩阵置为0 ; 4. t=t+l,判断I (t+Ι)是否等于I (t),如果相等就说明故障元胞不再增加,则退出循 环,否则执行步骤3)。
【专利摘要】本发明公开了一种基于元胞自动机的软件故障传播方法。首先,对元胞自动机的空间和邻居定义进行扩展,再建立元胞自动机模型,引入传播概率和节点容错率机制,对软件网络中的所有节点状态进行循环遍历更新,直到满足条件退出循环。采用此方法,能够很好的模拟软件故障传播的过程,从而掌握软件故障传播规律,更好的控制软件故障传播造成的危害。
【IPC分类】H04L12-24
【公开号】CN104734870
【申请号】CN201310706727
【发明人】张琨, 王 琦, 陈旋, 卞雪雯, 刘艺
【申请人】南京理工大学
【公开日】2015年6月24日
【申请日】2013年12月19日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1