本发明属于软件可靠性工程领域,具体涉及一种基于无关性覆盖模型的系统最佳冗余度计算方法。
背景技术:
未覆盖失效是指无法被系统检测、定位、处理的一类失效事件,其发生一般会导致系统直接失效。也正是由于未覆盖失效的存在,当系统的冗余程度超过一定阈值时系统的可靠性反而会降低。
传统针对系统最佳冗余度的计算大都是基于不完全覆盖模型的,该模型假设系统中的组件总是和系统相关,然而相关研究表明,初始时和系统相关的组件,在后续系统运行过程中可能会由于其他组件的失效而变为无关组件,即其正常与否不影响系统的运行。这说明了传统基于不完全覆盖模型计算得到的最佳冗余度存在一定的缺陷。
技术实现要素:
本发明要解决的技术问题是:提供一种基于无关性覆盖模型的系统最佳冗余度计算方法,考虑对无关组件的覆盖,进一步提高系统可靠性。
为了解决上述技术问题本发明所采用的技术方案为:一种基于无关性覆盖模型的系统最佳冗余度计算方法,包括:
步骤1,计算静态系统中各组件的最小无关触发;其中,所述静态系统所包含的逻辑门为and门和or门;所述最小无关触发是使得对应组件变为无关组件的其他组件状态的组合;
步骤2,根据所述最小无关触发得到所述静态系统失效的逻辑表达式,利用sdp技术计算所述失效逻辑表达式的概率;
步骤3,使用定义法判断所述失效逻辑表达式概率的单调性,得到可靠性取得极大值时所述静态系统组件个数,即所述静态系统的最佳冗余度。
其中,失效逻辑表达式是以组件个数为变量的函数,根据定义法计算差值得到静态系统失效概率随组件个数变化而变化的趋势,从而计算出系统失效概率最低时组件个数,即为最佳冗余度。
其中,系统可靠性表达式是基于无关性覆盖模型计算得到的,在该模型中,当某个组件由于其他组件失效变为无关组件时,对其进行隔离操作,后续不再考虑该组件的未覆盖失效。
其中,静态系统的布尔逻辑表达式表示为:
f=(x11+x12+x13+…+x1n)·(x21+x22+x23+…+x2n)…(xm1+xm2+xm3+…+xmn)
式中xij表示第i个子系统中第j个组件;
所述静态系统中组件的最小无关触发表示为:
表示当组件xij外任意一个组件发生覆盖失效后,所述静态串联子系统都将无法继续正常工作,xij则会变为无关组件。
本发明的有益效果在于:由于传统针对系统最佳冗余度的计算并未考虑系统中组件的相关性,计算出的结果存在一定误差,因此本发明结合无关性覆盖模型计算系统的最佳冗余度,其最终结果能够进一步提升系统的可靠性。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明提供的一种基于无关性覆盖模型的系统最佳冗余度计算方法的流程示意图。
图2是本发明提供的一种基于无关性覆盖模型的系统最佳冗余度计算方法中无关性覆盖模型原理图。
图3是本发明提供的一种基于无关性覆盖模型的系统最佳冗余度计算方法的一般化系统结构图。
图4是本发明提供的一种基于无关性覆盖模型的系统最佳冗余度计算方法的最佳结构图。
图5是本发明提供的一种基于无关性覆盖模型的系统最佳冗余度计算方法的系统失效概率曲线图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
如图1所示,本发明提供了一种基于无关性覆盖模型的系统最佳冗余度计算方法,包括:
步骤1,计算静态系统中各组件的最小无关触发;所述最小无关触发是使得对应组件变为无关组件的其他组件状态的组合;
在本发明中,假设系统为静态系统,即只包含and门和or门;组件有三种状态,分别为未失效、覆盖失效、未覆盖失效。无关性覆盖模型的特点就体现在最小无关触发。
当系统中某个组件的最小无关触发发生时,该组件就变为无关组件,可以安全的将其从系统中隔离,后续就不用考虑该组件的未覆盖失效对系统的影响,达到提升系统可靠性的目的。据此在系统失效表达式中对未覆盖失效进行了约束,即未覆盖失效必须发生在组件最小无关触发之前,否则该组件将被隔离,无须考虑其未覆盖失效。
步骤2,根据所述最小无关触发得到所述静态系统失效的逻辑表达式,利用sdp技术计算所述失效逻辑表达式的概率;
步骤3,使用定义法判断所述是失效逻辑表达式概率的单调性,得到可靠性取得极大值时所述静态系统组件个数,即所述静态系统的最佳冗余度。
其中,失效逻辑表达式是以组件个数为变量的函数,根据定义法计算差值得到静态系统失效概率随组件个数变化而变化的趋势,从而计算出系统失效概率最低时组件个数,即为最佳冗余度。
其中,系统可靠性表达式是基于无关性覆盖模型计算得到的,在该模型中,当某个组件由于其他组件失效变为无关组件时,对其进行隔离操作,后续不再考虑该组件的未覆盖失效。
其中,静态系统的布尔逻辑表达式表示为:
f=(x11+x12+x13+…+x1n)·(x21+x22+x23+…+x2n)…(xm1+xm2+xm3+…+xmn)
式中xij表示第i个子系统中第j个组件;
所述静态系统中组件的最小无关触发表示为:
表示当组件xij外任意一个组件发生覆盖失效后,所述静态串联子系统都将无法继续正常工作,xij则会变为无关组件。
具体的,图2为无关性覆盖模型原理图,设一个系统由a、b、c三个组件组成,若b组件中产生一个故障,经过系统恢复机制等操作后,最终有三种可能的结果。如果系统的恢复机制能够检测到该故障并能将其修复则称为rexit,系统恢复到原状态;如果系统的恢复机制能够检测到该故障但并无法修复,此时系统会将b组件进行隔离,又由于a组件和b组件是串联关系,当b组件被隔离时,a、b所处的子系统对于整个系统来说都已断开连接,因此a组件对于整个系统来说是无关的,所以a组件也被隔离,称为覆盖失效,对应cexit;如果系统的恢复机制无法检测到b组件中的故障,该故障最终会导致整个系统的失效,称为单点失效,对应sexit。
下面针对图3所示的并串联系统结合上述步骤计算其最佳冗余度。为方便计算,假设该并串联系统中的所有组件是相同的,且组件失效是相互独立的。
步骤1,计算系统中各组件的最小无关触发。
该系统对应的布尔逻辑表达式为
f=(x11+x12+x13+…+x1n)·(x21+x22+x23+…+x2n)…(xm1+xm2+xm3+…+xmn)
,由最小无关触发定义可知,mit(x,f)=ppi(g)\pi(f),且
步骤2,根据步骤1中的最小无关触发得到系统失效的逻辑表达式,利用sdp技术计算该逻辑表达式的概率。
该串并联系统在无关覆盖模型下的失效事件如下:
将步骤1中计算得到的最小无关触发带入上式中,得到:
其中
是由覆盖失效事件组合得到的系统失效事件。下面计算该失效表达式的概率。
通过观察可以发现
取i=j=1,
因为
下面分别计算两部分的概率。
根据假设,该系统中所有组件是相同的,即其失效率、覆盖率等参数是相同的,设组件可靠性为p,覆盖率为c,则pr=p,pc=(1-p)·c,ps=(1-p)·(1-c)。由sdp算法可知:
令
则
在计算第二部分时,可以把每个串联子系统当作一个整体。针对第一个串联子系统,有:
令
则:
综上,该并串联系统失效概率为:
其中a=1-(1-pc)n,
步骤3,使用定义法判断概率表达式的单调性,得到可靠性取得极大值时系统组件个数,即系统的最佳冗余度。
由步骤2得到了并串联系统失效率随子系统个数变化的函数,采用定义法计算该函数的单调性并进一步求得极值。设
对a与b的范围进行讨论,由于
且
令δ≥0:
am·(a-1)+(1-b)m·b≥0
(1-b)m·b≥am·(1-a)
两边同时取对数:
当m<m0时,系统失效概率单调递减,当m≥m0时,系统失效概率单调递增。因为串联子系统数m为整数,得到该系统最佳冗余度为:
当串联子系统个数为m*时,系统失效率最小,即系统可靠性最高。考虑一个具体实例,假设系统参数分别设置为c=0.7,p=0.8,n=2,即系统覆盖率为0.7,组件的可靠性为0.8,每个串联子系统中含有两个组件。根据上述得到最佳冗余度计算式,可分别计算
以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。