一种基于 Synchro-Net 的工作流过程挖掘算法
A Workflow Process Mining Algorithm Based on Synchro-Net
-
摘要: 工作流技术目前正在迅速发展。工作流技术能够较好地控制业务流程的变化问题,可以实现不同自动化程度的规范化业务管理功能,具有很好的适应性,因此在办公自动化、工业制造等领域得到了广泛的应用。 在理想的情况下,描述业务过程的工作流过程总是被预先用建模工具加以定义,部署到工作流引擎之上加以执行;当业务规则发生变化的时候,重新设计工作流过程模型。但是在某些特殊情况下,可能原有的工作流过程模型或者某些局部分支丢失,而这个模型部署到引擎之上以后,经过成千上万次的执行,在引擎的执行日志中留下了该模型的执行轨迹。这时就需要使用日志中关于过程模型在引擎上运行的历史信息,进行过程挖掘,来重构出一个工作流模型。过程挖掘也可用于做 Delta 分析,即将挖掘出来的过程模型和原先部署在引擎之上的过程模型进行比较,分析原有的模型中存在哪些问题。 概括地说,工作流过程模型是对业务过程的静态抽象表示,而工作流过程实例是过程模型的动态执行,决定了运行时具体执行模型中的哪些活动和活动发生的先后次序。工作流过程挖掘就是:假设引擎日志中记录了过程实例的执行的活动实际活动执行次序,我们根据日志中记录的这些信息,来重构出一个工作流过程模型,并使得日志中记录的所有轨迹符合这个过程模型的一个实例。 已经有很多学者在这一领域做了研究工作,例如 Agrawal 、 Gunopulos 和 LeyMann , Herbst 和 Karagiannis ,以及 Greco 、 Guzzo 等人。随着工作流模型理论的发展,因为 Petri 网具有比较严格的数学理论基础,有利于工作流模型的形式化验证和分析,所以越来越趋向于用 Petri 网的理论来描述工作流。目前已有的针对 Petri 网模型的过程挖掘算法主要是 Aalst 提出的 α 算法以及对该算法的一些扩展。这类算法主要根据引擎日志中记录的活动间发生的顺序关系来进行挖掘工作。 但是目前针对 Petri 网模型的算法还有一些问题不能够很好的解决,主要是工作流过程模型中的某些网结构,算法不能够正确的进行挖掘,例如重复活动、非可见活动、循环、隐式库所和同步汇聚等,而这些结构在业务过程模型中是常见的。 本文在 α 算法的基础上,结合一种基于同步的工作流模型 Synchro-Net ,做了一些过程挖掘的相关工作。在 Synchro-Net 中,工作流分为逻辑层、语义层和管理层,称作工作流逻辑、工作流语义和工作流管理。工作流逻辑只关心任务间的依赖关系,包括因果依赖和规章依赖,不关心任务的具体操作内容。从 Petri 网的角度看,任务集构成变迁集。变迁由库所和流关系连接,通过托肯的流动体现顺序、并发和冲突(供选择)等关联。而在工作流逻辑上用案例属性中的显性内容消解冲突,为案例确定实际路径,这就是工作流语义。(作者参与了基于 Synchro-Net 模型理论的工作流管理系统的设计和实现。)本文针对这种工作流模型,对 α 算法做了一些扩展,使之可以挖掘出符合 Synchro--Net 约束的模型。针对这种模型的挖掘方法能解决以前的方法中不能够很好处理的非可见活动和单步循环等问题。 本文组织如下:第一节介绍了本文的技术背景和研究动机;第二节简单介绍了本文所进行过程挖掘研究的工作流模型 Synchro-Net ;在第三节中,提出了在 Synchro-Net 这种工作流模型之上进行过程挖掘的方法,并给出了一个具体的算法来从引擎日志中重构出一个 Petri 网表示的工作流模型;根据第三节中提出来的算法,本文在第四节中给出了一个过程挖掘的实例,并且分析了这种过程挖掘方法能够解决的问题和存在的不足;最后,文章阐述了研究的结论和将来的工作。Abstract: Sometimes historic information about workflow execution is needed to analyze business processes. Process mining aims at extracting information from event logs for capturing a business process in execution. In this paper a process mining algorithm is proposed based on Synchro-Net which is a synchronization-based model of workflow logicand workflow semantics. With this mining algorithm based on the model, problems such as invisible tasks and short-loops can be dealt with at ease. A process mining example is presented to illustrate the algorithm, and the evaluation is also given.
下载: