一种基于Altarica形式化语言的软件FMEA分析方法与流程

文档序号:12464157阅读:2216来源:国知局
一种基于Altarica形式化语言的软件FMEA分析方法与流程

本发明涉核电行业核安全级数字仪控设备软件可靠性分析技术领域,尤其涉及一种基于Altarica形式化语言的软件FMEA分析方法。



背景技术:

软件可靠性(software reliability)是软件产品在规定的条件下和规定的时间区间完成规定功能的能力。现阶段针对软件的可靠性分析方法主要有两大类,定性的分析方法和定量的分析方法。其中定量的分析方法是基于概率统计的,但由于软件自身的特性,现阶段软件可靠性定量分析的置信度不高,软件的定性分析一般是基于经典可靠性分析方法如FMEA,FTA等。

FMEA是指失效模式与影响分析。FMEA分析方法是一种经典的可靠性分析方法,能够有效的针对软件进行可靠性分析。但是由于软件自身的特性,在使用FMEA分析方法的时候,存在分析颗粒度无法把握,工作量巨大等问题;分析质量严重依赖分析人员的知识水平,无法有效的保证分析质量。

软件工程中的形式化分析方法是以数学理论为基础,建立的一种用来解决软件工程领域问题的系统性分析方法。形式化方法通过具有明确语义的形式语言来描述目标软件系统的行为和特征,为目标系统开发提供了一个模型化的有效设计和分析途径,保障了系统的安全性和可靠性,根据表达能力,形式化方法可以分为五类:基于模型的方法、基于逻辑的方法、代数方法、过程代数方法、基于网络的方法等。本发明选用的形式化方法是一种基于模型的方法,它通过明确定义状态和操作来建立一个系统模型(使系统从一个状态转换到另一个状态),并使用断言或时态逻辑来描述属性(系统必须满足的性质)。

形式化分析方法在数学、计算机科学、人工智能、航天等领域得到广泛运用。它能精确地揭示各种逻辑规律,制定相应的逻辑规则,为目标系统开发提供了一个模型化的有效设计和分析途径,保障了系统的安全性和可靠性。



技术实现要素:

针对传统FMEA分析在软件可靠性分析中存在的缺点。本发明提供了一种基于Altarica形式化语言的软件FMEA分析方法,利用形式化技术的准确无歧义、便于验证以及计算机处理的特点,结合传统软件可靠性分析方法(FMEA),达到模块化分析对象,使分析对象模型可复用,进而减小软件FMEA分析的工作量。

为了实现上述目的,本发明提供的技术方案如下:

一种基于Altarica形式化语言的软件FMEA分析方法,包括以下步骤:

步骤1:识别待分析软件数据流并画出数据流图;

步骤2:针对待分析软件建立基本软件模型;

步骤3:定义待分析软件失效,并使用步骤2中建立的基本软件模型的各个状态来描述待分析软件的失效;

步骤4:搜索所有满足待分析软件的失效定义的状态传输路径,每条传输路径为一个失效模式;

步骤5:分析各个满足待分析软件失效定义的状态传输路径,并填写FMEA表格。

进一步,所述步骤2中建立通用基本软件模型,包括以下步骤:

步骤a:把软件行为抽象为数据的接收和发送;

步骤b:从时间、空间、行为内涵三个方面对软件的状态进行描述;

步骤c:判断软件状态与软件行为之间的关系;以通用基本软件模型为最小颗粒度,根据数据流流向,进行数据赋值。

进一步,所述步骤c中,判断软件状态与软件行为之间的关系,包括以下几种关系:

i.当数据在时间上为新,空间上不为空时,进行发送操作后,数据时间特性变为旧,空间特性变为空;

ii.当数据时间特性为新,空间特性为空时,进行发送操作后,数据行为内涵为无效;

iii.当数据时间特性为旧时,进行发送操作时,数据行为内涵为无效;

iv.当数据在时间上为新,空间上不为空时,进行接收操作后,数据行为内涵特性为无效;

v.当数据时间特性为新,空间特性为空时,进行接收操作后,数据行为内涵为无效;

vi.当数据时间特性为旧,空间特性为空时,进行接收操作时,当数据时间特性为新,空间特性不为空;

vii.当数据时间特性为旧,空间特性不为空时,进行接收操作时,数据行为内涵特性为失效。

本发明的有益效果如下:

本发明软件功能单元模型化,使用形式化工具执行分析,减小工作量;软件功能单元模型化,达到模型复用。针对不同的软件功能单元,总结归纳验证属性,达到知识的积累和共享。

附图说明

图1为分析方法流程图;

图2为实施例2数据流图;

图3为搜索满足要求的状态转移路径示意图;

图4为分析失效模式的原因示意图。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,这些具体的说明只是让本领域普通技术人员更加容易、清晰理解本发明,而非对本发明的限定性解释;并且只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

实施例1:

本发明一种基于Altarica形式化语言的软件FMEA分析方法,包括以下步骤:

步骤1:识别软件数据流并画出数据流图,

识别软件需要传输的信息,寻找信息的源头,根据数据在各个功能块间传递路径画出数据流图;

步骤2:针对待分析软件进行建模,

建立通用基本软件模型:

①把软件行为抽象为数据接收和发送;

②从时间、空间、行为内涵三个方面对软件的状态进行描述,即数据是否是最新数据,数据空间是否满,数据代表的含义是执行,不执行还是未知;

③软件状态与软件行为之间的关系:当数据在时间上为新,空间上不为空时,进行发送操作后,数据时间特性变为旧,空间特性变为空;当数据时间特性为新,空间特性为空时,进行发送操作后,数据行为内涵为无效(数据延时);当数据时间特性为旧时,进行发送操作时,数据行为内涵为无效(重复发包);当数据在时间上为新,空间上不为空时,进行接收操作后,数据行为内涵特性为无效(数据覆盖);当数据时间特性为新,空间特性为空时,进行接收操作后,数据行为内涵为无效(数据丢失);当数据时间特性为旧,空间特性为空时,进行接收操作时,当数据时间特性为新,空间特性不为空;当数据时间特性为旧,空间特性不为空时,进行接收操作时,数据行为内涵特性为失效(数据被破坏);

使用Altarica形式化语言描述为:

通用基本软件模型是针对软件功能单元的一种抽象描述,具有一定的通用性,可重复使用。

以通用基本软件模型为最小颗粒度,根据数据流流向,进行数据赋值;例如一个软件中包含2个基本软件功能单元,即存在2个基本软件模型(模型a、b)其中模型a的数据流向模型b,那么进行数据赋值的时候,模型a的数据赋给模型b,通过这种方式,使用基本软件模型来描述一个一般化的软件。

步骤3:定义软件失效并用使用基本软件模型中的各个状态来描述;例如定义上述例子中软件失效为数据b中的时间特性为旧即为失效。

步骤4:使用arc工具自动搜索所有满足待分析软件的失效定义的状态传输路径,每条传输路径为一个失效模式;

步骤5:分析各个满足待分析软件失效定义的状态传输路径,并填写FMEA表格。

实施例2:

软件描述:执行软件配置数据的读取(从FLASH中)、解析并把解析后的数据写入双口RAM。

1、识别数据流并画数据流图,如图2所示。<步骤1>

2、针对配置功能进行形式化描述<步骤2>

3、定义写入双口RAM数据错误为配置功能失效并形式化语言描述<步骤3>

[(Out.action=failure)&(s=finishing)]

4、使用工具进行搜索满足要求的状态转移路径,如图3。<步骤4>

5、分析失效模式的原因和概率并填写FMEA表格,如图4。<步骤5>

FMEA表格如下:

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1