业务流程间的不匹配交互的发现方法

文档序号:6575559阅读:309来源:国知局

专利名称::业务流程间的不匹配交互的发现方法
技术领域
:本发明涉及计算机软件建模领域,特别涉及业务流程间的不匹配交互的发现方法。
背景技术
:业务流程是业务需求的一种表现形式,它从用户的需求开始,在用户需求得到满足后结束。业务流程的概念最早出现在90年代早期,它产生的动机来源于对流程重新设计以适应新的变化从而提升企业的竟争力,作为对工作流的扩展,业务流程管理则更强调业务流程的重设计。业务流程与工作流都能使业务流程自动化和协同工作并提高工作效率。随着信息技术的进步,特定的业务功能不再由单一的企业或者组织来实现,而是通过现有业务流程之间的交互和协同来完成,这种开发模式能够极大缩短开发时间、节约开发成本。业务流程可以采用业务流程建模标记(BusinessProcessModelNotation,BPMN)来建模。BPMN是由OMG组织制定的业务流程建模的标准,它由一系列用来构建业务流程的标准图标组成,且不与任何一种实现技术紧密耦合。BPMN不仅能够实现单个业务流程建模,而且能够实现多流程和它们之间交互的建模。BPMN是首个用于跨组织业务流程建模的开放标准的业务流程建模语言,它能够很容易地被高层业务人员阅读和理解并且便于不同企业之间的交流。虽然采用BPMN进行业务流程建模存在很多好处,但也存在很多不足,其中很重要的一点是采用BPMN进行多业务流程间交互建模时,容易导致业务流程间交互的不匹配。所谓业务流程间交互的不匹配是指业务流程无法正确完成它们之间的交互,也就是存在不匹配的交互。业务流程存在不匹配的交互的深层次原因在于业务流程所表达的业务需求之间存在矛盾。从技术角度来说,造成业务流程交互不匹配的原因可以分为三种交互语法错误、静态结构错误、运行时错误。目前已经存在很多致力于发现业务流程间交互的不匹配的方法。Petri网和有限状态自动机等形式化方法都可用来验证流程间的匹配性。使用Petri5网的方法是将每一个业务流程转换为一个Petri网,然后将流程间的交互转化为库所(place),最后将多流程之间的交互不匹配的发现问题转换为一个多流程合并后的大流程内部的正确性问题。有限状态自动机的方法将流程间的一次交互当作总是能够正确完成的,但是在流程的运行时可能出现一次交互的发送消息活动成功,但是接收消息活动因为流程的运行上下文环境没有准备好导致这次交互失败的情况。总之,现有技术中的方法都各自存在一些不足,列举如下首先,它们发现业务流程间交互不匹配的过程繁瑣、耗时;其次,这些方法并没有考虑流程运行时的特征,而这会造成已经验证相互匹配业务流程在运行时发生交互的不匹配;最后,现有的方法不能准确地给出哪些交互造成了流程间交互的不匹配。
发明内容本发明的目的是克服现有的业务流程间不匹配交互发现方法过程繁瑣、耗时,不能发现业务流程在运行时的不匹配交互以及不能准确指出哪些交互造成了流程间交互的不匹配等缺陷,从而提供一种简便、高效、功能全面的不匹配交互的发现方法。本发明提供了一种业务流程间的不匹配交互的发现方法,包括步骤1)、从多个待处理的业务流程中选取两个业务流程;步骤2)、根据所选取的任一业务流程内参与交互的两个活动间的关系确定活动所在交互对在该业务流程内的关系,进而得到所选取的两个业务流程所含交互的交互对间关系集合;其中,所述交互对间关系集合包括所述交互对在所选取的两个业务流程内的关系;所述活动间的关系包括顺序前、顺序后、并行、完全互斥以及部分互斥;步骤3)、根据所述交互对间关系集合中所包含的存在矛盾的交互对间关系确定所选取的两个业务流程内存在矛盾的交互对,从而生成所选取的两个业务流程的完整矛盾交互集合。上述技术方案中,在所述的步骤l)中,所选取的业务流程是对不参与业务流程间交互的活动进行约简后的业务流程。上述技术方案中,所述的所选取的业务流程中不参与业务流程间交互的活动包括消息的任务类型的活动;b、中间事件类型的活动;c、内容为空的网关对。上述技术方案中,还包括步骤4)、根据所述的完整矛盾交互集合计算最小消解集合;所述最小消解集合能够推导出所述的完整矛盾交互集合,且所包含的矛盾交互对的个数最小。上述技术方案中,所述的步骤4)包括步骤4-l)、初始化最小消解集合为空;步骤4-2)、选择矛盾交互集合中的一个交互对(z7,/2);步骤4-3)、若存在交互;c,使得/7与x之间的关系同时为顺序前或同时为顺序后或同时为并行,并且交互对(/2,x)已经存在于最小消解集合中,则交互对不加入所述的最小消解集合,否则加入所述最小消解集合;步骤4-4)、从步骤4-2)开始重复执行,直至遍历完整矛盾交互集合中的所有交互对。上述技术方案中,还包括步骤5)、合并两个业务流程,然后将合并后的业务流程与其它业务流程作为所选取的两个业务流程,重新执行步骤1)后的操作,直至不再有未经处理的业务流程,从而实现多个业务流程间不匹配交互的发现。上述技术方案中,在所述的步骤5)中,所述的合并两个业务流程包括将已经得到完整矛盾交互集合的两个业务流程进行合并。上述技术方案中,所述的将已经得到完整矛盾交互集合的两个业务流程进行合并包括步骤5-1)、选择其中的一个作为目标流程,另外一个业务流程作为输入流程;步骤5-2)、将所述输入流程中除了开始活动、结束活动以及交互对方已经存在于所述目标流程中的活动外的每一个活动都被加入所述目标流程中;步骤5-3)、将所述输入流程中除了连接开始活动和结束活动的迁移以外的每一个迁移添加到所述目标流程中,如果新加入的迁移所连接的活动没有加入到所述目标流程中,则将该迁移连接原活动的交互对方。上述技术方案中,在所述的步骤3)中,所述的存在矛盾的交互对间关系包括二顺序前"和"完全互斥"、"顺序后"和"完全互斥,,、二顺序前,,和"部分互斥"、"顺序后"和"部分互斥"、"并^f亍"和"部分互斥"、"顺序前"和"顺序后"、"完全互斥"和"并行"。上述技术方案中,当交互对间关系为下列之一时,所述交互对发生"死锁,,:"顺序前"和"完全互斥"、"顺序后"和"完全互斥,,、二顺序前"和"部分互斥"、"顺序后"和"部分互斥"、"并行,,和"部分互斥"、"顺序前"和"顺序后";当交互对间关系为"完全互斥"和"并行,,时,所述交互对发生"缺乏同步"。本发明还提供了一种业务流程间的不匹配交互的发现装置,包括业务流程选择模块、交互对间关系集合生成模块、完整矛盾交互集合生成模块;其中,所述的业务流程选择模块用于从多个待处理的业务流程中选取两个业务流程;所述的交互对间关系集合生成模块用于根据所选取的任一业务流程内参与交互的两个活动间的关系确定活动所在交互对在该业务流程内的关系,进而得到所选取的两个业务流程所含交互的交互对间关系集合;其中,所述交互对间关系集合包括所述交互对在所选取的两个业务流程内的关系;所述活动间的关系包括顺序前、顺序后、并行、完全互斥以及部分互斥;所述的完整矛盾交互集合生成模块用于根据所述交互对间关系集合中所包含的存在矛盾的交互对间关系确定所选取的两个业务流程内存在矛盾的交互对,从而生成所选取的两个业务流程的完整矛盾交互集合。上述技术方案中,还包括业务流程约筒模块,该模块用于对不参与业务流程间交互的活动进行约简。上述技术方案中,还包括最小消解集合计算模块;该模块用于根据所述的完整矛盾交互集合计算最小消解集合;所述最小消解集合能够推导出所述的完整矛盾交互集合,且所包含的矛盾交互对的个数最小。上述技术方案中,还包括业务流程合并模块;该模块用于合并两个业务流程。本发明的优点在于1、本发明具有快速、高效、实现简单的优点。2、本发明能找出不同类型的不匹配的交互。3、本发明能够准确地找出哪些交互造成了流程间交互的不匹配。图1为本发明的业务流程间的不匹配交互的发现方法的流程图2为业务流程内活动间五种控制流关系的示意图3为业务流程中存在矛盾的交互对的一个范例;图4为死锁现象和缺乏同步现象的示例图5为在业务流程中计算最小消解集合的一个范例;图6为合并业务流程的一个范例。具体实施例方式下面结合附图和具体实施方式对本发明进行说明。在对本发明的方法进行详细说明前,首先对本发明方法中所涉及的一些概念进行说明。活动业务流程建模中不可再分的最小的工作单元,例如一段自动运行的程序。网关对成对出现以实现活动执行路径的分叉(split)及合并(join),根据活动执行路径是否并发,网关对可以分为互斥网关对和并行网关对。例如,图2(c)、图2(d)中在活动a、b两端的、用于表示分支的开始和结束的棱形就是所述的网关对,其中图2(c)中的网关对为并行网关对,而图2(d)中的网关对为互斥网关对。交互任意两个业务流程间一次消息的传递被称为业务流程间的一次交互,可以表示为&,其中的fl、6分别属于不同的业务流程。完整矛盾交互集合两个业务流程之间的交互集合由它们之间所有的交互组成,它们之间的完整矛盾交互集合包含所有相互矛盾的交互对,并且是它们之间交互集合笛卡尔积的子集。最小消解集合通过消除完整矛盾交互集合中的部分矛盾的交互对就能消除业务流程间的交互不匹配问题,这部分矛盾交互对构成了最小消解集合。在对本发明中所涉及的相关概念做上述说明的基础上,下面对本发明的具体实现过程进行说明。本发明所要做的是在相互交互的多个业务流程中找出不匹配的交互。因此,本发明所要处理的对象是具有关联关系的多个业务流程。所述的多个业务流程可以用
背景技术
中所提到的BPMN建模,也可以采用其他的流程建模语言建模。一个包含多个业务流程和它们之间消息传递的BPMN模型用二元组表示如下/ocA:age=r/rac^s^as,/w/era"/oraJ其中表示业务流程的集合,z'"terac"o似表示整个才莫型的交互的集合。业务流程可以进一步表示为/race515^〖5"toW,£W,ac"'vWes,ga/e而j^s加,'"'ow5/其中,ac"v///^表示活动集合,表示活动之间迁移的集合,5VaW表示流程的开始活动,£m/表示流程的结束活动。在得到具有关联关系的多个业务流程的相关信息后,就可以通过本发明的方法找出其中不匹配的交互。由于在两个业务流程中查找不匹配的交互是基础的操作,因此,首先以两个业务流程为例,参考图1,对本发明方法的实现过程进行说明。从具有关联关系的多个业务流程中任意选取两个业务流程,分别用0和户表示。一般来说,业务流程中与交互有关的活动只占业务流程的一部分,业务流程中的其它活动与交互无关。为了降低交互之间关系获取的难度,本实施例中,作为一种优选实现方式,可以约简业务流程中不参与业务流程间交互的活动。但与此同时,为了不对业务流程间存在矛盾的交互的发现造成影响,需要对被约简活动的范围加以限制,在该优选实现方式中,需要被约简的活动可以分为3类1、不发送消息或者接受消息的任务类型的活动;2、中间事件(InmediateEvent)类型的活动;3、内容为空的网关对。在约简掉上述的l、2类活动后,若网关对的分叉和合并之间没有任何任务活动,或者分叉和合并之间只包含一条分支的情况,则该网关视为内容为空的网关对,需要将其约简。虽然在本实施例中对已选取的两个业务流程做了约简操作,但在其他实施例中,也可以省略该约简操作,只是后续相关操作的计算量会变大。在对上述所选取的业务流程g、尸做约简操作后,就可以对交互之间的关系进行判断。根据本领域技术人员的相关知识可以知道如果两个业务流程间包含相互矛盾的交互,那么这两个业务流程就是不匹配的,否则,10否存在相互矛盾的控制流关系,进一步的可以认为,交互之间的关系依赖于业务流程内部活动间的关系。因此,要判断业务流程间的匹配关系需要首先知道业务流程内部活动间的关系。根据本领域的相关知识,可以将业务流程内部任意两个活动间的控制流关系(以下筒称"关系")总结为以下五种,分别是顺序前(51—/Ve)、顺序后(5^尸oW)、并行(尸ara〃e/)、完全互斥(Com_E)、部分互斥(尸gW—义如图2(a)所示,若活动a总是先于活动b被执行,则活动a与活动b之间的关系为顺序前,可以记录为a5^/Veb。相反的,如图2(b)所示,若活动a总是后于活动b被执行,则活动a与活动b之间的关系为顺序后,可以记录为a5"—尸oWb。如图2(c)所示,若活动a与活动b在并行网关对的两个分支上(即活动a与活动b需要并行执行,且一个活动的执行对另一个活动不造成影响),那么活动a与活动b之间的关系为并行,可以记录为a尸b。如图2(d)所示,若活动a与活动b在互斥网关对的两个分支上(即活动a与活动b只能选择其中之一执行),那么活动a与活动b之间的关系为完全互斥,可以记录为aCwn—£b。如图2(e)所示,若活动b在互斥网关对的一条分支上,活动a在该互斥网关对的顺序前或顺序后,那么活动a与活动b之间的关系为部分互斥,可以记录为a尸aw一五b。从集合论的角度来说,流程内部活动间的关系可以看成是活动集合上的二元关系,因此活动间的上述五种关系满足以下性质*这五种关系都是不相交的并且它们的并集与活动集合的笛卡尔积相等;*是5^尸o^的逆关系并且它们都是可传递的;*在单个业务流程是结构良好的情况下,0附_£与尸^"//£/同样是可以传递的。在得到活动的上述五种关系类型后,就要对业务流程内部参与业务流程间交互的活动之间的关系加以归类。这一归类过程可以通过使用深度优先遍历算法获得。首先利用有向图的深度优先遍历算法发现从单个流程的开始活动到结束活动间的所有路径和所有的网关对,这样该流程中任意两个参与交互的活动间的关系可以通过下面的规则获得參如果两个活动在同一条路径下,并且在这条路径中它们之间没有不配对的网关活动,则它们之间的关系依据在路径中的前后位置为顺序前或者顺序后;參如果两个活动在同一条路径下,并且在这条路径中它们之间存在有不配对的网关活动,并且这个网关活动的类型为互斥的,则它们之间的关系为部分互斥;*网关对之间的不同分支上的两个活动间的关系,依据网关类型的不同(并行或者互斥)分为并行或完全互斥。在前面的说明中已经提到,交互之间的关系依赖于业务流程内部活动间的关系,因此,通过上述原则知道参与交互的活动间的关系后就可以知道交互之间在同一业务流程中的关系。交互之间在同一业务流程中的关系与该业务流程中参与交互的活动间的关系相同,而交互之间的关系应当包括交互对在不同的业务流程中的关系。以图3为例,业务流程户中参与交互//、交互G的活动分别是活动a、活动6,它们之间的关系为aS—7Ve6,因此与G在P中的关系为z751—尸"Z2。类似的,可以获得/7、G在流程g中的关系,"、G在业务流程0中的关系为"5L尸os"2。交互之间的关系可用集合的形式表示,如交互z7、交互G的相互关系的集合为"75"—尸"/2,51—尸。5〃_2}。通过上述操作可以得到两个业务流程间任意两个交互之间的关系。从上述的说明可以看出,对于两个特定的交互在一个业务流程中有一种确定的相互关系,而在两个不同的业务流程中则可能有两种不同的相互关系。与流程内部活动间的关系类似,交互之间关系也可以看作业务流程间交互集合上的二元关系,业务流程内部活动间关系的性质能够同样适用与交互之间的关系。在得到两个业务流程间任意两个交互之间的关系后,就可以对交互之间是否存在矛盾进行判断。此外,还可以根据矛盾的类型对不匹配的交互的具体类型进行说明。在
背景技术
中已经提到,不匹配交互的发生可能是因为静态结构错误,也可能是因为运行时的错误。下面分别对两大类错误所产生的不匹配交互的判断标准进行说明。对于静态结构错误而言,在本发明中又提出了两种交互不匹配的类型,它们是"死锁"和"缺乏同步"。所谓的"死锁"是指交互之间处于循环等待的状态,如图4(a)所示,活动a与活动b之间的交互存在死锁现象。所谓的"缺乏同步"是指由于缺乏同步并行执行路径的同步网关造成交互的多次重复执行,如图(b)所示,活动a与活动b之间存在缺乏同步的现象。当交互之间在不同业务流程中的关系满足下列标准时,可以认为交互间存在"死锁"或"缺乏同步"。死锁当交互对之间在不同业务流程中的关系满足下列之一,就认为交互间存在死锁。"顺序前"和"完全互斥"、"顺序后"和"完全互斥"、顺序前"和"部分互斥"、"顺序后"和"部分互斥"、"并行"和"部分互斥"、"顺序前"和"顺序后"。缺乏同步当交互对之间在不同业务流程中的关系满足"完全互斥"和"并行"时,认为交互对间存在缺乏同步。在下面的表1中也对上述标准做了说明,在该表中,第一行表示两个交互在一个业务流程中的关系,第一列表示两个交互在另外一个业务流程中的关系,"是"表示两个交互是相互矛盾的,"否,,表示两个交互不是相互矛盾的,*表示若互斥网关的条件满足特定数据依赖要求时,交互对可以是不矛盾的。<table>tableseeoriginaldocumentpage13</column></row><table>以上是对静态结构错误所产生的不匹配交互的具体类型的说明。对于由于运行时的错误所产生的不匹配交互而言,其判断标准较为简单,在运行过程中,当交互对之间在不同业务流程中的关系满足"顺序前"和"顺序后"时,就认为交互对间存在运行时错误。例如,在图3中所提到的交互/人/2之间的关系为{5"JVez7,〃/2},由此可以知道交互/7,G之间存在矛盾,且交互仏G之间的矛盾是在运行时产生的。对两个业务流程中任意两个交互之间的关系都做上述判断后,可以得到一个包括有所有矛盾交互的完整矛盾交互集合。在得到所述的完整矛盾集合后,可以认为已经基本完成了两个业务流程中不匹配交互的发现。但在本实施例中,作为优选实现方式,还可以在完整矛盾交互集合的基础上进一步求取最小消解集合。最小消解集合能够为流程间交互不匹配的消除提供指导,通过仅仅消除最小消解集合中相互矛盾的交互对即能保证两个业务流程间的交互是相互匹配的。最d、消解集合的求取基于下列性质性质1:两个业务流程之间的交互"、G、d,若〃与/2之间的两个关系同时为顺序前或同时为顺序后或同时为并^f亍,而/2与/3是不匹配,则〃与/3是不匹配的。例如,在图5所示的业务流程g与业务流程尸中,交互Z2、/3在流程尸中的关系为顺序前,它们在流程g中的关系为部分互斥,根据表1可以判断出交互G、/3是相互矛盾的。交互"、/2在流程尸中的关系为顺序前,它们在流程g中的关系为顺序前,根据性质1可以得出交互z7、d是相互矛盾的。交互z7、/3在流程尸中的关系为顺序前,它们在流程g中的关系为部分互斥,根据表1同样能够得出交互"、3是相互矛盾的。由此,业务流程g与业务流程户之间的完整矛盾交互集合为((i2,i3),(i2,i4),(i3,i4),(il,i3),(il,i4)},而它们之间的最小消解集合仅为{(i2,i3),(i2,i4),(i3,i4)}。通过计算最小消解集合,需要消除的矛盾交互对的数量大大缩小了,而消除后的业务流程间的交互也是相互匹配的。最小消解集合在逻辑上应当满足下面两个条件1)、使用前述的性质1能够推导出完整矛盾交互集合;2)、满足条件l)的前提下包含的矛盾交互对的个数最小。在完整矛盾交互集合的基础上计算最小消解集合的方法如下a、初始化最小消解集合为空;b、选择矛盾交互集合中的一个交互对(/7,/2);c、若存在交互x,使得"与x之间的关系同时为顺序前或同时为顺序后或同时为并行,并且交互对(d)已经存在于最小消解集合中,则交互对07,,7)不加入最小消解集合,否则加入最小消解集合;d、从步骤b开始重复执行,直至遍历完整矛盾交互集合中的所有交互对。以上是对两个业务流程中查找不匹配的交互的完整流程。在两个业务流程的基础上,可以进一步得到其余业务流程中的不匹配的交互。在得到两个业务流程的完整矛盾交互集合和最小消解集合,将已经处理过的这两个业务流程合并成一个业务流程,然后将合并后的业务流程与需要进行交互不匹配发现的业务流程中余下的某个业务流程重复执行前述的约简流程、求取业务流程中的交互间的关系、计算完整矛盾交互集合、计算最小消解集合等操作,得到这两个业务流程的完整矛盾交互集合和最小消解集合。如果还存在未被处理的业务流程,则继续执行合并业务流程、约筒流程、求取业务流程中的交互间的关系、计算完整矛盾交互集合、计算最小消解集合等操作,直至再也没有未经处理的业务流程。虽然在本实施例中按照上述顺序完成业务流程的合并,但在其它实施例中,也可以按照其它顺序完成业务流程的合并。在上述过程中,所提到的合并业务流程是指在合并两个业务流程时,首先选择其中的一个作为目标流程,另外一个业务流程作为输入流程。除了开始活动、结束活动以及交互对方已经存在于目标流程中的活动外,输入流程中的每一个活动都被加入目标流程中。输入流程中的每一个迁移(即业务流程图中的直线)都被加入到目标流程中,除非迁移连接的是输入流程的开始或者结束活动。如果新加入的迁移所连接的活动没有加入到目标流程中,则将迁移连接原活动的交互对方。在图6中给出了一个合并两个业务流程的例子。如果流程尸被当作目标流程,流程0#:当作输入流程,则流程Q中的所有活动都没有加入流程尸,流程g中的所有迁移除了连接开始活动和结束活动的迁移外,都被加入到了流程0中,并且这些迁移所连接的活动都被重置为原来所连接活动的交互对方。本发明提供了与上述方法相对应的业务流程间的不匹配交互的发现装置,包括业务流程选择模块、交互对间关系集合生成模块、完整矛盾交互集合生成模块;其中,所述的业务流程选择模块用于从多个待处理的业务流程中选取两个业务流程;所述的交互对间关系集合生成模块用于根据所选取的任一业务流程内参与交互的两个活动间的关系确定活动所在交互对在该业务流程内的关系,进而得到所选取的两个业务流程所含交互的交互对间关系集合;其中,所述交互对间关系集合包括所述交互对在所选取的两个业务流程内的关系;所述活动间的关系包括顺序前、顺序后、并行、完全互斥以及部分互斥;15所述的完整矛盾交互集合生成模块用于根据所述交互对间关系集合中所包含的存在矛盾的交互对间关系确定所选取的两个业务流程内存在矛盾的交互对,从而生成所选取的两个业务流程的完整矛盾交互集合。本发明的业务流程间的不匹配交互的发现装置还包括业务流程约简模块,该模块用于对不参与业务流程间交互的活动进行约简。本发明的业务流程间的不匹配交互的发现装置还包括最小消解集合计算模块;该模块用于根据所述的完整矛盾交互集合计算最小消解集合;所述最小消解集合能够推导出所述的完整矛盾交互集合,且所包含的矛盾交互对的个数最小。本发明的业务流程间的不匹配交互的发现装置还包括业务流程合并模块;该模块用于合并两个业务流程。本发明的上述方法和装置通过业务流程内的活动间的关系来判断交互间的关系,从而找出不匹配的交互,具有快速、高效、实现简单的优点。本发明不仅能够判断出业务流程间是否存在不匹配的交互,而且还能找出不匹配的交互的具体类型。本发明不仅能找出由静态结构错误所产生的不匹配的交互,还能找出由运行时错误所产生的不匹配交互。本发明通过对最小消解集合的求解还能够准确地找出哪些交互造成了流^i间交互的不匹配。最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。权利要求1、一种业务流程间的不匹配交互的发现方法,包括步骤1)、从多个待处理的业务流程中选取两个业务流程;步骤2)、根据所选取的任一业务流程内参与交互的两个活动间的关系确定活动所在交互对在该业务流程内的关系,进而得到所选取的两个业务流程所含交互的交互对间关系集合;其中,所述交互对间关系集合包括所述交互对在所选取的两个业务流程内的关系;所述活动间的关系包括顺序前、顺序后、并行、完全互斥以及部分互斥;步骤3)、根据所述交互对间关系集合中所包含的存在矛盾的交互对间关系确定所选取的两个业务流程内存在矛盾的交互对,从而生成所选取的两个业务流程的完整矛盾交互集合。2、根据权利要求1所述的业务流程间的不匹配交互的发现方法,其特征在于,在所述的步骤l)中,所选取的业务流程是对不参与业务流程间交互的活动进行约简后的业务流程。3、根据权利要求2所述的业务流程间的不匹配交互的发现方法,其特征在于,所述的所选取的业务流程中不参与业务流程间交互的活动包括a、不发送消息或者接受消息的任务类型的活动;b、中间事件类型的活动;c、内容为空的网关对。4、根据权利要求1或2所述的业务流程间的不匹配交互的发现方法,其特征在于,还包括步骤4)、根据所述的完整矛盾交互集合计算最小消解集合;所述最小消解集合能够推导出所述的完整矛盾交互集合,且所包含的矛盾交互对的个数最小。5、根据权利要求4所述的业务流程间的不匹配交互的发现方法,其特征在于,所述的步骤4)包括步骤4-l)、初始化最小消解集合为空;步骤4-2)、选择矛盾交互集合中的一个交互对(仏G);步骤4-3)、若存在交互jc,使得"与x之间的关系同时为顺序前或同时为顺序后或同时为并行,并且交互对(O已经存在于最小消解集合中,则交互对(z7,G)不加入所述的最小消解集合,否则加入所述最小消解集合;步骤4-4)、从步骤4-2)开始重复执行,直至遍历完整矛盾交互集合中的所有交互对。6、根据权利要求1或2或4所述的业务流程间的不匹配交互的发现方法,其特征在于,还包括步骤5)、合并两个业务流程,然后将合并后的业务流程与其它业务流程作为所选取的两个业务流程,重新执行步骤1)后的操作,直至不再有未经处理的业务流程,从而实现多个业务流程间不匹配交互的发现。7、根据权利要求6所述的业务流程间的不匹配交互的发现方法,其特征在于,在所述的步骤5)中,所述的合并两个业务流程包括将已经得到完整矛盾交互集合的两个业务流程进行合并。8、根据权利要求7所述的业务流程间的不匹配交互的发现方法,其特征在于,所述的将已经得到完整矛盾交互集合的两个业务流程进行合并包括步骤5-1)、选择其中的一个作为目标流程,另外一个业务流程作为输入流程;步骤5-2)、将所述输入流程中除了开始活动、结束活动以及交互对方已经存在于所述目标流程中的活动外的每一个活动都被加入所述目标流程中;步骤5-3)、将所述输入流程中除了连接开始活动和结束活动的迁移以外的每一个迁移添加到所述目标流程中,如果新加入的迁移所连接的活动没有加入到所述目标流程中,则将该迁移连接原活动的交互对方。9、根据权利要求1或2或4或6所述的业务流程间的不匹配交互的发现方法,其特征在于,在所述的步骤3)中,所述的存在矛盾的交互对间关系包括"顺序前"和"完全互斥"、"顺序后"和"完全互斥"、"顺序前"和"部分互斥"、"顺序后"和"部分互斥"、"并行"和"部分互斥"、"顺序前"和"顺序后"、"完全互斥"和"并行"。10、根据权利要求9所述的业务流程间的不匹配交互的发现方法,其特征在于,当交互对间关系为下列之一时,所述交互对发生"死锁""顺序前"和"完全互斥"、"顺序后"和"完全互斥"、二顺序前"和"部分互斥"、"顺序后"和"部分互斥"、"并行"和"部分互斥"、"顺序前"和"顺序后,,;当交互对间关系为"完全互斥"和"并行"时,所述交互对发生"缺乏同步"。11、一种业务流程间的不匹配交互的发现装置,其特征在于,包括业务流程选择模块、交互对间关系集合生成模块、完整矛盾交互集合生成模块;其中,所述的业务流程选择模块用于从多个待处理的业务流程中选取两个业务流程;所述的交互对间关系集合生成模块用于根据所选取的任一业务流程内参与交互的两个活动间的关系确定活动所在交互对在该业务流程内的关系,进而得到所选取的两个业务流程所含交互的交互对间关系集合;其中,所述交互对间关系集合包括所述交互对在所选取的两个业务流程内的关系;所述活动间的关系包括顺序前、顺序后、并行、完全互斥以及部分互斥;所述的完整矛盾交互集合生成模块用于根据所述交互对间关系集合中所包含的存在矛盾的交互对间关系确定所选取的两个业务流程内存在矛盾的交互对,从而生成所选取的两个业务流程的完整矛盾交互集合。12、根据权利要求11所述的业务流程间的不匹配交互的发现装置,其特征在于,还包括业务流程约简模块,该模块用于对不参与业务流程间交互的活动进行约简。13、根据权利要求11或12所述的业务流程间的不匹配交互的发现装置,其特征在于,还包括最小消解集合计算模块;该模块用于根据所述的完整矛盾交互集合计算最小消解集合;所述最小消解集合能够推导出所述的完整矛盾交互集合,且所包含的矛盾交互对的个数最小。14、根据权利要求11或12或13所述的业务流程间的不匹配交互的发现装置,其特征在于,还包括业务流程合并模块;该模块用于合并两个业务流程。全文摘要本发明提供一种业务流程间的不匹配交互的发现方法,包括从多个待处理的业务流程中选取两个业务流程;根据所选取的任一业务流程内参与交互的两个活动间的关系确定活动所在交互对在该业务流程内的关系,进而得到所选取的两个业务流程所含交互的交互对间关系集合;其中,交互对间关系集合包括交互对在所选取的两个业务流程内的关系;根据交互对间关系集合中所包含的存在矛盾的交互对间关系确定所选取的两个业务流程内存在矛盾的交互对,从而生成所选取的两个业务流程的完整矛盾交互集合。本发明具有快速、高效、实现简单的优点;能找出不同类型的不匹配的交互;能够准确地找出哪些交互造成了流程间交互的不匹配;能找出由运行时错误所产生的不匹配交互。文档编号G06Q10/00GK101650799SQ20091009280公开日2010年2月17日申请日期2009年9月8日优先权日2009年9月8日发明者帅公,熊锦华,韩燕波申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1