zoukankan      html  css  js  c++  java
  • 外文翻译【google版】

    工作流挖掘:从事件日志中发现流程模型

    【摘要】

    当代的工作流管理系统是由明确的流程模型驱动的,即为了使一个给定的业务流程能够运行,必须有一个明确的工作流设计。创建工作流通常是一个复杂耗时的过程,通常,实际的业务流程和理想中的业务流程有一定的差异。因此,我们开发了一项技术用于发掘工作流模型,这种技术出发点是,在工作流日志中包含有关已执行的流程信息。我们利用新算法,从日志中提取用Petri NET表示的流程模型。但同时声明,我们还不能发现所有的工作流程。在本文中,我们只讨论那些可以发现的工作流程。我们将展示利用α算法可以成功挖掘每一个用SWF NET表示的工作流程。

    【简介】

    在过去的十年中,工作流管理理念和技术已经应用于许多企业的信息化系统。工作流管理系统(如Staffware,IBM的MQSeries,COSA等)提供通用的结构化业务流程模型和制定能力。通过图形化流程定义,即使用模型描述一个典型的案例(工作流实例)的生命周期,并且可以使用配置来支持业务流程。除了纯粹的工作流管理系统,许多其他软件系统也采用工作流技术。例如,企业资源规划(ERP)系统,如SAP,PeopleSoft,Baan和Oracle,客户关系管理(CRM)软件,等等。尽管如此,在应用工作流技术方面还是会遇到许多问题。有一个问题就是,这些系统都需要进行工作流设计,即使用设计器去构造一个能够准确描述工作路径的详细模型。工作流建模并不繁琐:它不仅需要对工作流语言有深刻的认识,而且需要与工人和管理人员做很多讨论。

    我们首先要做的是收集有关工作流流程发生的信息,而不是先进行工作流设计。我们假设有可能记录这样的事件:

    1.每个事件对应一个任务(即工作流一个定义好的步骤)

    2.每个事件对应一个例子(即一个工作流例子)

    3.每个事件都设置了次序(即在日志中事件是顺序记录的,即使在并行执行任务的情况下)

    不管是诸如ERP,CRM这样的传统的信息系统,亦或是工作流管理系统都会在一些窗体中提供这些信息。记住,我们并没有假设存在工作流管理系统。我们做的唯一假设是,它有可能通过事件数据来收集工作流日志。这些工作流程的日志被用来构造一个流程规范。我们用术语“process mining”来表示从大量执行中获取一个结构化的流程描述的方法。

    为了说明“process mining”的原则,我们以表1所示的工作流日志为例。此日志包含5个例子(即工作流实例)的信息。日志显示了其中的4个例子中(1,2,3和4),任务A,B,C和D已经被执行。而第5个例子,只有三个任务被执行:A、E和D。每个例子启动的时候会执行A,结束的时候会执行D。如果任务B被执行了,那么任务C也会被执行。但是有些情况下,任务C在任务B之前执行了。根据表1提供的信息,并对日志的完整性做一些假设(即假设情况具有代表性并且知道它所有可能的行为),我们可以推断出图1所示例子的流程模型。这个模型是根据Petri网描绘的。Petri网从任务A开始,以任务D结束。执行完A之后,有两个选择: 一个是并行的执行B和C,或者是只执行任务E。为了并行的执行B和C,添加了两个不可见的任务(AND-split和AND-join)。添加这些任务是只是为了寻找目标,他们在日志中并不存在,注意,不论这两个任务是以什么顺序出现的,我们假设他们是并行的。但是,通过区分任务的开始事件和结束事件之间的区别,是有可能准确的检测到并行。开始事件和结束事件也可以用来表示任务需要一段时间。然而为了简化演示,我们假设任务是原子性的。事实上,我们的工具EMiT,我们进一步完善并为任务假设了一个定值的交易模型,包括“开始任务”“退出任务”“完成任务”“恢复任务”等。不过,需要认识到这种方法只有在这种事件的情况下才管用.

    image

    流程挖掘背后的基本思想是,从表1提供的信息构建图1。在本文中,我们将提出一个新算法并证明它。

    流程挖掘从两个方面来讲是有用的。第一,它可以用来发现人和/或程序是如何工作的。比如ERP支持的流程,像SAP。这样的系统记录了所有的事务处理,但是在很多情况下它不会执行具体的工作方法。在这种环境下,流程挖掘可以在实际流程中用来增加视野。另一个例子是在医院的病人流量。请注意,在这样的环境下,所有的活动都被记录,但基本流程的信息都丢失了。在这种情况下,我们需要强调的是管理信息系统提供了资源利用率,流动时间,服务水平的关键性能指标的信息,但没有底层的业务流程的信息。image

    第二,流程挖掘可以做增量分析,即通过将预定义的流程和实际的流程进行比较。请注意,在许多情况下,会有一个描述性或说明性的流程模型,它指定人或组织该如何工作。通过比较规定的流程模型和已发现的流程模型两者之间的差异,来提高流程的效率。举个例子,比如在SAP中的参考模型。这些模型告诉我们该如何使用系统。使用流程挖掘,基本上可以确定是否是这种情况。事实上,开采过程也可以用来比较使用相同ERP系统的不同的部门/组织。

    流程挖掘的另一个好处是,有关的人员或程序实际执行的信息以及实际流程与预定义流程之间的差异的信息,可以用来触发业务流程重建(BPR),或配置“流程感知信息系统”(例如,工作流程,ERP和CRM系统)。

    表1包含了我们假设存在的最低限度的信息。在许多应用中,工作流日志包含一个与每个事件相对应的时间戳,此信息可用于提取额外的信息。此外,对于事件的属性及特定情况下的实际路径之间的关系,我们也有兴趣。例如,在处理交通违法行为时:是作出相应的交通违法行为的路由相关的汽车吗?(例如,“开法拉利的人总是按时交罚款。”)

    这有个简单的例子,构建流程模型是很容易的,且能够重新创建工作流日志。对于较大的工作流模型,这要困难得多。例如,如果模型含有二选一或者是并行的路径,那么工作流日志中通常不会包含所有可能的组合。考虑10个可并行执行的任务。交错操作的数量是10!=3628800次。每个交错操作都在日志中出现是不可能的。此外,还有些路径通过流程模型的可能性比较低,因此,仍未被发现。噪音数据(即日志含有罕见的事件,异常和/或不正确地记录数据),可使问题进一步复杂化。

    在本文中,我们不关注比如噪音这类问题上。我们假设没有任何噪音,并且工作流日志中包含“足够”的信息。在这种理想的情况下,我们将研究是否有可能重新发现工作流程,即哪类工作流模型,能够在只看他们的日志就能准确地构造模型。这并不像它看上去的那么简单。例如,图1所示的流程模型,在表1所示相应的工作流日志并没有显示任何有关信息和AND-split和AND-join。然而,对于准确地描述这个流程是必须的。本文将逐步解决这些问题,为此,我们使用工作流网(WF网)。WF网是一类专门面向工作流的Petri网。图1展示了一个WF网的例子。

    image

    为了说明再发现问题,我们使用图2。假设我们有个基于流网WF1的日志,根据这个工作流程日志和挖掘算法,我们构造一个流网WF2。一个有趣的问题是,WF1是否和WF2相等。在本文中将探索这个问题。需要注意的是重新发现问题是为了解决流程挖掘的理论极限,并测试本文提出的算法。我们使用得到的结果去开发工具,并成功的发现了未知的进程,以及应用这些工具来挖掘真实的流程。

    2 预赛

    本节介绍在本文剩余部分将要使用的技术。首先,我们介绍了标准的Petri网表示法,然后是我们定义WF网类。

    2.1 Petri Nets

    我们用了经典Petri网模型的变形模式,叫做“Place/Transition网”。如果要深入了解Petri网,可以参考 [12], [37], [39]。

    image

    标志是在p点上的集合,即将P转到自然数的功能。我们用方括号表示集合中的元素,举个例子[a².b.c³]表示集合中有两个a,一个b,三个c。两个集合的和(X+Y),差(X-Y),集合中含有一个元素(a ∈ X),子集的概念(X≤Y),这些都是通过简单的方式定义,它们可以处理集合和包的混合。

    让N=(P,T,F)叫做P/T网。P∪T的元素叫节点。如果从x到y有有向弧,那么节点x是节点y的输入节点(即(x,y)∈F)。节点x是节点y的输出节点(即(y,x)∈F)。对于任何的x∈P∪T,满足·x={y|(y,x)∈F)}和x·={y|(x,y)∈F},如果上下文明确,上标N可以省略。

    图1显示的是有8个点和7条通道组成的P/T网。通道A有一个输入点和一个输出点,通道AND-split有一个输入点和两个输出点,通道AND-join有两个输入点和一个输出点。A的输入点处的黑点是个标记,表示流程的起始点。这种标记的P/T网的动态行为被定义为firing rule

    image

    图1显示的标记中(即源点中的标记),通道A是可用的,并且会将标记从输入点移到输出点。在结果标记中,两个通道是可用的:E和AND-split。尽管他们都可用,但只有其中的一个可以通过。如果是从AND-split中通过,将有一个标记消失,并产生两个标记。

    【引用】

    [1] W.M.P. van der Aalst, “Verification of Workflow Nets,” Application and Theory of Petri Nets, P. Azema and G. Balbo, eds., pp. 407-426, Berlin: Springer-Verlag, 1997.
    [2] W.M.P. van der Aalst, “The Application of Petri Nets to WorkflowManagement,” The J. Circuits, Systems and Computers, vol. 8, no. 1,pp. 21-66, 1998.
    [3] “Business Process Management: Models, Techniques, and Empirical Studies,” Lecture Notes in Computer Science, W.M.P. van derAalst, J. Desel, and A. Oberweis, eds., vol. 1806, Springer-Verlag,Berlin, 2000.
    [4] W.M.P. van der Aalst and B.F. van Dongen, “DiscoveringWorkflow Performance Models from Timed Logs,” Proc. Int’lConf. Eng. and Deployment of Cooperative Information Systems(EDCIS 2002), Y. Han, S. Tai, and D. Wikarski, eds., vol. 2480,pp. 45-63, 2002.
    [5] W.M.P. van der Aalst and K.M. van Hee, Workflow Management:Models, Methods, and Systems. Cambridge, Mass.: MIT Press, 2002.
    [6] W.M.P. van der Aalst, A.J.M.M. Weijters, and L. Maruster,“Workflow Mining: Which Processes can be Rediscovered?”BETA Working Paper Series, WP 74, Eindhoven Univ. of Technology, Eindhoven, 2002.
    [7] R. Agrawal, D. Gunopulos, and F. Leymann, “Mining ProcessModels from Workflow Logs,” Proc. Sixth Int’l Conf. ExtendingDatabase Technology, pp. 469-483, 1998.

    [8] D. Angluin and C.H. Smith, “Inductive Inference: Theory andMethods,” Computing Surveys, vol. 15, no. 3, pp. 237-269, 1983.
    [9] J.E. Cook and A.L. Wolf, “Discovering Models of SoftwareProcesses from Event-Based Data,” ACM Trans. Software Eng.and Methodology, vol. 7, no. 3, pp. 215-249, 1998.
    [10] J.E. Cook and A.L.Wolf, “Event-Based Detection of Concurrency,”Proc. Sixth Int’l Symp. the Foundations of Software Eng. (FSE-6),pp. 35-45, 1998.
    [11] J.E. Cook and A.L. Wolf, “Software Process Validation: Quantita-tively Measuring the Correspondence of a Process to a Model,”ACM Trans. Software Eng. and Methodology, vol. 8, no. 2, pp. 147-176, 1999.
    [12] J. Desel and J. Esparza, “Free Choice Petri Nets,” Cambridge Tractsin Theoretical Computer Science, vol. 40, Cambridge, UK: CambridgeUniv. Press, 1995.
    [13] J. Eder and G.E. Olivotto, and W. Gruber, “A Data Warehouse forWorkflow Logs,” Proc. Int’l Conf. Eng. and Deployment of Cooperative Information Systems (EDCIS2002), Y. Han, S. Tai, and D. Wikarski, eds., pp. 1-15, 2002.
    [14] A. Ehrenfeucht, G. Rozenberg, “Partial (Set) 2-Structures—Part 1 and Part 2,” Acta Informatica, vol. 27, no. 4, pp. 315-368, 1989.
    [15] Workflow Handbook 2001, Workflow Management Coalition,L. Fischer, ed. Lighthouse Point, Fla.: Future Strategies, 2001.
    [16] E.M. Gold, “Language Identfication in the Limit,” Information andControl, vol. 10, no. 5, pp. 447-474, 1967.
    [17] E.M. Gold, “Complexity of Automaton Identification from Given
    Data,” Information and Control, vol. 37, no. 3, pp. 302-320, 1978.
    [18] D. Grigori, F. Casati, U. Dayal, and M.C. Shan, “Improving Business Process Quality through Exception Understanding, Prediction, and Prevention,” Proc. 27th Int’l Conf. Very Large Data Bases (VLDB ’01), P. Apers, P. Atzeni, S. Ceri, S. Paraboschi, K. Ramamohanarao, and R. Snodgrass, eds., pp. 159-168, 2001.
    [19] J. Herbst, “A Machine Learning Approach to Workflow Management,” Proc. 11th European Conf. Machine Learning, pp. 183-194,2000.
    [20] J. Herbst, “Dealing with Concurrency in Workflow Induction,”Proc. European Concurrent Eng. Conf., U. Baake, R. Zobel, andM. AlAkaidi, eds., 2000.

  • 相关阅读:
    .ds_store是什么文件
    style="background-image: url(__HOMEPAGE__/views/IMJ2V2/images/banner2.jpg)"
    前段实现图片懒加载
    thinkphp路由的作用
    thinkphp跨模块调用
    关于肥胖和美国为什么那么多胖子
    php中局部变量和全局变量
    thinkphp5项目--企业单车网站(七)
    thinkphp5项目--企业单车网站(六)
    XSS攻击及防御
  • 原文地址:https://www.cnblogs.com/TivonStone/p/2266235.html
Copyright © 2011-2022 走看看