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

上传人:li****8 文档编号:1590423 上传时间:2018-06-27 格式:PDF 页数:7 大小:330.57KB
返回 下载 相关 举报
摘要
申请专利号:

CN201310706727.7

申请日:

2013.12.19

公开号:

CN104734870A

公开日:

2015.06.24

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 12/24申请日:20131219|||公开

IPC分类号:

H04L12/24

主分类号:

H04L12/24

申请人:

南京理工大学

发明人:

张琨; 王琦; 陈旋; 卞雪雯; 刘艺

地址:

210094江苏省南京市孝陵卫200号

优先权:

专利代理机构:

南京理工大学专利中心32203

代理人:

朱显国

PDF下载: PDF下载
内容摘要

本发明公开了一种基于元胞自动机的软件故障传播方法。首先,对元胞自动机的空间和邻居定义进行扩展,再建立元胞自动机模型,引入传播概率和节点容错率机制,对软件网络中的所有节点状态进行循环遍历更新,直到满足条件退出循环。采用此方法,能够很好的模拟软件故障传播的过程,从而掌握软件故障传播规律,更好的控制软件故障传播造成的危害。

权利要求书

权利要求书1.  一种基于元胞自动机的软件故障传播方法,其特征在于步骤如下: (一)建立元胞自动机,定义软件网络化得到的拓扑图中的节点即为元胞, 则CA模型通过一个四元组定义为CA=(C,Q,V,f),其中C表示元胞空间, 此时扩展为平面空间,元胞不再局限于空间的某一特定位置,而是散布在平面空 间上;Q表示元胞状态,一个离散的有限集和;V表示中心元胞的邻居集合,此 时不再局限为空间上相邻的元胞,而是扩展为有边相连即为邻居;f为状态转换 规则; (二)根据上述元胞自动机建立软件故障传播模型;该模型将节点状态划分 为两种状态,N表示节点正常状态,F表示节点故障状态,软件网络化得到的拓 扑图中一个节点对应元胞自动机的一个元胞,正常状态用0表示,故障状态用1 表示,令状态集Q={0,1},节点i在t时刻的状态变量用Si(t)(Si(t)∈Q)表示,则 有 状态转换规则f可以定义为:在t时刻状态为N的节点i,在t+1时刻以概率 Pi转换状态为F;一旦节点状态为F,则不再影响其邻居元胞,其中: P i = 1 - ( 1 - α ( 1 - β ) ) sum i ( t ) ; ]]>α为故障传播概率;β为节点自身的容错率,故障传播概率α和节点的容错 率β都为系统预设值;α(1-β)为中心元胞受到一个故障元胞影响时,自身状态 转变的概率;sumi(t)为在t时刻,中心元胞i的邻居中故障元胞的个数; (三)对建立好的软件故障传播模型进行仿真,每个时刻对模型中所有元胞 进行遍历,直到模型中故障元胞个数不再增加,则跳出循环。 2.  根据权利要求1所述的基于元胞自动机的软件故障传播方法,其特征在 于:所述步骤三中,对建立好的软件故障传播模型进行仿真的具体过程如下:利 用元胞自动机模拟软件网络中故障传播过程,根据元胞自动机建立的软件故障传 播模型转换规则f,在每个时刻中对所有元胞进行状态更新,具体过程如下: 1)初始化时刻t=0和t时刻的故障节点个数I(t)=0,给故障传播概率α∈(0,1) 和节点的容错率β∈(0,1)赋值,计算各元胞的邻居矩阵; 2)在t=k(k≥0)时刻时,选择软件网络中n(n<N)个节点为初始故障节点, 并把节点对应的元胞状态置为F,即元胞此时刻发生故障,则I(t)=n; 3)在t=k+1时刻,遍历所有元胞,每个元胞根据周围邻居元胞的状态和自 身状态,计算状态转化概率Pi,更新其元胞状态,元胞状态从N转变为F,则 I(t)=I(t)+1,并把上一时刻故障的元胞邻居矩阵置为0; 4)t=t+1,判断I(t+1)是否等于I(t),如果相等就说明故障元胞不再增加,则 退出循环,否则执行步骤3)。

说明书

说明书一种基于元胞自动机的软件故障传播方法
技术领域
本发明属于复杂网络中的故障传播技术,特别是一种基于元胞自动机的软件故障传播方 法。
背景技术
随着人类活动的加深加剧,软件在社会的各个领域中发挥着重要的作用。人类对软件的 需求的增加,软件的规模也越来越大,软件中的节点,如服务、构件、包、类、方法等,之 间的交互也越来越紧密,直接导致软件越来越复杂。而在软件运行过程中,软件代码的缺陷、 软件运行环境的不确定等因素都会产生软件故障。由于软件故障的产生与呈现并不存在一致 的对应关系,这造成了软件故障在传播过程中的不确定性。在当今社会,随着计算机化的日 趋加重,一旦软件系统发生了严重故障,很有可能对人类生命和财产造成无法估量的损失。 因此,研究软件故障的传播动力学行为,掌握其传播规律,并提出相应有效措施,有效的降 低软件故障所造成的危害,这对人类的发展和社会的进步都有着重大的意义。
目前国内外对复杂网络的故障传播研究主要集中在对电力系统和通信系统的故障传播规 律上,分析复杂系统的传播动力学,研究成果已经比较完善。软件系统的研究方法,大部分 都采取将软件中的元素作为一个单位节点,节点之间的依赖关系作为边,对软件系统结构进 行网络拓扑化。大量研究表明,软件网络同样符合复杂网络中的“无标度”网络特性,同时 还具有高度的复杂性、不确定性、传播性、并发性等特征,所以可以运用复杂网络的传播动 力学理论,通过计算机的仿真,对软件故障的传播进行研究分析,建立软件故障传播模型, 将复杂网络与软件工程相关研究领域结合。
元胞自动机(Cellular Automata,简称CA),也有人译为细胞自动机、分子自动机、点格 自动机等,是复杂性科学的核心技术之一。元胞自动机是一个模型框架,或者说是模型集, 他提供模拟复杂系统的基本模型,不同的模型可以通过不同的模拟参数模拟不同的复杂系统。 通常来说,就是在离散的时间、空间上,由具有离散状态的元胞(Cell)按照确定的局部演 化规则做同步更新的动态进化系统。但是不同于一般的动力学模型,元胞自动机的构建没有 严格定义的物理方程、数学公式,构造方式多样、自由,只是用一系列模型构造的规则来构 建,所以凡是满足这些规则的模型都可以算作是元胞自动机模型。元胞自动机在模拟复杂系 统和同步并行过程及其在非线性科学方面的出色表现,使他也能够很好的模拟由软件内部节 点之间的相互作用引起的故障传播动态过程。同时,元胞自动机的离散特性也有利于表达软 件运行过程中各个节点(如类、方法)在每个时间点的运行状态。在软件故障传播过程中, 由于软件运行环境的不稳定和软件具有的容错性,使得故障的发生与传播都具有一定的不确 定性和随机性,元胞自动机是一种完善的数学工具,可以有效的与模糊、概率相结合。
发明内容
本发明的目的是提出一种软件系统的故障传播方法,建立故障传播模型,当软件被恶意 攻击时,得到软件系统中故障的传播动力学特点,从而得出软件故障传播的规律,有效改进 软件的设计和降低软件故障所造成的危害。
由于元胞自动机模型的运用在多方面都有严格的限制,虽然能很好的对复杂现象进行模 拟,但是对不同的复杂系统,在内部结构不明确、演化机制不了解的情况,为了更好的对软 件复杂的系统进行模拟,本发明对元胞自动机的元胞空间和邻居元胞定义进行扩展。
本发明所采用的方法如下。
(一)建立元胞自动机,定义软件网络化得到的拓扑图中的节点即为元胞,则CA模型通 过一个四元组定义为CA=(C,Q,V,f),其中C表示元胞空间,此时扩展为平面空间,元胞 不再局限于空间的某一特定位置,而是散布在平面空间上;Q表示元胞状态,一个离散的有 限集和;V表示中心元胞的邻居集合,此时不再局限为空间上相邻的元胞,而是扩展为有边 相连即为邻居;f为状态转换规则;
(二)根据上述元胞自动机建立软件故障传播模型;该模型将节点状态划分为两种状态, N表示节点正常状态,F表示节点故障状态,软件网络化得到的拓扑图中一个节点对应元胞 自动机的一个元胞,正常状态用0表示,故障状态用1表示,令状态集Q={0,1},节点i在t 时刻的状态变量用Si(t)(Si(t)∈Q)表示,则有

状态转换规则f可以定义为:在t时刻状态为N的节点i,在t+1时刻以概率Pi转换状态 为F;一旦节点状态为F,则不再影响其邻居元胞,其中:
P i = 1 - ( 1 - α ( 1 - β ) ) sum i ( t ) ; ]]>
α为故障传播概率;β为节点自身的容错率,故障传播概率α和节点的容错率β都为系 统预设值;α(1-β)为中心元胞受到一个故障元胞影响时,自身状态转变的概率;sumi(t)为在 t时刻,中心元胞i的邻居中故障元胞的个数;
(三)对建立好的软件故障传播模型进行仿真,每个时刻对模型中所有元胞进行遍历, 直到模型中故障元胞不再增加,则跳出循环。
根据软件有向网络中的节点邻接矩阵和确定的元胞自动机模型中的规则转换函数f,对所 有元胞进行遍历,具体步骤如下:
1)初始化时刻t=0和t时刻的故障节点个数I(t)=0,给故障传播概率α∈(0,1)和节点的容 错率β∈(0,1)赋值,计算各元胞的邻居矩阵;
2)在t=k(k≥0)时刻时,选择软件网络中n(n<N)个节点为初始故障节点,并把节点对 应的元胞状态置为F,即元胞此时刻发生故障,则I(t)=n;
3)在t=k+1时刻,遍历所有元胞,每个元胞根据周围邻居元胞的状态和自身状态,计 算状态转化概率Pi,更新其元胞状态,元胞状态从N转变为F,则I(t)=I(t)+1,并把上一时刻 故障的元胞邻居矩阵置为0;
4)t=t+1,判断I(t+1)是否等于I(t),如果相等就说明故障元胞不再增加,则退出循环, 否则执行步骤3)。
本发明与现有技术相比,其显著优点:本发明对软件网络的元胞自动机建模,循环遍历 软件网路中的所有节点,模拟对软件恶意攻击时,软件节点故障传播的过程,利用元胞自动 机的离散性、灵活性等特点,能够更真实的反映故障在软件中传播的过程,有利于得到故障 传播的一些特性和规律。
附图说明
图1是本发明中软件网络节点邻居结构示意图。
图2是软件故障传播仿真流程图。
具体实施方式
下面结合附图进一步详细说明本发明。
图1是软件网络中节点邻居结构示意图。本发明中软件网络化得到的拓扑图为有向图, 定义有向图的邻接矩阵A,如果节点i依赖节点j,则存在边i→j,则邻接矩阵A中aij=1, 否则aij=1,软件中故障节点在依赖调用时,才能把故障传播给其他节点,所以本发明中节 点邻居定义为节点出度相连的节点,每个节点的邻居矩阵为邻接矩阵A中的行向量,对应图 中编号1的节点邻居为编号2,4的节点,该节点的邻居矩阵为(0 1 0 1 0),节点与元胞 一一对应,元胞的邻居矩阵与节点的邻居矩阵相同。
图2是软件故障传播仿真流程图。具体步骤如下:
1)用BA模型生成“无标度”有向网络图,选取其中的最大弱连通子图进行建模,节点 数目记为M。从而得到软件网络的节点邻接矩阵,记为A。节点i的邻居为矩阵A中 的第i行的向量,即Vi={aij|aij∈A,j=1,2,…,M}。
2)对生成的网络进行元胞自动机建模,初始化时刻t=0,I(t)=0,并设置α,β的数值。
3)在时刻t=k时,选择网络节点中入度最大的n(n<M)个节点作为初始故障元胞。令 故障元胞的状态为F。
4)在时刻t=k+1时,遍历所有元胞。元胞i根据自身节点的出度信息,确定其邻居元胞, 再根据邻居元胞的状态和自身元胞的状态,通过计算N→F的状态转变概率 更新元胞i的状态Si(t),其中
sum i ( t ) = Σ j = 1 M a ij S j ( t ) ]]>
如果元胞状态变为F,则故障元胞个数I(t)=I(t)+1,并且将故障元胞的邻居矩阵置为0。
5)t=t+1,判断I(t+1)是否等于I(t),若I(t+1)=I(t),说明故障规模不在增加,则终止程序; 否则重复执行步骤4)。

一种基于元胞自动机的软件故障传播方法.pdf_第1页
第1页 / 共7页
一种基于元胞自动机的软件故障传播方法.pdf_第2页
第2页 / 共7页
一种基于元胞自动机的软件故障传播方法.pdf_第3页
第3页 / 共7页
点击查看更多>>
资源描述

《一种基于元胞自动机的软件故障传播方法.pdf》由会员分享,可在线阅读,更多相关《一种基于元胞自动机的软件故障传播方法.pdf(7页珍藏版)》请在专利查询网上搜索。

本发明公开了一种基于元胞自动机的软件故障传播方法。首先,对元胞自动机的空间和邻居定义进行扩展,再建立元胞自动机模型,引入传播概率和节点容错率机制,对软件网络中的所有节点状态进行循环遍历更新,直到满足条件退出循环。采用此方法,能够很好的模拟软件故障传播的过程,从而掌握软件故障传播规律,更好的控制软件故障传播造成的危害。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1