本发明专利技术公开了一种基于时间扩展petri网的嵌入式软件可靠性评估方法,属于软件可靠性技术领域。所述的方法包括确定评估对象绘制软件体系结构的基于时间扩展的petri网模型、构建软件系统的可达状态标识转移图、获得组件可靠度和变迁可靠度、构建状态转移矩阵、软件系统可靠度计算和灵敏度计算。本发明专利技术方法对petri网进行了时间方面的扩展,通过加入延时、时序方面的因素提高了对实时嵌入式软件的描述能力,并引入相关可靠性,将这些特点运用到可靠性评估中;本发明专利技术克服了采用路径的模型计算方法较为复杂并且可能不太准确的问题;可识别影响软件系统可靠度的关键组件。
【技术实现步骤摘要】
一种基于时间扩展petri网的嵌入式软件可靠性评估方法
本专利技术属于软件可靠性
涉及一种嵌入式软件可靠性评估方法,具体涉及一种基于时间扩展petri网的嵌入式软件可靠性评估方法。
技术介绍
随着社会的不断进步和计算机科学技术的飞速发展,计算机目前已经广泛地应用于航空、航天、工业控制、交通、金融等各项领域。这些领域的系统越来越多地受到计算机的控制,而其控制软件的结构也越来越复杂,软件失效带来的危害也日趋严重。而软件可靠性是软件质量的一项重要指标,提高软件的可靠性已成为软件产业发展和应用的迫切要求。传统的软件可靠性评估模型主要应用于软件测试、验证或运行阶段,将软件看作一个整体,仅仅考虑软件的输入和输出,而不考虑软件内部的结构,即黑盒测试方法。黑盒测试通过用户的操作剖面随机生成测试用例并执行,获得软件的失效信息,并对其进行数学建模,在检测出错误后立即修复,从而得到用于评估的可靠性增长模型。目前基于黑盒的软件可靠性评估技术已经比较成熟。但由于这些模型大都是基于失效数据的,需要在软件测试阶段进行,无法对软件设计阶段的错误进行预防;同时必须通过长时间基于运行剖面的测试才可以得到足够多有意义的失效数据,势必会浪费大量的人力物力。基于体系结构的开发是现代软件开发的重要途径,也是软件工程的要求。软件的体系结构与软件本身的质量和性能息息相关。实践表明,越早的发现软件中存在的错误,所花费的开销就会越小。软件的可靠性与组成软件的构件的可靠性和构件结构相关,因此利用软件体系结构对软件的可靠性进行分析和评估是一种很有价值的方法。
技术实现思路
本专利技术的目的是对现有体系结构的可靠性评估模型的不足进行分析并扩展,在发挥petri网具有良好的扩展性并且对异步和并行具有良好的描述性的基础上,对变迁考虑时间特性,引入可靠度参数,建立了基于时间扩展petri网的嵌入式软件可靠性评估方法。本专利技术将变迁划分为时间变迁和瞬时变迁,对于时间变迁,引入时间相关的可靠度,包括延时可靠度和时序可靠度。延时可靠度主要描述软件系统反应延时高于软件系统要求而发生失效的概率。时序可靠度描述软件系统由于运行顺序错误发生失效的概率,由此给出基于时间扩展petri网的软件体系结构建模方法。本专利技术的一种基于时间扩展petri网的嵌入式软件可靠性评估方法,包括以下几个步骤:步骤一:确定评估对象,绘制软件体系结构的基于时间扩展的petri网模型;通过阅读软件相关文档和代码,熟悉整个工作流程,确定软件系统的功能组件名称和变迁名称,对于软件系统中的功能组件的集合确定为petri网中的库所,通过令牌在库所中的转移来描述软件系统的运行,绘制软件体系整体的petri网模型。步骤二:构建软件系统的可达状态标识转移图;Petri网模型通过令牌的运行来模拟整个软件系统的运行,在某一时刻如果功能组件获得令牌则处于运行状态,通过令牌的转移可以获得整个系统的可达状态标识,进而得到petri网的可达状态标识转移图。步骤三:获得组件可靠度和变迁可靠度;根据软件测试数据和失效数据,确定各个组件的单独的组件可靠度;根据系统运行情况,对于Petri网模型中的瞬时变迁,根据运行情况,确定瞬时变迁概率,并满足∑jpij=1,其中pij表示系统正常从状态i运行到状态j的转移概率;对于时间变迁,一方面,如果具有延时方面的可靠性,根据系统运行情况,确定各个并行变迁Ti′的运行时间段[Til′,Tiu′],然后得到合并之后的并行变迁T′的期望运行时间段[max(T1l′,T2l′,…,Tnl′),max(T1u′,T2u′,…,Tnu′)],n表示并行功能组件数,T′=T1′,T2′,…Ti′,…,Tn′,根据系统对于延时的要求t′,得到变迁可靠度RT′为:RT′=t′/(max(T1u,T2u,…,Tnu)-max(T1l,T2l,…,Tnl)),另一方面,如果具有时序方面的可靠性,根据时序公式得到合并后的并行变迁T′的时序逻辑公式,根据系统实际运行情况,计算得到变迁可靠度。步骤四:构建状态转移矩阵;根据步骤三获得的各个组件可靠度和变迁可靠度,构建软件系统的状态转移矩阵,假设软件系统由n个可达状态构成{M1,…,Mn},其中M1为初始可达状态,Mn为终止可达状态。对现有状态空间进行扩充,加入两个吸收状态S和吸收状态F,其中吸收状态S代表软件正确完成并结束的概率,该吸收状态S只能由最终可达状态Mn转移得到,吸收状态F为软件某一个可达状态发生失效,可以由任意可达状态获得,扩充可达状态空间,得到状态转移矩阵为M={S,F,M1,…,Mn}。步骤五:软件系统可靠度计算;根据步骤四得到的状态转移矩阵M,采用下述公式计算软件系统可靠度Rs。其中,I为单位矩阵,E为矩阵中删除第n行和第1列后的矩阵,Rn为第n个可达状态的可靠度。步骤六:灵敏度计算;假设组件可靠度为RSi,而将第一步中建立petri网模型中其它所有组件可靠度和转移概率参数视为常数,这时软件系统可靠度函数就变为Rs=f(Ri),令组件可靠度RSi在闭区间[Rl,Rh]内变化,ΔRSi=Rh-Rl,则软件系统可靠度Rs的变化值为ΔRs=f(Rh)-f(Rl)。组件可靠度的灵敏度定义为:ΔRs/ΔRSi。分析状态转移概率灵敏度时,假设状态i和状态j间转移概率为pij,而将petri网模型中其它所有组件可靠度和除pij之外的转移概率参数视为常数,这时软件系统可靠度函数就变为Rs=f(pij)。令pij在闭区间[pl,ph]内变化,Δpij=ph-pl。则软件系统可靠度Rs的变化值为f(ph)-f(pl)。功能组件转移概率的灵敏度定义为:ΔRs/Δpij。本专利技术的优点在于:(1)本专利技术方法对petri网进行了时间方面的扩展,通过加入延时、时序方面的因素提高了对实时嵌入式软件的描述能力,并引入相关可靠性,将这些特点运用到可靠性评估中。(2)本专利技术方法利用状态之间转移的马尔可夫模型进行可靠性评估,克服了采用路径的模型计算方法较为复杂并且可能不太准确的问题。(3)本专利技术方法提出了一个软件系统可靠性的灵敏度计算方法,可识别影响软件系统可靠度的关键组件。(4)本专利技术方法解决了在进行软件体系结构的可靠性评估时,很多时候是因为软件不适合进行系统地测试,无法使用黑盒的测试方法通过可靠性增长模型获得整个系统可靠度的问题。附图说明图1为本专利技术的基于时间扩展petri网的嵌入式软件可靠性评估方法的流程图。图2为瞬时变迁和时间变迁的图形表示。图3为选择结构的petri网表示。图4为并行结构的petri网表示。图5为归并结构的petri网表示。图6为中断结构的petri网表示。图7为冗余结构的petri网表示。图8为某飞控系统主要模块运行流程图。图9为纵向姿态调整流程图。图10为某飞控纵向控制软件的petri网结构图。具体实施方式为了便于本领域普通技术人员理解和实施本专利技术,下面结合附图对本专利技术作进一步详细、深入地描述,应当理解,此处所描述的实施仅用于说明和解释本专利技术,并不用于限定本专利技术。本专利技术是一种基于时间扩展petri网的软件可靠性评估方法,流程如图1所示,包括以下几个步骤:步骤一:确定评估对象,绘制软件体系结构的基于时间扩展的petri网模型;软件体系结构都是以功能组件为基础,因本文档来自技高网...
【技术保护点】
一种基于时间扩展petri网的嵌入式软件可靠性评估方法,其特征在于:包括以下几个步骤,步骤一:确定评估对象,绘制软件体系结构的基于时间扩展的petri网模型;确定软件系统的功能组件名称和变迁名称,对于软件系统中的功能组件的集合确定为petri网中的库所,通过令牌在库所中的转移来描述软件系统的运行,绘制软件体系整体的petri网模型;步骤二:构建软件系统的可达状态标识转移图;Petri网模型通过令牌的运行来模拟整个软件系统的运行,在某一时刻如果功能组件获得令牌则处于运行状态,通过令牌的转移获得整个系统的可达状态标识,进而得到petri网的可达状态标识转移图;步骤三:获得组件可靠度和变迁可靠度;根据软件测试数据和失效数据,确定各个组件的单独的组件可靠度;根据系统运行情况,对于Petri网模型中的瞬时变迁,根据运行情况,确定瞬时变迁概率,并满足∑
【技术特征摘要】
1.一种基于时间扩展petri网的嵌入式软件可靠性评估方法,其特征在于:包括以下几个步骤,步骤一:确定评估对象,绘制软件体系结构的基于时间扩展的petri网模型;确定软件系统的功能组件名称和变迁名称,对于软件系统中的功能组件的集合确定为petri网中的库所,通过令牌在库所中的转移来描述软件系统的运行,绘制软件体系整体的petri网模型;步骤二:构建软件系统的可达状态标识转移图;Petri网模型通过令牌的运行来模拟整个软件系统的运行,在某一时刻如果功能组件获得令牌则处于运行状态,通过令牌的转移获得整个系统的可达状态标识,进而得到petri网的可达状态标识转移图;步骤三:获得组件可靠度和变迁可靠度;根据软件测试数据和失效数据,确定各个组件的单独的组件可靠度;根据系统运行情况,对于Petri网模型中的瞬时变迁,根据运行情况,确定瞬时变迁概率,并满足∑jpij=1,其中pij表示系统正常从状态i运行到状态j的转移概率;对于时间变迁,一方面,如果具有延时方面的可靠性,根据系统运行情况,确定各个并行变迁Ti′的运行时间段[Til′,Tiu′],然后得到合并之后的并行变迁T′的期望运行时间段[max(T1l′,T2l′,…,Tnl′),max(T1u′,T2u′,…,Tnu′)],n表示并行功能组件数,T′=T1′,T2′,…Ti′,…,Tn′,根据系统对于延时的要求t′,得到变迁可靠度RT′为:RT′=t′/(max(T1u,T2u,…,Tnu)-max(T1l,T2l,…,Tnl)),另一方面,如果具有时序方面的可靠性,根据时序公式得到合并后的并行变迁T′的时序逻辑公式,根据系统实际运行情况,计算得到变迁可靠度。步骤四:构建状态转移矩阵;根据步骤三获得的各个组件可靠度和变迁可靠度,构建软件系统的状态转移矩...
【专利技术属性】
技术研发人员:殷永峰,张弛,刘利军,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。