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

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

Info

Publication number
CN104734870A
CN104734870A CN201310706727.7A CN201310706727A CN104734870A CN 104734870 A CN104734870 A CN 104734870A CN 201310706727 A CN201310706727 A CN 201310706727A CN 104734870 A CN104734870 A CN 104734870A
Authority
CN
China
Prior art keywords
cellular
node
state
software
fault
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310706727.7A
Other languages
English (en)
Other versions
CN104734870B (zh
Inventor
张琨
王�琦
陈旋
卞雪雯
刘艺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN201310706727.7A priority Critical patent/CN104734870B/zh
Publication of CN104734870A publication Critical patent/CN104734870A/zh
Application granted granted Critical
Publication of CN104734870B publication Critical patent/CN104734870B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

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

Description

一种基于元胞自动机的软件故障传播方法
技术领域
本发明属于复杂网络中的故障传播技术,特别是一种基于元胞自动机的软件故障传播方法。
背景技术
随着人类活动的加深加剧,软件在社会的各个领域中发挥着重要的作用。人类对软件的需求的增加,软件的规模也越来越大,软件中的节点,如服务、构件、包、类、方法等,之间的交互也越来越紧密,直接导致软件越来越复杂。而在软件运行过程中,软件代码的缺陷、软件运行环境的不确定等因素都会产生软件故障。由于软件故障的产生与呈现并不存在一致的对应关系,这造成了软件故障在传播过程中的不确定性。在当今社会,随着计算机化的日趋加重,一旦软件系统发生了严重故障,很有可能对人类生命和财产造成无法估量的损失。因此,研究软件故障的传播动力学行为,掌握其传播规律,并提出相应有效措施,有效的降低软件故障所造成的危害,这对人类的发展和社会的进步都有着重大的意义。
目前国内外对复杂网络的故障传播研究主要集中在对电力系统和通信系统的故障传播规律上,分析复杂系统的传播动力学,研究成果已经比较完善。软件系统的研究方法,大部分都采取将软件中的元素作为一个单位节点,节点之间的依赖关系作为边,对软件系统结构进行网络拓扑化。大量研究表明,软件网络同样符合复杂网络中的“无标度”网络特性,同时还具有高度的复杂性、不确定性、传播性、并发性等特征,所以可以运用复杂网络的传播动力学理论,通过计算机的仿真,对软件故障的传播进行研究分析,建立软件故障传播模型,将复杂网络与软件工程相关研究领域结合。
元胞自动机(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)。

Claims (2)

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)。
CN201310706727.7A 2013-12-19 2013-12-19 一种基于元胞自动机的软件故障传播规律发现方法 Active CN104734870B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310706727.7A CN104734870B (zh) 2013-12-19 2013-12-19 一种基于元胞自动机的软件故障传播规律发现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310706727.7A CN104734870B (zh) 2013-12-19 2013-12-19 一种基于元胞自动机的软件故障传播规律发现方法

Publications (2)

Publication Number Publication Date
CN104734870A true CN104734870A (zh) 2015-06-24
CN104734870B CN104734870B (zh) 2019-03-29

Family

ID=53458328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310706727.7A Active CN104734870B (zh) 2013-12-19 2013-12-19 一种基于元胞自动机的软件故障传播规律发现方法

Country Status (1)

Country Link
CN (1) CN104734870B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107506547A (zh) * 2017-08-21 2017-12-22 湘潭大学 一种混合煤气热值与压力稳定方法及系统
CN107888432A (zh) * 2017-12-27 2018-04-06 国网福建省电力有限公司 基于风险传递机制的电力移动终端网络安全模型及建模方法
CN108665137A (zh) * 2018-03-27 2018-10-16 北京航空航天大学 一种基于元胞自动机的sis-ca风险传播分析方法
CN108965287A (zh) * 2018-07-09 2018-12-07 陕西师范大学 一种基于有限临时删边的病毒传播控制方法
CN109408847A (zh) * 2018-08-23 2019-03-01 山东科技大学 一种基于多元胞自动机的互联电网自组织临界性仿真方法
CN109597752A (zh) * 2018-10-19 2019-04-09 中国船舶重工集团公司第七六研究所 基于复杂网络模型的故障传播路径仿真方法
CN112929205A (zh) * 2021-01-22 2021-06-08 南京航空航天大学 一种基于元胞自动机的蜂群无人机故障传播方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002054179A2 (en) * 2000-12-29 2002-07-11 Honeywell International Inc. Software-based fault tolerant networking using a single lan
CN101247419A (zh) * 2008-03-26 2008-08-20 北京航空航天大学 一种基于xesb的服务中介层容错方法
CN103049789A (zh) * 2012-12-17 2013-04-17 南京理工大学连云港研究院 一种复杂网络中的恶意信息流传播方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002054179A2 (en) * 2000-12-29 2002-07-11 Honeywell International Inc. Software-based fault tolerant networking using a single lan
CN101247419A (zh) * 2008-03-26 2008-08-20 北京航空航天大学 一种基于xesb的服务中介层容错方法
CN103049789A (zh) * 2012-12-17 2013-04-17 南京理工大学连云港研究院 一种复杂网络中的恶意信息流传播方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107506547A (zh) * 2017-08-21 2017-12-22 湘潭大学 一种混合煤气热值与压力稳定方法及系统
CN107506547B (zh) * 2017-08-21 2020-05-12 湘潭大学 一种混合煤气热值与压力稳定方法及系统
CN107888432A (zh) * 2017-12-27 2018-04-06 国网福建省电力有限公司 基于风险传递机制的电力移动终端网络安全模型及建模方法
CN108665137A (zh) * 2018-03-27 2018-10-16 北京航空航天大学 一种基于元胞自动机的sis-ca风险传播分析方法
CN108965287A (zh) * 2018-07-09 2018-12-07 陕西师范大学 一种基于有限临时删边的病毒传播控制方法
CN108965287B (zh) * 2018-07-09 2021-04-13 陕西师范大学 一种基于有限临时删边的病毒传播控制方法
CN109408847A (zh) * 2018-08-23 2019-03-01 山东科技大学 一种基于多元胞自动机的互联电网自组织临界性仿真方法
CN109408847B (zh) * 2018-08-23 2023-06-09 山东科技大学 一种基于多元胞自动机的互联电网自组织临界性仿真方法
CN109597752A (zh) * 2018-10-19 2019-04-09 中国船舶重工集团公司第七六研究所 基于复杂网络模型的故障传播路径仿真方法
CN109597752B (zh) * 2018-10-19 2022-11-04 中国船舶重工集团公司第七一六研究所 基于复杂网络模型的故障传播路径仿真方法
CN112929205A (zh) * 2021-01-22 2021-06-08 南京航空航天大学 一种基于元胞自动机的蜂群无人机故障传播方法
CN112929205B (zh) * 2021-01-22 2022-05-10 南京航空航天大学 一种基于元胞自动机的蜂群无人机故障传播方法

Also Published As

Publication number Publication date
CN104734870B (zh) 2019-03-29

Similar Documents

Publication Publication Date Title
CN104734870A (zh) 一种基于元胞自动机的软件故障传播方法
Traoré et al. Capturing the dual relationship between simulation models and their context
Won et al. Cumulative update of all-terminal reliability for faster feasibility decision
CN104361169B (zh) 一种基于分解法建模的可靠性监测方法
CN106201651A (zh) 神经形态芯片的模拟器
Toor et al. A survey on wireless network simulators
CN112491096B (zh) 一种用于生成电网仿真分析算例的方法及系统
CN108363478B (zh) 针对可穿戴设备深度学习应用模型分载系统及方法
CN107609141A (zh) 一种对大规模可再生能源数据进行快速概率建模方法
Gracy et al. Analysis and distributed control of periodic epidemic processes
Garzia et al. Discrete-event simulation: When prototyping of large, complex systems is impossible, this technique, based on known behaviors of interacting elements, is useful
CN114861542A (zh) 直流输电工程损耗评估方法、装置、设备和存储介质
Gallego et al. Maintaining flexibility in smart grid consumption through deep learning and deep reinforcement learning
CN114629767A (zh) 电力调度网络仿真方法、装置、计算机设备和存储介质
CN105490836A (zh) 一种复杂网络可靠度的蒙特卡罗评估方法
Wu et al. Regret-based multi-agent coordination with uncertain task rewards
US20090177449A1 (en) Duration estimation of repeated directed graph traversal
CN108664728A (zh) 一种基于复杂网络动态仿真的软件模块变更影响确定方法
Deniz et al. Supporting dynamic simulations with Simulation Modeling Architecture (SiMA): a Discrete Event System Specification-based modeling and simulation framework
Jamont et al. A framework to simulate and support the design of distributed automation and decentralized control systems: Application to control of indoor building comfort
CN113992520A (zh) 一种虚拟网络资源的部署方法和系统
Liu et al. A discrete-event-based simulator for distributed deep learning
Zboril Jr et al. Simulation for Wireless Sensor Networks with Intelligent Nodes
CN105930613A (zh) 一种分布式发电系统等值建模方法
CN105550167A (zh) 一种基于agent社会圈子网络的通用型多语竞争模型的建模仿真方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant