基于概率模型检验的设计模式可靠性分析方法与流程

文档序号:24191445发布日期:2021-03-09 15:15阅读:236来源:国知局
基于概率模型检验的设计模式可靠性分析方法与流程

1.本发明涉及软件可靠性验证技术领域,具体涉及一种基于概率模型检验的设计模式可靠性分析方法。


背景技术:

2.为保证系统可靠性,许多设计模式被提出,如重新配置、三模冗余和纠错编码技术以及他们之间的组合。虽然设计模式类型多样,但其目的都在于通过某种设计提升系统的可靠性,如三模冗余的主要思想是通过三个相同的逻辑模块执行完全相同的任务,并使用表决器在它们之间进行仲裁,当其中一个设计模块发生故障时,只要其他模块继续运行,系统就能正常工作,这样就避免了单点故障对系统产生严重影响。由于设计模式比较抽象,因此难以进行准确的建模描述。特别是,当系统受到外部冲击时,比如,基于sram的fpga系统在执行太空任务时会受到单粒子效应的影响,设计模式的作用规律将变得更加复杂。因此,对考虑外部冲击作用的设计模式进行可靠性分析和评价是该领域的一个难点,这涉及到两个问题,一是如何对设计模式和外部冲击进行建模,二是对模型进行求解。
3.在众多的理论分析中,马尔科夫分析方法由于其灵活性和多样性被广泛地使用,可以实现对复杂模型的抽象建模。但是由于设计模式比较抽象,难以进行准确的建模描述,如果没有足够的工具支持,传统的马尔可夫解析方法将变得困难,特别是分析复杂的系统属性时。而且,不同的设计模式在不同的对象、参数设置和约束条件下,对系统可靠性的影响是不同的,特别是,当系统处于变化的外部冲击环境中,设计模式的作用规律将变得更加复杂。从工程的角度来看,单纯的传统马尔科夫分析方法很难推广。
4.因此,如何提供一种针对冲击作用下的故障模式,基于概率模型检验的设计模式进行量化选择的可靠性分析方法是本领域技术人员亟需解决的问题。


技术实现要素:

5.有鉴于此,本发明提供了一种基于概率模型检验的设计模式可靠性分析方法,采用马尔科夫理论和混合极端运行冲击模型对设计模式和冲击过程进行抽象和建模,描述在冲击作用下的设计模式。然后基于概率模型检验技术对建立的模型进行自动化验证,基于不同的可靠性指标对设计模式进行量化分析,探索不同设计模式、不同的设计参数、在不同的条件和约束下,对系统可靠性的量化影响,为研究人员提供设计模式层面的量化选择和建议。
6.为了实现上述目的,本发明采用如下技术方案:
7.一种基于概率模型检验的设计模式可靠性分析方法,包括如下步骤:
8.步骤一,确定系统外部冲击的等级数量和冲击等级对系统影响判断条件;
9.步骤二,基于冲击等级对系统影响判断条件建立系统混合极端运行冲击模型;
10.步骤三,对混合极端运行冲击模型进行形式化描述,建立冲击层连续时间马尔科夫模型;
11.步骤四,对不同设计模式抽象进行形式化描述,建立设计模式层连续时间马尔科夫模型;
12.步骤五,基于步骤三和步骤四建立冲击层和设计模式层的系统状态和状态转移速率对应关系,进而构建整体的连续时间马尔科夫模型;
13.步骤六,定义系统的连续随机逻辑属性规约公式;
14.步骤七,将步骤五建立的整体的连续马尔科夫模型和步骤六建立的连续随机逻辑属性规约输入至概率模型检测器prism,对设计模式进行可靠性验证。
15.优选的,所述步骤一中:
16.所述系统外部冲击的等级数量包括:三个量级的冲击类型,ⅰ型冲击、ⅱ型冲击和ⅲ型冲击,冲击影响阈值依次增大,分别对应于低于阈值l1、介于阈值l1和阈值l2,高于阈值l2;
17.所述冲击等级对系统影响判断条件包括:ⅰ型冲击下系统状态不改变,连续的ⅱ型冲击下系统状态降级或系统设计模式失效,ⅲ型冲击下,系统设计模式失效。
18.优选的,所述步骤二包括:用两元变量(s,n
s
)(s=s*,s*-1

,0;limn
s
=l
s
;当s1>s2,l1>l2)表示ⅱ型冲击对系统设计模式的影响;其中,s表示系统抵抗连续ⅱ型冲击的能力,s值越小,系统所能承受的连续ⅱ型冲击数量值越小;s*表示系统处于的最初状态等级;n
s
表示系统处于s等级下,受到的连续ⅱ型冲击的数量,其临界值为l
s

19.当系统处于最初状态s=s*时,受到l
s*
个连续的ⅱ型冲击后当前系统设计模式失效。
20.优选的,系统处于s等级且受到小于l
s
个连续冲击时,即n
s
≤l
s
,系统状态改变过程分两种情况考虑:n
s
<1/2l
s
和1/2l
s
≤n
s
<l
s
,包括:
21.当n
s
<1/2l
s
时,系统状态被重置回最初状态(s,0);
22.当1/2l
s
≤n
s
<l
s
时,系统状态降级,s转移至s-1,继续判定s-1状态下临界值为l
s-1
的连续冲击对系统设计模式的影响,直到s=0时,系统在发生一个ⅱ型冲击后失效。
23.优选的,所述步骤三包括:将步骤2的混合极端运行冲击模型用统一的连续时间马尔科夫模型c
shock
进行建模:
[0024][0025]
s
shock
表示冲击过程涉及的全部状态;
[0026]
s
init
∈s
shock
是初始状态,即步骤2中的状态(s*,0);
[0027]
是状态转移速率矩阵,λ
ij
表示不同类型冲击的到来速率;
[0028]
l:s
→2ap
是一个标记函数,为每个状态分配在状态中有效的原子命题集。
[0029]
优选的,所述步骤四包括:对受到外部冲击的基于不同设计模式的系统行为用统一的连续时间马尔科夫模型c
*shock_mode
进行建模:
[0030][0031]
*表示系统不同的设计模式,包括但不限于三模冗余、分区、刷新、纠错检码中的一种或多种的组合方式;
[0032]
s
*
是在当前设计模式下包含的所有有限状态;
[0033]
s
init*
∈s
*
是初始状态;
[0034]
是当前设计模式的状态转移速率矩阵;失效率λ
seu
由步骤2中系统所处的冲击状态所决定;
[0035]
l:s
→2ap
是一个标记函数,为每个状态分配在状态中有效的原子命题集。
[0036]
优选的,所述步骤五包括:基于交叉和同步方法建立冲击层连续时间马尔科夫模型和设计模式层连续时间马尔科夫模型之间的映射关系;
[0037]
交叉表示不同的连续时间马尔科夫模型彼此完全独立的执行,数学表达方式为:
[0038][0039]
其中,s
*1
,s
*1
'∈s
*1
,α1∈act1,s
*2
,s
*2
'∈s
*2
,和α2∈act2;
[0040]
同步表示属于不同连续时间马尔科夫模型ctmc的转移同时发生,数学表达式为:
[0041][0042]
其中,s
*1
,s
*1
'∈s
*1
,s
*2
,s
*2
'∈s
*2
,act表示一系列的动作,act1∩act2={α}。
[0043]
优选的,所述步骤六包括:
[0044]
状态公式:
[0045]
路径公式:
[0046]
其中,是状态公式;a是原子命题;p∈[0,1],~∈{<,≤,>,≥};p
~p
[ψ]是概率算子,表示从给定状态出发的路径公式满足概率p;是稳态算子,表示处于满足的状态的稳态概率满足概率p;x,u,g和f具体含义如下:
[0047]
x(next):表示从某状态起始路径的第二个状态开始,满足;
[0048]
f(future):表示从路径中的某个状态开始,满足;
[0049]
g(globally):表示性质在路径上的每个都满足;
[0050]
u(until):表示路径上某状态处的第二个性质满足,此状态前的所有状态上的第一个满足。
[0051]
优选的,所述步骤七包括:将步骤三和步骤四中的状态转化和转移速率输入概率模型检测器prism:
[0052]
[]guard->rate_1:update_1+

+rate_n:update_n
[0053]
其中,guard描述模块所处状态变量的行为,rate表示状态转移的速率,update表示变化后的状态;
[0054]
步骤六中的连续随机逻辑属性规约输入prism,在概率模型检测器prism中进行系统设计模式的可靠性分析。
[0055]
经由上述的技术方案可知,与现有技术相比,本发明的有益效果包括:
[0056]
本发明借鉴混合极端运行冲击模型和概率模型检验技术,可以完成对冲击作用下的不同设计模式的系统进行可靠性分析技术的构建,通过使用混合极端运行冲击模型对外
部冲击进行建模,将冲击过程和设计模式建模为马尔科夫模型,并转化为连续时间马尔科夫模型,利用同步和交叉技术描述两者之间的相互作用影响,对所要研究的设计模式属性进行连续随机逻辑定义;最后,将马尔科夫模型和连续随机逻辑输入至概率模型检验器prism中,进行设计模式的多属性验证分析工作。
[0057]
传统的马尔科夫建模方法如果没有足够的工具支持,很难分析系统设计模式的复杂逻辑属性。尤其是系统受到外部冲击时,设计模式的作用规律将变得更加复杂。因此,本发明适用于解决外部冲击作用下的设计模式的可靠性分析问题,借鉴概率模型检验技术和混合极端运行冲击模型提供了一种可靠性分析方法,使用这一技术能自动定量地验证设计模式的不同属性,可以分析处于动态变化的外部环境的设计模式的可靠性,主要优点是分析的详尽性,可以获取时间逻辑查询的数值精确答案,实现系统设计阶段早期的可靠性分析,在设计早期阶段,为研究者提供定量定性的指导意见。
附图说明
[0058]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图;
[0059]
图1为本发明实施例提供的一种基于概率模型检验的设计模式可靠性分析方法的总流程图;
[0060]
图2为本发明实施例提供的一系列不同类型的冲击到来过程示例图;
[0061]
图3为本发明实施例提供的冲击层连续时间马尔科夫转移示例图;
[0062]
图4为本发明实施例提供的三模冗余和重新配置混合设计模式的说明示例图;
[0063]
图5为本发明实施例提供的三模冗余和重新配置混合设计模式的连续时间马尔科夫转移示例图。
具体实施方式
[0064]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0065]
本实施例公开的一种基于概率模型检验的设计模式可靠性分析方法,概率模型检验是一种针对概率模型的自动验证和自动求解技术,它提供了一种基于有限状态的定量分析方法。针对一些概率系统,不仅能够检验各种关于系统性质命题的正确性,还能够自动求解各种命题成立的概率。概率模型检验对一个系统进行模型验证需要两部分输入:第一是该系统的一个形式化描述;第二是该系统性质的一个规范描述,该描述通常由时序逻辑公式给出。在接收到这两个输入之后,模型验证工具就可以通过对此系统所有可能的行为进行彻底的检查来验证该系统是否满足所要求的性质。概率模型检验的优点在于简化了系统建模过程和评估过程,且能给出具体的概率值,适用于对复杂马尔科夫模型进行求解。
[0066]
本实施例采用马尔科夫理论和混合极端运行冲击模型对设计模式和冲击过程进
行抽象和建模,描述在冲击作用下的设计模式。然后基于概率模型检验技术对建立的模型进行自动化验证,基于不同的可靠性指标对设计模式进行量化分析,探索不同设计模式、不同的设计参数、在不同的条件和约束下,对系统可靠性的量化影响。如针对某种特殊类型的故障模式,应该选取什么样的可靠性设计模式,才能在达到可靠性指标要求的同时,还能满足性能、安全性等其他方面的综合权衡,从而为研究人员提供设计模式层面的量化选择和建议。
[0067]
参见附图1-3所示,本实施例公开的具体步骤如下:
[0068]
一种基于概率模型检验的设计模式可靠性分析方法,包括如下步骤:
[0069]
s1,确定系统外部冲击的等级数量和冲击等级对系统影响判断条件.
[0070]
所述系统外部冲击的等级数量包括:三个量级的冲击类型,ⅰ型冲击、ⅱ型冲击和ⅲ型冲击,冲击影响阈值依次增大,分别对应于低于阈值l1、介于阈值l1和阈值l2,高于阈值l2;
[0071]
所述冲击等级对系统影响判断条件包括:ⅰ型冲击下系统状态不改变,连续的ⅱ型冲击下系统状态降级或系统设计模式失效,ⅲ型冲击属于极端冲击,一旦发生,任何设计模式下的系统立即失效。
[0072]
s2,基于冲击等级对系统影响判断条件建立系统混合极端运行冲击模型.
[0073]
用两元变量(s,n
s
)(s=s*,s*-1

,0;limn
s
=l
s
;当s1>s2,l1>l2)表示ⅱ型冲击对系统设计模式的影响;其中,s表示系统抵抗连续ⅱ型冲击的能力,s值越小,系统所能承受的连续ⅱ型冲击数量值越小,s具体的取值依据实际情况来看;s*表示系统处于的最初状态等级;n
s
表示系统处于s等级下,受到的连续ⅱ型冲击的数量,其临界值为l
s

[0074]
当系统处于最初状态s=s*时,只有受到l
s*
个连续的ⅱ型冲击后才会失效。随着系统受到的冲击数量增多,其抵抗连续冲击的能力自然降低,这一考虑体现在s逐渐降级。很显然,当s
i-1
<s
i
时,l
i-1
<l
i

[0075]
本实施例针对系统处于s等级且受到小于l
s
个连续冲击时(即n
s
≤l
s
),系统状态如何改变。将n
s
≤l
s
分两种情况考虑:n
s
<1/2l
s
和1/2l
s
≤n
s
<l
s
。当n
s
<1/2l
s
时,假设此次连续的冲击数量不足以对系统造成影响,即,当ⅰ型冲击紧接着发生时,系统被重置回最初状态(s,0);当1/2l
s
≤n
s
<l
s
,此时n
s
个连续的冲击对系统的影响不可忽略,尽管没有导致系统失效,但会造成系统降级,s转移至s-1。随后,系统将在降级后的状态s-1继续考虑连续的冲击影响。直到s=0时,系统在发生一个ⅱ型冲击后立刻失效。
[0076]
在一个实施例中,如图2所示的外部冲击,图2中的l,y分别表示外部冲击等级的阈值和冲击大小。其中,ⅰ型冲击被认为对设计模式没有影响,ⅲ型冲击属于极端冲击,一旦发生,设计模式立即失效。ⅱ型冲击对系统设计模式的影响,用两元变量(s,n
s
)来表示。其中部分参数的取值假设为s*=2,l2=4,l1=3,l0=2。状态转移过程参见图3,图3中的s,l分别表示冲击模型的等级和相应的连续冲击阈值。由于冲击y1和y2属于ⅰ型冲击,故它们的发生不会对系统造成影响,在如图3所示的马尔科夫状态转移图中表现为(2,0)态的自循环;冲击y3、y4和y5的发生,使系统依次转移至(2,1)、(2,2)和(2,3)态;当冲击y6发生时,由于ⅱ型冲击已发生过半,因此系统将降为s=1等级,在s=1的等级下进行后续转移;由于接下来只有一个ⅱ型冲击y7发生,系统由(1,0)态转移至(1,1)态后,又重置回该等级的初始状态(1,0);y9,y
10
和y
11
的发生,达到了该级连续冲击次数的阈值,导致系统失效。至此,混合极端运
行冲击模型建成。
[0077]
s3,对混合极端运行冲击模型进行形式化描述,建立冲击层连续时间马尔科夫模型。
[0078]
将步骤2的混合极端运行冲击模型用统一的连续时间马尔科夫模型c
shock
进行建模:
[0079][0080]
s
shock
表示冲击过程涉及的全部状态;
[0081]
s
init
∈s
shock
是初始状态,即步骤2中的状态(s*,0);
[0082]
是状态转移速率矩阵,λ
ij
表示不同类型冲击的到来速率;
[0083]
l:s
→2ap
是一个标记函数,为每个状态分配在状态中有效的原子命题集。
[0084]
需要注意的是,冲积层连续时间马尔科夫模型在每个等级s下,均有一个吸收态,而实际建模中将其综合考虑为一个吸收态。
[0085]
在一个实施例中,对于如图2所示的外部冲击示例,将其描述为连续时间马尔科夫模型c
shock

[0086]-s
shock
={(2,0),(2,1),(2,2),(2,3),(2,4),(1,0),(1,1),(1,2),(1,3),(0,0),(0,1),(0,2)};
[0087]-s
init
=(2,0);
[0088][0089]
需要注意的是,将状态(2,4)、(1,3)和(0,2)统一为“运行吸收态”;另外,增设一个“极端吸收态”,即,任何一个状态在受到极端冲击后以λ3的速率转移至该状态。
[0090]
s4,对不同设计模式抽象进行形式化描述,建立设计模式层连续时间马尔科夫模型。
[0091]
对受到外部冲击的基于不同设计模式的系统行为用统一的连续时间马尔科夫模型c
*shock_mode
进行建模:
[0092]
[0093]
*表示系统不同的设计模式,包括但不限于三模冗余、分区、刷新、纠错检码中的一种或多种的组合方式;
[0094]
s
*
是在当前设计模式下包含的所有有限状态;
[0095]
s
init*
∈s
*
是初始状态;
[0096]
是当前设计模式的状态转移速率矩阵;失效率λ
seu
由步骤2中系统所处的冲击状态所决定;
[0097]
l:s
→2ap
是一个标记函数,为每个状态分配在状态中有效的原子命题集。
[0098]
在一个实施例中,如图4所示,图4中的m,v分别表示逻辑块和表决器。本实施例以三模冗余和重新配置的混合模式作为研究的设计模式,对该设计模式建立连续时间马尔科夫模型
[0099]-s={3,2,1};
[0100]-s
init
={3};
[0101][0102]-l(3)={完好},l(2)={降级},l(1)={失效}
[0103]
其中,3表示三个模块均未失效,系统处于完好状态;2表示有一个模块失效,其余两个模块正常工作,系统处于降级状态;1表示两个或者全部模块失效,系统处于失效状态;λ
seu
代表单粒子翻转的速率,不同的外部冲击状态对应不同的翻转速率;μ代表重新配置的刷新速率;该连续时间马尔科夫模型对应的转移图如图5所示。
[0104]
s5,基于步骤三和步骤四建立冲击层和设计模式层的映射关系。
[0105]
映射关系主要考虑不同冲击状态对设计模式失效率λ
seu
的影响,具体描述为,对于步骤2中不同的s等级,其对应的失效率λ
seu
随着等级的降低而减小;每个s等级下,系统处于n
s
<1/2l
s
和1/2l
s
≤n
s
<l
s
的状态所对应的失效率λ
seu
不同;不同s等级对应的失效率随着等级的降低而减小。
[0106]
另外,基于交叉和同步方法建立冲击层连续时间马尔科夫模型和设计模式层连续时间马尔科夫模型之间的速率和状态的对应关系,进而构建整体的连续时间马尔科夫模型;
[0107]
交叉表示不同的连续时间马尔科夫模型彼此完全独立的执行,数学表达方式为:
[0108][0109]
其中,s
*1
,s
*1
'∈s
*1
,α1∈act1,s
*2
,s
*2
'∈s
*2
,和α2∈act2;
[0110]
同步表示属于不同连续时间马尔科夫模型ctmc的转移同时发生,数学表达式为:
[0111][0112]
其中,s
*1
,s
*1
'∈s
*1
,s
*2
,s
*2
'∈s
*2
,act表示一系列的动作,act1∩act2={α}。
[0113]
s6,定义系统的连续随机逻辑属性规约公式。
[0114]
连续随机逻辑提供了一种描述稳态和瞬态行为的方法,这两种行为都是连续时间马尔科夫模型分析的要素。连续随机逻辑需要定义状态公式和路径公式,如下:
[0115]
状态公式:
[0116]
路径公式:
[0117]
其中,是状态公式;a是原子命题;~∈{<,≤,>,≥};是概率算子,表示从给定状态出发的路径公式满足概率p;是稳态算子,表示处于满足的状态的稳态概率满足概率p;x,u,g和f具体含义如下:
[0118]
x(next):表示从某状态起始路径的第二个状态开始,满足;
[0119]
f(future):表示从路径中的某个状态开始,满足;
[0120]
g(globally):表示性质在路径上的每个状态都满足;
[0121]
u(until):表示路径上某状态处的第二个性质满足,此状态前的所有状态上的第一个满足。
[0122]
依据系统设计模式需要分析的性质,基于上述语法进行相应定义。
[0123]
在一个实施例中,考虑分析系统设计模式的四条属性,分别是:
[0124]

系统可靠度:p=?[g[0,t*3600*24]"up"]
[0125]

在[0,t*3600*24]时间段内,系统首次处于“可修失效”的概率:p=?["up"u<=t*3600*24"repair_down"]
[0126]

在[0,t*3600*24]时间段内,系统因外界冲击处于“不可修失效”概率:p=?["up"u<=t*3600*24"down"]
[0127]

系统可用度:r{“up”=?}[c<=t*3600*24]/(t*3600*24)。
[0128]
s7,将步骤三和步骤四建立的连续马尔科夫模型和步骤六建立的连续随机逻辑属性规约输入至概率模型检测器prism,对设计模式进行可靠性验证。
[0129]
prism语言的基本组成部分是模块和变量,模块之间相互交互,整个模型的全局状态由所有模块的本地状态决定。其中,每个模块的行为由一组命令描述。将步骤三和步骤四中的状态转化和转移速率输入概率模型检测器prism:
[0130]
[]guard->rate_1:update_1+

+rate_n:update_n
[0131]
其中,guard描述模块所处状态变量的行为,rate表示状态转移的速率,update表示变化后的状态;
[0132]
步骤六中的连续随机逻辑属性规约输入prism,在概率模型检测器prism中进行系统设计模式的可靠性分析。
[0133]
通过上述步骤,本发明可以完成对冲击作用下设计模式的可靠性分析方法的构建。在这项技术中,我们借鉴概率模型检验技术分析的详尽和自动特性,以及混合极端运行冲击模型的多维捕获特性,将外部冲击和设计模式分别建立冲积层和设计模式层的连续时间马尔科夫模型,用连续随机时序逻辑表示系统设计模式待验证的属性,最后通过概率模型检验器prism进行自动化验证。使用这一方法,可以对考虑冲击作用的不同设计模式进行
可靠性量化分析和评价,在设计阶段的早期探索设计模式在不同的对象、参数设置和约束条件下的规律,辅助研究人员进行设计模式层面改进及最终决策。
[0134]
以上对本发明所提供的基于概率模型检验的设计模式可靠性分析方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
[0135]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1