基于Petri网基本结构的过程模型修复方法

文档序号:9375877阅读:744来源:国知局
基于Petri网基本结构的过程模型修复方法
【技术领域】
[0001] 本发明涉及一种基于Petri网基本结构的过程模型修复方法。
【背景技术】
[0002] 过程挖掘是在1998年由R. Agrawal等人提出的。目前国际上比较认可的过程挖 掘定义为"过程挖掘是指那些从实际执行集合中提取出结构化过程描述的方法"。
[0003] 在过去的十年里,事件数据越来越容易获得,过程挖掘技术正在趋于成熟。过程挖 掘也成为了业务过程管理(BPM)研究的热门课题之一。下面利用BPM生命周期来定位过程 挖掘。BPM生命周期说明了一个业务过程的7个阶段,分别是(重)设计、分析、实现、(重) 配置、执行、调整和诊断。(重)设计阶段,将会创建一个新的过程模型或者修改一个已经 存在的过程模型。分析阶段对候选模型和其它可选模型进行分析。在此之后,模型在实现 阶段得以实现。一个已存在的系统将会在(重)配置阶段得以重新配置。在执行阶段,设 计好的过程模型将会被执行和监测。在调整阶段,过程不会被重新设计,也不会生成新的软 件。在诊断阶段,被执行的过程得到分析,此阶段的输出可能会触发一次新的(再)设计阶 段。过程模型在(重)设计、配置和实现阶段扮演主导角色,而数据在实现、执行和诊断阶 段扮演主导角色。过程挖掘提供了一种真正"闭合"BPM生命周期的可能性。
[0004] 从过程挖掘的定义中可以看出过程挖掘的目的是从日志数据中抽取信息,并且建 立清晰的过程模型,同时要保证构建的过程模型与实际的执行过程保持一致。过程挖掘的 起点是事件日志。所有的过程挖掘技术均假设能够连续地记录事件,每个事件代表一个活 动,而且每个事件和一个特定的案例相关。另外,事件日志可能存储了关于事件的额外信 息。
[0005] 事件日志可以被用于三种类型的过程挖掘场景。第一类过程挖掘场景是"过程 发现",即根据一个事件日志生成一个模型,并不使用任何先验信息,其主要内容是过程挖 掘算法的研究。第二类过程挖掘场景是"一致性检测",将一个已知的过程模型与这个模型 的事件日志进行对比,一致性检测可以用来检查记录在日志中的实际情况是否符合这个模 型。第三种类型的过程挖掘场景是"过程增强",其理念是利用实际过程产生的事件日志来 扩展或改进一个已存在的过程,与一致性检测不同,第三种过程挖掘场景的目的在于改进 和扩展已知模型。
[0006] 随着过程挖掘技术的升温,国内外的很多学者都致力于研究过程挖掘算法。过程 挖掘算法最早是由Cook和Wolf提出的,目标是从软件过程的事件日志中自动发现过程模 型,并随之做了大量的后继工作。1998年,AGRAWAL使用基于有向图的方法最早提出了业务 过程挖掘模型,此后又进行了一系列扩展性的研究。此后国内外的学者陆陆续续地提出了 大量的数据挖掘算法。比如,Aalst提出的基于活动顺序关系产生的α算法以及闻立杰、 王建民提出的其衍生算法,基于语义技术提出的区域挖掘和ILP挖掘等等。本发明所使用 的过程挖掘方法是在2013年S. J. J Leemans提出的归纳挖掘。
[0007] 在一致性检测和过程增强技术方面,目前最大的挑战就是在过程模型上进行重 演,来发现事件日志中观察到的行为的最优路径。Arya Adriansyah提出了基于事件日志的 校准方法,不仅能够对事件日志进行重演,还能够解决在重演过程中出现的诸如重复变迀, 不可见变迀,复杂的控制过和循环此类问题。另外,对于过程模型中出现的偏差,校准也能 够发现偏差出现的地点,并提供偏差的诊断信息。进一步地,通过对不同偏差赋予不同程度 的严重性,可以利用校准来实现不同角度的分析。

【发明内容】

[0008] 本发明的目的在于提出一种基于Petri网基本结构的过程模型修复方法,其采用 如下方案:
[0009] 基于Petri网基本结构的过程模型修复方法,包括如下步骤:
[0010] a利用归纳挖掘算法从事件日志中挖掘出对应的过程模型
[0011] al过程树
[0012] 定义过程树
[0013] 设Σ是一个有限活动集,?是给定的符号集,τ是隐式变迀;
[0014] (l)a e Σ U { τ }是一个过程树;
[0015] (2)设M1,…,Mn均是过程树,η>0,则? (Μ ^…,Mn)也是过程树;
[0016] 对于操作符,有如下几种:
[0017] 操作符X代表着选择关系,该操作符对应的子树只有一个会发生;
[0018] 操作符一代表着顺序关系,该操作符对应的子树会顺序发生;
[0019] 操作符0代表着循环关系,M1代表循环体,M2,…,M n代表循环路径,对于α,η多2 ;
[0020] 操作符Λ代表着并行关系;
[0021] 为描述过程树的语义,对于过程树定义一个循环单调函数;对于过程树的操作符, 分别定义其结合函数? 1 :
[0022] Aaj = {< a 对于 a e Σ ;
[0023]
[0024] 对于操作符X,Xl(L/"._人)=U々; l<i </?.
[0025] 对于操作符一,一 i(7w,…乂…Λ,| V/_e 1 . * . " : e Μ;
[0026] 对于操作符ο:,Ο Uh,…人〉-{巧.' r t :2 · .'的G Λ (G U A 卜
[0027] 为描述操作符Λ,引入符号集,.这个符号集代表着tl. . . 1的交错;[0028]
[0029]
[0030] Vi < n A m={i^)^{i) = t^kh
[0031] 其中,f是一个双射函数,将t中每一个事件映射到^中的一个事件,t(i)代表着 t中第i个元素;使用这种符号定义,下面来定义操作符Λ :
[0032]
[0033] 母 ? MJ-PT; I ι-?? ?η h i _b. m ju 1,ιωμ=?)块结构的工作 流网中;
[0034] a2确定操作符和选择切割
[0035] 四种操作符X,一,G,Λ每一种都有着典型的形式来进行分割;事件日志会根据 选定的操作符进行分割,被分割的事件日志会继续递归进行分割;
[0036] 定义选择切割
[0037] 存在一个紧邻图G,对其进行选择切割,产生了不相交的集合X1,…,Ση,有:
[0038]
[0039] 定义顺序切割
[0040] 存在一个紧邻图G,对其进行顺序切割,产生了不相交的集合X1,…,Ση,有:
[0041]
[0042]
[0043]
[0044]
[0045]
[0046] 定义并行切割
[0047] 存在一个紧邻图G,对其进行并行切割,产生了不相交的集合X1,…,Ση,有:
[0048]
[0049]
[0050] 定义循坏切割
[0051] 存在一个紧邻图G,对其进行选择切割,产生了不相交的集合X1,…,Ση,有:
[0052] SiariiG) U End(G)CiIr,
[0053]
[0058] a3切割日志
[0059] 在确定操作符并选择对应的切割后,需要对事件日志进行分离;不同的切割对应 不同的切割函数,下面列出对应的切割函数:
[0060] 定义顺序切割函数
[0061 ] 输入:事件日志L和顺序切割集合(Σ i,…,Σ n);
[0062] 输出:切割后的事件日志L1, · · ·,Ln;
[0063] 依次遍历每一个顺序切割集合,每一个集合会将原有的事件日志切割出与其对应 的事件日志,有:
[0064]
[0065] 定义选择切割函数
[0066] 输入:事件日志L和选择切割集合(Σ . . .,Σ J ;
[0067] 输出:切割后的事件日志L1, · · ·,Ln;
[0068] 依次遍历每一个选择切割集合,每一个集合会将原有的事件日志切割出与其对应 的事件日志,有:
[0069]
[0070] 定义并行切割函数
[0071] 输入:事件日志L和并行切割集合G1,…,Ση);
[0072] 输出:切割后的事件日志L1, · · ·,Ln;
[0073] 依次遍历每一个并行切割集合,每一个集合会将原有的事件日志切割出与其对应 的事件日志,有:
[0074]
[0075] 其中,11 .是一个映射函数,它将迹t投射到活动X之中,这样所有在11 .中存在的 事件均在事件X中;
[0076] 定义循环切割函数
[0077] 输入:事件日志L和循环切割集合(X1,…,Ση);
[0078] 输出:切割后的事件日志L1, · · ·,Ln;
[0079] 依次遍历每一个循环切割集合,每一个集合会将原有的事件日志切割出与其对应 的事件日志,有:
[0080]
[0081]
[0082]
[0083]
[0084] 在分别定义了各个切割的分离日志函数后,下面给出归纳挖掘的核心算法,其输 入为事件日志,输出为过程树:
[0085] 定义归纳挖掘核心算法
[0086] 输入:事件日志L ;
[0087] 输出:过程树;
[0088] 步骤1 :判断并选择最为重要且最大的切割方法;
[0089] 步骤2 :若选择的切割方法为选择切割,则调用选择切割函数,得到切割后的事件 曰志L1, · · ·,Ln,并返回{(X,(0^0),···,(Ln,0)))};
[0090] 步骤3 :若选择的切割方法为顺序切割,则调用顺序切割函数,得到切割后的事件 日志L1, · · ·,Ln,并返回{(一,(0^0),···,(Ln,0)))};
[0091] 步骤4 :若选择的切割方法为并行切割,则调用并行切割函数,得到切割后的事件 曰志L1, · · ·,Ln,并返回{( Λ,(H···,(Ln,0)))};
[0092] 步骤5 :若选择的切割方法为循环切割,则调用循环切割函数,得到切割后的事件 日志 L1, · · .,Ln,并返回{(认(〇,0),…,(U〇)))};
[0093] 步骤6 :若事件日志为空集或事件日志只含有一个元素,返回
[0094] 通过上述归纳挖掘算法从事件日志中挖掘出对应的过程树,进而得到相应的过程 丰旲型;
[0095] b将扩大的事件日志与挖掘得到的过程模型进行校准,发现过程模型中存在的偏 差
[0096] 定义移动队列
[0097] 设ZeW是活动集,〇 e A*是基于活动集A的迹,N = (P, T, F, a,IIii, mf)是基于活 动集A的Petri网;迹σ和模型N之间的移动队列γ e (A>> X Τ? )*必须满足:
[0098] π从丫)I σ,表示移动队列γ第一项在A上的投影,即迹中的移动序列是迹 的前缀;
[0099] 存在一个完全发生队6^*,有712(丫\7. Si?,即模型中的移动序列是完全 发生序列的如缀;
[0100] 对于所有的移动队列里的二元组(a,t) e γ,规定如下几种移动:
[0101] 若a e A且t = > >,则称之为日志动作;
[0102] 若a = > >且t e T,则称之为模型动作;
[0103] 若a e A且t e T,则称之为同步动作;
[0104] 其他类型称之为非法动作;
[0105] 所有的日志动作、模型动作和同步动作都是合法动作;一个移动队列如果只包含 合法动作,那么它就是合法移动队列;在移动队列定义的基础上,对校准进行定义:
[0106] 定义校准
[0107] 设如^是活云力集^巳八氺是基于活云力集八的迹^二也乃卩^^^^是基于 活动集A的Petri网;迹。和模型N之间的校准γ e (A>> XT?)*是满足以下条件的 移动队列:
[0108] π从丫)I Α= σ,即迹中的移动序列产生了这条迹;
[0109] //;,,即模型中的移动序列产生一个完全发生序列;
[0110] 『d是迹〇和模型N之间所有校准的集合;
[0111] 定义最优校准
[0112] 设JeW是活动集,O e A*是基于活动集A的迹,N = (P,
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1