当前位置: 首页 > 专利查询>南京大学专利>正文

一种对软件过程进行自动化故障模式及影响分析的方法技术

技术编号:4134557 阅读:294 留言:0更新日期:2012-04-11 18:40
软件过程是软件生产的途径,软件过程的管理是保证软件质量的重要手段,如何将软件过程的各个要素有机结合在一起,降低软件开发的风险与成本,提高软件产品的质量,是软件过程技术一直所关注的问题。本发明专利技术提出一种自动化故障模式及影响分析的方法,在用Little-JIL过程建模语言对软件过程建模的基础上,系统地分析软件过程中存在的缺陷与薄弱环节,并分析它们可能造成的影响与造成其发生的潜在原因,从而采取相应措施,提高软件过程的安全性,预防故障的发生,改进软件产品的质量,降低软件开发的成本与风险。本发明专利技术不仅突破了传统的故障模式及影响分析方法耗时且易出错的缺陷,并实现了故障模式及影响分析方法与故障树分析方法这两种互补的安全性分析方法的有效结合。

【技术实现步骤摘要】

本专利技术涉及软件过程的安全性分析方法以及用过程建模语言对软件过程建模的方法,特 别涉及对软件过程中存在的故障模式、影响及潜在原因进行自动分析的方法,以及故障模式 及影响分析方法与故障树分析方法的有效结合。
技术介绍
随着计算机技术的发展,计算机软件的质量越来越受到人们的关注,尤其是高安全性的 软件,比如航空航天领域的软件,软件的可靠性非常重要,如何开发可靠的软件越来越成为 大家关注的焦点。然而,通过软件开发实践,人们逐步地认识到软件产品的质量在很大程度 上依赖于软件产品开发时所使用的过程,生产高质量的软件需要有一个高质量的软件过程。 也就是说,软件过程管理是保障软件质量的重要手段。如何将软件过程涉及的各个要素有机 结合在一起,有效并高效地实现软件产品的开发,降低软件开发的风险,从而提高软件产品 的质量,是软件过程技术一直所关注的问题之一。如何将故障模式及影响分析、故障树分析 等安全性分析方法应用于软件过程也成为人们关注的焦点。故障模式及影响分析方法是一种自底向上的安全性分析方法,最初被应用于工业系统的 安全性分析,尤其是航空业、军工业及核工业等高安全性产业。随着故障模式及影响分析方 法的不断发展与成熟,它逐渐被广泛应用到各个领域。它用来分析系统或过程内潜在的故障 模式(Failure Mode)、故障模式可能造成的影响(Effect)以及导致故障模式发生的潜在原因 (Potential Cause),并评估影响的严重性(S-Severity)、潜在原因的发生频率(0-Occurrence) 以及故障模式的可检出性(D-Detective),然后对故障模式按照风险系数(Risk Priority Number(RPN) = S*0*D)进行排序,对高风险性的故障模式采取相应措施,从而改善系统或 过程的安全性。人们也逐渐认识到,故障模式及影响分析方法作为一种成熟且被广泛使用的 安全性分析方法,可用来监控软件过程的执行,发现软件过程中存在的缺陷,从而提出改进 措施。由于不同的软件组织其软件过程也不尽相同,为了通过特定的形式准确描述各个软件组 织所要实施的软件过程,从而使得其软件开发活动变得可控和可预测,研究者们提出对软件 过程进行建模的思想。软件过程建模的主要目的是使用特定的软件过程建模语言建立软件过4程的抽象模型,通过对该抽象模型的分析增加对过程本身的理解与认识,从而可以更好地实 施软件开发活动。因此,软件过程建模语言不仅需要能够精确地描述软件过程各个要素的属 性与特征,并且也要能够描述要素之间的约束关系,例如资源的共享、工件之间的依赖关系 以及各个活动之间的协调与配合关系,等等。Little-JIL过程建模语言不仅具有易于理解的图 形化表示,且具有严密的形式化语义规则,可用来严格定义软件过程中涉及的各种要素及其 相互之间的关系,完全符合上述需求。在用Little-JIL过程建模语言对软件过程进行建模后,可用故障模式及影响分析方法以及 故障树分析方法等安全性分析方法对其进行系统全面的分析、管理与监控。现有的可对软件过程进行安全性分析的方法主要有故障模式及影响分析方法和故障树分 析方法两种,但未提出具体如何实施这两种方法对软件过程进行分析。对于故障模式及影响分析方法,目前主要是采取传统的故障模式及影响分析方法,是通 过专家讨论(Brainstorming)等方式完成的,众所周知,这样的手工方式不可避免的缺点是 耗时、片面且易出错。对于故障树分析方法,Bin Chen等人提出了等人提出的从Little-JIL过程定义自动生成故 障树方法,在用Little-JIL过程建模语言对过程建模的基础上,用故障树分析结果来辅助过程改 进。此方法未提出用Littel-JIL过程建模语言对软件过程的建模方法,且只是自顶向下分析造 成故障事件的原因事件及原因事件组合,并未自底向上分析故障可能导致的影响,也未系统 地分析系统潜在的所有缺陷(故障模式),亦即未与故障模式及影响分析方法相结合。
技术实现思路
,所述方法包括下列步骤(1)用Little-JIL过程建模语言对软件过程建模-首先,将软件过程的各个活动描述为Little-JIL步骤,活动的不同执行顺序描述为不同的 Little-JIL步骤顺序,其中,该Little-JIL步骤顺序包括顺序、并行、选择及尝试四种类型,活 动之间特殊的先决和后置关系分别描述为先决步骤和后置步骤;其次,将软件过程各个活动中的工件描述为Little-JIL步骤的不同类型的参数,并在在步 骤接口中进行申明,其中,所述的不同类型的参数,包括输入参数、输出参数及输入/输出参 数三种不同的类型;第三,将软件过程各个活动之间的工件传递描述为Little-JIL中的参数绑定和通道绑定, 其中,若工件传递存在于父活动与其子活动之间,则描述为参数绑定,否则描述为资源绑定。若描述为资源绑定,则必须将活动中使用的通道在对应的Little-JIL步骤接口中申明;第四,将软件过程中各个活动使用的资源描述为Little-JIL中的资源描述,并在该活动对 应步骤的接口中申明;最后,将软件过程中各个主体作为资源的一种,将其描述为Little-JIL中的资源描述,并 在该活动对应步骤的接口中申明。(2)对建模后的软件过程进行自动化故障模式及影响分析(2.1) 自动分析故障模式遍历Little-JIL过程中的所有步骤,访问其步骤接口中申 明的所有参数,对于任一参数,若参数类型为输入参数,则生成故障模式<输入工件 Pi出错,活动5>;若参数类型为输出参数,则生成故障模式〈输出工件p。出错,活动 S>;若参数类型为输入/输出参数,则同时生成故障模式〈输入工件pi/。出错,活动S〉 和〈输出工件Pi/。出错,活动S^(2.2) 自动分析影响(2.2.1) 首先,抽取整个软件过程各个活动之间的工件流图AFG (Artifact Flow Graph):抽取AFG的结点各个活动对应Little-JIL步骤接口中的每个参数都对应为 AFG的一个结点;抽取AFG的边若一个步骤的参数pl与另外一个步骤参数p2之 间存在由pi指向p2的参数绑定,则在AFG中增加对应的边由pi指向p2;若一个 步骤从通道读或取的参数pi为另一步骤向该通道写的参数p2,则在AFG中增加对 应的边由pi指向p2;在AFG中为步骤的每一个输入参数增加一条边指向同一步骤 的任一输出参数;(2.2.2) 对于(2.1)生成的故障模式,用故障模式中的错误工件p'去遍历整个 AFG, AFG中从工件p'流向的所有工件均为该故障模式中的错误工件将会影响到的 所有其他工件,这些工件的错误为该故障模式的影响。(2.3) 自动分析潜在原因将(2.1)生成的故障模式作为故障树的顶事件,根据该 事件类型以及该事件是否满足预定义模板的特定前提去选择合适的模板,一旦模板选 定,则用模板中定义的小故障树去替代该事件,如此反复,直至所有新生成的事件均 为基本事件为止,生成的故障树即为导致故障模式发生的所有潜在原因的集合。本专利技术提出的方法,以及据此设计实现的自动故障模式及影响分析系统有如下的优点 (1)分析系统全面本专利技术提出的自动化分析的方法克服了手工分析方法带来的片面且易出本文档来自技高网
...

【技术保护点】
一种对软件过程进行自动化故障模式及影响分析的方法,所述方法包括下列步骤: (1)用Little-JIL过程建模语言对软件过程建模: 首先,将软件过程的各个活动描述为Little-JIL步骤,活动的不同执行顺序描述为不同的Little-JIL步骤顺序,其中,该Little-JIL步骤顺序包括顺序、并行、选择及尝试四种类型,活动之间特殊的先决和后置关系分别描述为先决步骤和后置步骤; 其次,将软件过程各个活动中的工件描述为Little-JIL步骤的不同类型的参数,事件类型以及该事件是否满足预定义模板的特定前提去选择合适的模板,一旦模板选定,则用模板中定义的小故障树去替代该事件,如此反复,直至所有新生成的事件均为基本事件为止,生成的故障树即为导致故障模式发生的所有潜在原因的集合。并在在步骤接口中进行申明,其中,所述的不同类型的参数,包括输入参数、输出参数及输入/输出参数三种不同的类型; 第三,将软件过程各个活动之间的工件传递描述为Little-JIL中的参数绑定和通道绑定,其中,若工件传递存在于父活动与其子活动之间,则描述为参数绑定,否则描述为资源绑定。若描述为资源绑定,则必须将活动中使用的通道在对应的Little-JIL步骤接口中申明; 第四,将软件过程中各个活动使用的资源描述为Little-JIL中的资源描述,并在该活动对应步骤的接口中申明; 最后,将软件过程中各个主体作为资源的一种,将其描述为Little-JIL中的资源描述,并在该活动对应步骤的接口中申明。 (2)对建模后的软件过程进行自动化故障模式及影响分析: (2.1)自动分析故障模式:遍历Little-JIL过程中的所有步骤,访问其步骤接口中申明的所有参数,对于任一参数,若参数类型为输入参数,则生成故障模式<输入工件p↓[i]出错,活动S>;若参数类型为输出参数,则生成故障模式<输出工件p↓[o]出错,活动S>;若参数类型为输入/输出参数,则同时生成故障模式<输入工件p↓[i/o]出错,活动S>和<输出工件p↓[i/o]出错,活动S>; (2.2)自动分析影响: (2.2.1)首先,抽取整个软件过程各个活动之间的工件流图AFG(ArtifactFlowGraph):抽取AFG的结点:各个活动对应Little-JIL步骤接口中的每个参数都对应为AFG的一个结点;抽取AFG的边:若一个步骤的参数p1与另外一个步骤参数p2之间存在由p1指向p2的参数绑定,则在A...

【技术特征摘要】
1、一种对软件过程进行自动化故障模式及影响分析的方法,所述方法包括下列步骤(1)用Little-JIL过程建模语言对软件过程建模首先,将软件过程的各个活动描述为Little-JIL步骤,活动的不同执行顺序描述为不同的Little-JIL步骤顺序,其中,该Little-JIL步骤顺序包括顺序、并行、选择及尝试四种类型,活动之间特殊的先决和后置关系分别描述为先决步骤和后置步骤;其次,将软件过程各个活动中的工件描述为Little-JIL步骤的不同类型的参数,并在在步骤接口中进行申明,其中,所述的不同类型的参数,包括输入参数、输出参数及输入/输出参数三种不同的类型;第三,将软件过程各个活动之间的工件传递描述为Little-JIL中的参数绑定和通道绑定,其中,若工件传递存在于父活动与其子活动之间,则描述为参数绑定,否则描述为资源绑定。若描述为资源绑定,则必须将活动中使用的通道在对应的Little-JIL步骤接口中申明;第四,将软件过程中各个活动使用的资源描述为Little-JIL中的资源描述,并在该活动对应步骤的接口中申明;最后,将软件过程中各个主体作为资源的一种,将其描述为Little-JIL中的资源描述,并在该活动对应步骤的接口中申明。(2)对建模后的软件过程进行自动化故障模式及影响分析(2.1)自动分析故障模式遍历Little-JIL过程中的所有步骤,访问其步骤接口中申明的所有参数,对于任一参数,若参数类型为输入参数,则生成故障模式&lt;输入工件pi出错,活动S&gt;;若参数类型为输出参数,则生成故障模式&lt;输出工件po出错,活动S&gt;;若参数类型为输入/输出参数,则同时生成故障模式&lt;输入工件pi/o出错,活动S&...

【专利技术属性】
技术研发人员:潘金贵王丹华
申请(专利权)人:南京大学
类型:发明
国别省市:84[中国|南京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1