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

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

Info

Publication number
CN101634966B
CN101634966B CN2009101697712A CN200910169771A CN101634966B CN 101634966 B CN101634966 B CN 101634966B CN 2009101697712 A CN2009101697712 A CN 2009101697712A CN 200910169771 A CN200910169771 A CN 200910169771A CN 101634966 B CN101634966 B CN 101634966B
Authority
CN
China
Prior art keywords
workpiece
fault mode
parameter
software process
jil
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009101697712A
Other languages
English (en)
Other versions
CN101634966A (zh
Inventor
潘金贵
王丹华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN2009101697712A priority Critical patent/CN101634966B/zh
Publication of CN101634966A publication Critical patent/CN101634966A/zh
Application granted granted Critical
Publication of CN101634966B publication Critical patent/CN101634966B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

一种对软件过程进行自动化故障模式及影响分析的方法
技术领域
本发明涉及软件过程的安全性分析方法以及用过程建模语言对软件过程建模的方法,特别涉及对软件过程中存在的故障模式、影响及潜在原因进行自动分析的方法,以及故障模式及影响分析方法与故障树分析方法的有效结合。
技术背景
随着计算机技术的发展,计算机软件的质量越来越受到人们的关注,尤其是高安全性的软件,比如航空航天领域的软件,软件的可靠性非常重要,如何开发可靠的软件越来越成为大家关注的焦点。然而,通过软件开发实践,人们逐步地认识到软件产品的质量在很大程度上依赖于软件产品开发时所使用的过程,生产高质量的软件需要有一个高质量的软件过程。也就是说,软件过程管理是保障软件质量的重要手段。如何将软件过程涉及的各个要素有机结合在一起,有效并高效地实现软件产品的开发,降低软件开发的风险,从而提高软件产品的质量,是软件过程技术一直所关注的问题之一。如何将故障模式及影响分析、故障树分析等安全性分析方法应用于软件过程也成为人们关注的焦点。
故障模式及影响分析方法是一种自底向上的安全性分析方法,最初被应用于工业系统的安全性分析,尤其是航空业、军工业及核工业等高安全性产业。随着故障模式及影响分析方法的不断发展与成熟,它逐渐被广泛应用到各个领域。它用来分析系统或过程内潜在的故障模式(Failure Mode)、故障模式可能造成的影响(Effect)以及导致故障模式发生的潜在原因(Potential Cause),并评估影响的严重性(S-Severity)、潜在原因的发生频率(O-Occurrence)以及故障模式的可检出性(D-Detective),然后对故障模式按照风险系数(Risk PriorityNumber(RPN)=S*O*D)进行排序,对高风险性的故障模式采取相应措施,从而改善系统或过程的安全性。人们也逐渐认识到,故障模式及影响分析方法作为一种成熟且被广泛使用的安全性分析方法,可用来监控软件过程的执行,发现软件过程中存在的缺陷,从而提出改进措施。
由于不同的软件组织其软件过程也不尽相同,为了通过特定的形式准确描述各个软件组织所要实施的软件过程,从而使得其软件开发活动变得可控和可预测,研究者们提出对软件过程进行建模的思想。软件过程建模的主要目的是使用特定的软件过程建模语言建立软件过程的抽象模型,通过对该抽象模型的分析增加对过程本身的理解与认识,从而可以更好地实施软件开发活动。因此,软件过程建模语言不仅需要能够精确地描述软件过程各个要素的属性与特征,并且也要能够描述要素之间的约束关系,例如资源的共享、工件之间的依赖关系以及各个活动之间的协调与配合关系,等等。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出错,活动S>;若参数类型为输出参数,则生成故障模式<输出工件po出错,活动S>;若参数类型为输入/输出参数,则同时生成故障模式<输入工件pi/o出错,活动S>和<输出工件pi/o出错,活动S>;
(2.2)自动分析影响:
(2.2.1)首先,抽取整个软件过程各个活动之间的工件流图AFG(Artifact FlowGraph):抽取AFG的结点:将各个活动对应的Little-JIL步骤的接口中的每个参数都对应为AFG的一个结点;抽取AFG的边:若一个步骤的参数p1与另外一个步骤的参数p2之间存在由p1指向p2的参数绑定,则在AFG中增加对应的边由p1指向p2;若一个步骤从通道读或取的参数p1为另一步骤向该通道写的参数p2,则在AFG中增加对应的边由p1指向p2;在AFG中为步骤的每一个输入参数增加一条边指向同一步骤的任一输出参数;
(2.2.2)对于(2.1)生成的故障模式,用故障模式中的错误工件p’去遍历整个AFG,AFG中从错误工件p’流向的所有工件均为该故障模式中的错误工件p’将会影响到的所有其他工件,这些工件的错误为该故障模式的影响;
(2.3)自动分析潜在原因:将(2.1)生成的故障模式作为故障树的顶事件,根据该顶事件类型以及该顶事件是否满足预定义模板的特定前提去选择合适的模板,一旦模板选定,则用模板中定义的小故障树去替代该顶事件,如此反复,直至所有新生成的事件均为基本事件为止,生成的故障树即为导致故障模式发生的所有潜在原因的集合。
本发明提出的方法,以及据此设计实现的自动故障模式及影响分析系统有如下的优点:
(1)分析系统全面:本发明提出的自动化分析的方法克服了手工分析方法带来的片面且易出错性,系统且全面地分析了软件过程中存在的缺陷及其影响。
(2)省时性:本发明提出的方法的自动化特性大大节省了时间、人力等资源。
(3)降低风险性:本发明提出的方法可自动分析出软件过程中潜在风险,从而可对高风险性故障模式采取相应措施,同时也提醒软件组织将人力资源分配到高风险性故障模式发生的活动,实现资源的合理分配与组织,降低软件开发的风险。
(4)有效结合性:本发明提出的方法有效结合了故障模式及影响分析方法和故障树分析方法这两种互补的安全性分析方法,对于给定故障模式,既可用自动化故障模式及影响分析方法分析其可能造成的所有影响,又可将故障模式作为故障树的顶事件,用自动化故障树分析技术分析造成其发生的潜在原因,最终结合两种技术的分析结果对整个软件过程提出改进措施,有效改进软件过程,提高软件质量。
当前,随着软件技术深入到人们生活的每个角落,生产高质量低风险低成本的软件成为人们长期追逐的目标,而软件过程作为软件生产的途径,因而对软件过程的管理是保证软件质量的重要手段,本发明所提出的方法可以说正适应了这种需求,可以预见有着良好的市场途径。
本发明所提出方法的实现思想和计算机程序系统,不需要特别的生产条件,研究成功成本几乎可忽略不计。
附图说明
图1是故障模式及影响分析方法中的故障模式、影响及潜在原因三者之间的关系图,其自动分析的方法是本发明的重点。
图2是Little-JIL过程示例及其对应的工件流图片段。
具体实施方法
本发明的目的是:针对软件安全性的需求,对软件产品的生产过程——软件过程进行分析与监控,并且为了突破传统的故障模式及影响分析方法的缺陷,首先提出用Little-JIL过程建模语言对软件过程进行建模的方法,并且在此基础上提出一种自动化对软件过程进行故障模式及影响分析的方法,系统地分析软件过程中存在的缺陷与薄弱环节,并分析它们可能造成的影响与造成其发生的潜在原因,从而采取相应措施,提高软件过程的安全性,预防故障的发生,改进软件产品的质量,降低软件开发的成本与风险。本发明提出的方法还实现了故障模式及影响分析与故障树分析这两种安全性分析方法的有效结合。
本发明具体方法步骤如下,主要分为用Little-JIL过程建模语言对软件过程进行建模和对建模后的软件过程进行自动化故障模式及影响分析两大部分:
(1)用Little-JIL过程建模语言对软件过程进行建模:软件过程是一个由诸多与软件开发相关的要素组成的复杂系统,要素之间的相互约束关系也很复杂,不同的软件过程建模语言通常将建模所关注的焦点集中在某一个要素上,并以该要素为中心建立整个软件过程模型。Little-JIL过程建模语言提供了一种基于活动的建模方法,它以活动作为模型的核心要素,其他过程要素与活动相关联,从而将过程描述为一系列步骤与活动的偏序集。各个软件组织其软件过程也不尽相同,但是,一旦该组织确定了其软件过程的各个要素,即可按以下方法用Little-JIL语言对其进行描述,建立软件过程模型:
(1.1)活动:软件过程的各个活动及其子活动在Little-JIL语言中可分别被描述为步骤及其子步骤。步骤的接口中申明该步骤所使用的资源(包括主体)、输入及输出工件等信息。活动的执行顺序由步骤顺序(step sequence)指定,步骤顺序包括顺序(sequential)、并行(parallel)、选择(choice)及尝试(try)四种。软件过程的活动之间可能存在特殊的先决或后置关系,亦即,活动B必须在活动A完成后才开始执行,或者当活动B完成时必须执行活动C,在用Little-JIL语言进行描述时,活动A被描述为活动B相应步骤的先决步骤(pre-requisite step),而活动C则被描述为活动B相应步骤的后置步骤(post-requisite step)。
(1.2)工件:软件过程中各个活动的工件,例如设计文档、代码、测试用例等,在Little-JIL语言中被描述为该活动相应步骤的输入或输出参数,在步骤接口中申明。Little-JIL语言中存在三种不同类型的参数,输入参数、输出参数以及输入/输出参数,它们分别表示活动的输入工件、输出工件以及输入/输出工件。
(1.3)工件传递:软件过程中的工件在各个活动之间的传递在Little-JIL语言中通过参数绑定(parameter binding)和通道绑定(channel binding)来实现,前者实现父活动与子活动之间的工件传递,后者则实现任意活动之间的工件传递,使得不同活动之间可以通过通信或同步来实现相互之间的协作。
(1.4)资源:资源在Little-JIL语言中以资源描述的形式存在。它们由资源管理器(resourcemanager)统一管理与分配,活动对其需求的资源作出描述,在活动对应的步骤接口中申明。当软件过程被执行时,各个活动对应的步骤接口中申明的资源描述被发送至资源管理器,由资源管理器对其管理的资源进行检索,找出现存资源中与各资源描述最匹配的资源,并将其分配到各个活动。资源也可像工件一样在各个活动之间进行传递,通过资源绑定(resourcebinding)来实现。
(1.5)主体:在Little-JIL语言中,软件过程的主体被作为一种特殊的资源来对待。
当然,实际的软件过程是一个相当复杂的过程,涉及很多的要素,不仅仅是以上几种,且要素之间的关系也非常复杂。在详细了解Little-JIL语言严密的语义规则后,不难发现可用它来比较全面且真实地描述实际软件过程,定义软件过程中的各种要素以及它们相互之间的关系。
(2)对建模后的软件过程进行自动化故障模式及影响分析:如附图1所示为本发明提出方法的三个关键要素,即故障模式(Failure Mode)、影响(Effect)以及潜在原因(Potential Cause)三者之间的关系。在建模的基础上分别对这三者进行自动分析:
(2.1)自动分析故障模式:自动化故障模式及影响分析方法首先要解决的问题是从用Little-JIL语言建模的软件过程中自动生成故障模式。实际软件过程中存在的故障模式大部分与工件错误相关,例如,活动生成错误的工件输入到其他活动,此类故障模式可轻易捕获;或者可以简单地转换到工件错误相关的故障模式,例如,由于活动的执行时间的延迟造成的故障模式,可以为每个活动增加一个工件表示该活动的执行时间,通过这样的方式,即可将此故障模式转换为与工件错误相关的故障模式。类似地,大部分故障模式都通过这样的方式转换为与工件错误相关的故障模式。因此,本发明提出的自动化故障模式及影响分析方法中的故障模式定义为与工件错误相关的故障模式。
由于Little-JIL步骤具有统一的接口,接口中申明了步骤所有的输入与输出参数,相应地,该步骤对应的软件过程的活动中所有的输入与输出工件均在接口中申明,因此,可为每个活动即相应Little-JIL步骤定义与工件相关的故障模式,分为以下两种类型:
故障模式类型1:步骤S的输入参数pi出错(pi为步骤S的任一输入参数);
故障模式类型2:步骤S的输出参数po出错(po为步骤S的任一输出参数)。
故障模式类型1表示为<输入工件pi/o出错,活动S>,故障模式类型2表示为<输出工件pi/o出错,活动S>。步骤接口中申明的输入/输出参数,既被当作输入参数,同时也被当作输出参数对待,即每个输入/输出参数分别对应两个故障模式。根据上述方法可自动生成软件过程中每个活动相应的故障模式。
(2.2)自动分析影响:由于故障模式中的错误工件在软件过程各个活动之间的传递,使得错误传播开来,造成其他活动中工件的错误,因此,本发明将该故障模式中的工件错误可能导致的软件过程中其他活动的工件错误定义为该故障模式的影响。为了自动生成故障模式所有可能的影响,需要抽象出软件过程中各个活动的工件之间的流向,即相互依赖关系,本发明称之为工件流图AFG,然后遍历该AFG,得出给定故障模式中的错误工件在整个软件过程中的传播路径。首先根据Little-JIL语义规则抽象出整个软件过程的AFG,如附图2所示为Little-JIL过程示例及其对应的AFG片段。以下展开说明AFG的具体抽象方法。
AFG在Little-JIL语言模型中对应为步骤的参数之间的数据依赖关系图。本发明将AFG表示为Graph=<Node,Edge>=<P,E>,其中P表示软件过程中工件的集合,即各个步骤接口中参数的集合;E为工件之间的依赖关系的集合,即Little-JIL程序中各个参数之间的数据依赖关系的集合,当且仅当工件p2依赖于工件p1时,存在一条边e12从工件p1指向工件p2。如何从Little-JIL语言描述的软件过程模型中分别抽取出A和E是生成AFG的关键。由于Little-JIL步骤具有统一的接口,因此,可从各个步骤接口中直接抽取出A。抽取E首先需定义工件之间的依赖关系,即参数之间的数据依赖关系。根据Little-JIL语义规则,Little-JIL程序中参数之间的数据依赖关系可归纳为以下三种情况:
(2.2.1)参数绑定:用来在父步骤与子步骤之间传递参数。若一个步骤的参数p1与另外一个步骤参数p2之间存在由p1指向p2的参数绑定,则称p2数据依赖于p1,则在AFG中存在对应的边由p1指向p2。
(2.2.2)同一步骤的输入参数与输出参数:在Little-JIL语义中,并未指定步骤的各个输出参数分别数据依赖于该步骤的某个或某些输入参数,因此,本发明假设Little-JIL步骤的任一输出参数数据依赖于该步骤所有的输入参数。对应的AFG中,则同一步骤的任一输入参数存在边指向该步骤的每一个输出参数。
(2.2.3)通道绑定:通道绑定类似于参数绑定,不同的是它可以实现任意步骤之间的参数传递。步骤对通道的操作存在三种,读(read),写(write),以及取(take)。读操作是指从通道中读取参数;写操作是指向通道中写入参数;取操作与读操作类似,不同的是取操作后,该通道中不再存在该参数,而读操作后该参数依然存在于该通道。正是对通道的读、写及取操作实现了任意步骤之间的参数传递。若一个步骤从通道读或取的参数p1为另一步骤向该通道写的参数p2,则p1与p2之间存在由p1指向p2的通道绑定,则称p2数据依赖于p1,则在AFG中存在对应的边由p1指向p2。
定义了工件之间的依赖关系后,可抽取出AFG的边的集合E,即得到完整的软件过程对应的AFG。抽象出软件过程对应的AFG后,对于任意给定故障模式,可通过简单的算法遍历AFG得出该故障模式中的错误工件可能传播的所有路径及所有其到达的软件过程其他活动中的工件,并将其定义为该故障模式的影响。
遍历算法的伪代码如下所示:
定义工件集合as并初始化为空;
将给定故障模式中的错误工件key加入as;
While集合as非空do
    将as中的一个工件key’对应的forward_中的List<value>中的工件依次加入as;
    If工件key’非错误工件key
        分别保存key’对应的forward_与backward_;
    Else
        仅保存key’对应的backward_;
    从as中删除工件key’;
End while
(注:AFG的存储结构为:用以下两个HashMap为任一工件分别保存它与其它工件之间的依赖关系,forward_保存的是依赖于工件key的所有工件集合List<value>,backward_保存的是工件key依赖的所有工件集合List<value>。
HashMap<key,List<value>>forward_;
HashMap<key,List<value>>backward_。)
(2.3)自动分析潜在原因:分析导致故障模式发生的潜在原因是故障模式及影响分析方法的重要环节之一,因为只有找出潜在原因,才能最终采取相应措施去避免故障模式的发生,避免故障模式可能造成的影响,从而减少损失。故障模式及影响分析方法中的潜在原因可用故障树分析方法进行分析。故障树分析方法作为另一种被广泛接受的安全性分析方法,采用自顶向下的方法,运用演绎法寻找导致故障发生的各种可能原因或原因组合。在故障树分析方法中,故障及其原因通常被定义为相应的事件(event)。故障为故障树的顶事件(即故障,top event),找出所有导致顶事件发生的原因事件(即中间事件,intermediate event),并用合适的门将其连接,再分别找出导致这些中间事件发生的原因事件,如此反复,直至所有生成的新事件都为基本事件(primary event),这个过程即为故障树分析方法。故障树分析方法与故障模式及影响分析方法为互补的两种方法,人们一直在寻找两者有效结合的途径。本发明提出将故障模式及影响分析方法中的故障模式作为故障树分析方法中故障树的顶事件,从而分析出导致故障模式发生的原因或原因组合,并定义为故障模式及影响分析方法中导致故障模式发生的潜在原因。
本发明提出采用Bin Chen等人提出的从Little-JIL过程定义自动生成故障树方法来对故障模式及影响分析方法中的故障模式进行故障树分析,生成导致故障模式的潜在原因。众所周知,故障树的推导过程是一个迭代过程,在给定故障树的顶事件后,每一步迭代过程中,一个非基本事件(即顶事件或中间事件)将被推导。若要从Little-JIL建模的过程自动完成该推导过程生成相应的故障树,则需要考虑两个问题:一,如何从Little-JIL建模的过程自动生成故障树顶事件;二,给定顶事件后,如何从顶事件推导出导致其发生的所有原因事件并用合适的门将其连接。由于故障模式及影响分析方法中的故障模式可作为Bin Chen等人提出的自动化生成故障树方法的顶事件,且本发明提出的故障模式及影响分析方法已从Little-JIL过程中自动生成所有可能的故障模式,因此第一个问题得以解决。对于第二个问题,Bin Chen等人提出了以下的解决方法:根据Little-JIL语义规则预定义一系列模板,模板由特定前提和一颗小故障树组成,特定前提规定了模板可以被使用的条件,小故障树的根结点为需要进一步被推导的事件,叶结点为导致该事件发生的所有原因事件的组合,它们通过合适的门与根结点连接。每个模板适用于特定类型的非基本事件,在对非基本事件进行推导时,根据该事件的类型及该事件是否满足模板的特定前提去选择合适的模板,一旦模板被选定,则用模板中定义的小故障树去替代该非基本事件。如此迭代,直至所有新生成的事件均无模板与其对应,即完成迭代过程,得到完整的故障树。
由于本发明提出的故障模式为一种特殊的事件,可作为故障树分析方法的顶事件来进行分析,用该方法自动进行推导,从而得出导致该故障模式发生的所有原因事件及事件组合。

Claims (4)

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过程中的所有步骤,访问其步骤接口中申明的所有参数,对于任一参数,若参数类型为输入参数,则生成故障模式<输入工件pi出错,活动S>;若参数类型为输出参数,则生成故障模式<输出工件po出错,活动S>;若参数类型为输入/输出参数,则同时生成故障模式<输入工件pi/o出错,活动S>和<输出工件pi/o出错,活动S>;
(2.2)自动分析影响:
(2.2.1)首先,抽取整个软件过程各个活动之间的工件流图AFG(ArtifactFlow Graph):抽取AFG的结点:将各个活动对应的Little-JIL步骤的接口中的每个参数都对应为AFG的一个结点;抽取AFG的边:若一个步骤的参数p1与另外一个步骤的参数p2之间存在由p1指向p2的参数绑定,则在AFG中增加对应的边由p1指向p2;若一个步骤从通道读或取的参数p1为另一步骤向该通道写的参数p2,则在AFG中增加对应的边由p1指向p2;在AFG中为步骤的每一个输入参数增加一条边指向同一步骤的任一输出参数;
(2.2.2)对于(2.1)生成的故障模式,用故障模式中的错误工件p’去遍历整个AFG,AFG中从错误工件p’流向的所有工件均为该故障模式中的错误工件p’将会影响到的所有其他工件,这些工件的错误为该故障模式的影响;
(2.3)自动分析潜在原因:将(2.1)生成的故障模式作为故障树的顶事件,根据该顶事件类型以及该顶事件是否满足预定义模板的特定前提去选择合适的模板,一旦模板选定,则用模板中定义的小故障树去替代该顶事件,如此反复,直至所有新生成的事件均为基本事件为止,生成的故障树即为导致故障模式发生的所有潜在原因的集合。
2.如权利要求1所述的方法,其中,所述的故障模式是工件错误相关的故障模式,或者是可以转换为工件错误相关的故障模式的故障模式。
3.如权利要求1所述的方法,其中,所述的工件流图AFG是软件过程各活动的工件相互之间的数据依赖关系图。
4.如权利要求1所述的方法,其中,故障模式的影响是指故障模式造成的所有其他工件的错误,此处的其他工件是指用故障模式中的错误工件遍历工件流图AFG后得到的所有其他工件。
CN2009101697712A 2009-09-01 2009-09-01 一种对软件过程进行自动化故障模式及影响分析的方法 Expired - Fee Related CN101634966B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101697712A CN101634966B (zh) 2009-09-01 2009-09-01 一种对软件过程进行自动化故障模式及影响分析的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101697712A CN101634966B (zh) 2009-09-01 2009-09-01 一种对软件过程进行自动化故障模式及影响分析的方法

Publications (2)

Publication Number Publication Date
CN101634966A CN101634966A (zh) 2010-01-27
CN101634966B true CN101634966B (zh) 2010-09-29

Family

ID=41594161

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101697712A Expired - Fee Related CN101634966B (zh) 2009-09-01 2009-09-01 一种对软件过程进行自动化故障模式及影响分析的方法

Country Status (1)

Country Link
CN (1) CN101634966B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833324B (zh) * 2010-05-14 2012-07-04 武汉理工大学 胎面挤出过程智能故障诊断系统及其诊断方法
CN103797432B (zh) * 2011-10-19 2016-09-07 加特可株式会社 Ft图生成辅助装置以及ft图生成辅助方法
CN102521657B (zh) * 2011-11-14 2014-07-23 浙江大学 基于模糊事故树羰基化生产醋酐合成反应釜爆炸分析方法
CN105630494B (zh) * 2015-12-23 2018-12-28 南京工程学院 一种可靠性分析系统
CN108897676B (zh) * 2018-06-06 2021-05-07 中国人民解放军海军工程大学 基于形式化规则的飞行引导控制软件可靠性分析系统与方法
CN111177016B (zh) * 2020-04-14 2020-08-21 四川新网银行股份有限公司 软件测试缺陷的管理方法
CN113505573B (zh) * 2021-06-30 2024-05-14 西南电子技术研究所(中国电子科技集团公司第十研究所) 航电通信模块失效分析报表自动引导填报工具

Also Published As

Publication number Publication date
CN101634966A (zh) 2010-01-27

Similar Documents

Publication Publication Date Title
CN101634966B (zh) 一种对软件过程进行自动化故障模式及影响分析的方法
Laue et al. Structuredness and its significance for correctness of process models
Krishnan et al. Six Sigma concept and DMAIC implementation
Recker et al. Measuring method complexity: UML versus BPMN
Bautista et al. Process mining-driven optimization of a consumer loan approvals process
Vogel-Heuser et al. Operator knowledge inclusion in data-mining approaches for product quality assurance using cause-effect graphs
CN115511233A (zh) 一种基于流程挖掘的供应链流程重现方法和系统
KR102411291B1 (ko) 스마트공장 데이터 품질평가 방법
Talib et al. Techniques for quantitative analysis of software quality throughout the sdlc: The swebok guide coverage
Ekstedt et al. A tool for enterprise architecture analysis of maintainability
Khalid et al. Early cost estimation of software reworks using fuzzy requirement-based model
Fadoul et al. Constructability assessment model for buildings design
Huo et al. A systematic approach to process enactment analysis as input to software process improvement or tailoring
Sienou et al. Risk driven process engineering in digital ecosystems: Modelling risk
Alves et al. Integrating requirements and business process models in BPM projects
CN115712874A (zh) 基于时间序列特征的热能动力系统故障诊断方法及装置
CN115409541A (zh) 基于数据血缘的卷烟品牌数据处理方法
Elzamly et al. Quantitative and intelligent risk models in risk management for constructing software development projects: a review
Qian et al. A strategy for multi-target paths coverage by improving individual information sharing
Wang et al. An optimization to automatic fault tree analysis and failure mode and effect analysis approaches for processes
Camstra et al. Standard process steps based on standard methods as part of the business architecture
Li et al. Evaluating software architecture evolution using performance simulation
Gillenson et al. Engaging testers early and throughout the software development process: Six models and a simulation study
Raymond et al. Extending mbse methodology and sysml formalism to integrate human considerations
Fang et al. Log automaton under conditions of infrequent behaviour mining

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NANJING UNIVERSITY

Free format text: FORMER OWNER: WANG DANHUA

Effective date: 20100422

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 210028 ROOM 602, UNIT 1, BUILDING 04, LANTINGYAYUAN, NO.16, WANGBAN ROAD, XIXIA DISTRICT, NANJING CITY, JIANGSU PROVINCE TO: 210093 NO.22, HANKOU ROAD, NANJING CITY, JIANGSU PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20100422

Address after: 210093 Hankou Road, Jiangsu, China, No. 22, No.

Applicant after: Nanjing University

Address before: Qixia District of Nanjing city road net in Jiangsu province 210028 Lanting Pavilion No. 16 Building 1 unit 602 room Nga Court 04

Applicant before: Wang Danhua

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100929

Termination date: 20150901

EXPY Termination of patent right or utility model