业务过程模型的合理性分析
2018-07-16黄苾代飞莫启
文/黄苾 代飞 莫启
1 引言
图2:使用WoPeD建模产生的业务过程模型
业务过程是指相关的、结构化的活动或任务的集合,它们为客户提供特定的服务或产品。在日常的工作、学习和生活中,业务过程随处可见。例如:办事流程、坐飞机的安检流程、订单支付流程、物流流程等。
在业务过程管理领域,建模人员通常使用Petri网来直观描述业务过程,以便于沟通和理解。由于业务过程建模是耗时、易错的,加之建模者的能力参差不齐,这使得业务过程模型的质量差异很大。如何确保业务过程模型的正确性成为了企业实施业务过程管理系统必须解决的一个关键问题。
2 业务过程模型的形式定义
业务过程涉及多个方面,例如:角色、资源和控制流,其中,控制流是最主要的。本文从控制流的角度,使用工作流网定义业务过程模型。
Petri网是一个二分有向图(directed bipartite graph),有两类节点类型:库所和变迁。这些节点通过有向弧相连。相同类型的两个节点之间不允许相连。通常,库所使用圆圈表示,变迁使用方框表示,流关系使用有向线段表示,托肯使用实心小黑点表示。
定义1(Petri网)Petri网是一个四元组∑=(P, T; F, M),其中:
图1:基于工作流网定义的业务过程模型
(4) 映 射M:P→{0, 1, 2, 3...}称 为Petri网的一个标识。通常用M0表示Petri网的初始标识。
工作流网(WF-net)是一类Petri网。
定义2(工作流网)Petri网∑=(P, T; F, M)是工作流网,当且仅当:
(3)每个一个节点x∈P∪T都位于从i到o的一条路径上。
其中,·i表示库所i的输入变迁集合;o·表示库所o的输出变迁集合。
例子:图1是使用工作流网定义的一个业务过程模型。该业务过程模型的源库所是i,汇聚库所是o,包含四个变迁,分别是t1、t2、t3和 t4。
3 合理性的形式定义
对于任何业务过程,建模者希望:
(1)该过程不存在死变迁,可以遵循适当的路由来执行一个任意的变迁;
(2)该过程将最终结束,而且结束时刻在汇聚库所o有一个托肯,并且所有其他库所都是空的。
定义3(合理性)由一个工作流网WF-net=(P, T; F, M)建模的业务过程模型是合理的,当且仅当:
(1)对于每一个从状态i可达的状态M,存在一个实施序列,从状态M通往状态o,形式化表示为
图3:合理性分析结果
(2)状态o是从状态i可达的惟一最终状态,且结束时其中至少会有一个标记,形式化表示为
需要说明的是,第一个条件规定了从初始状态(i)开始,总能达到结束状态(o);第二个条件规定了当到达结束状态(o)时,只有o中有托肯,其他库所中都没有托肯;第三个条件规定了从初始状态(i)开始,不存在死变迁。
为了使用Petri网的分析技术对业务过程模型进行合理性分析,还需要建立合理性到Petri网的活性和有界性的联系。为此,在工作流网的基础上,扩展工作流网,提出了短回路网WF-net=(P, T; F, M)。
定义4(工作流网的短回路网)设WF-net=(P, T; F, M)是一个工作流网,其短回路网WF-net=(P, T; F, M)定义如下:
(1)P=P;
(2)T=T∪{t*};
(3)F=F∪{(o,t*),(t*,i)};
(4)M=M。
本质上,短回路网WF-net是由工作流网WF-net通过添加一个额外连接o和i的变迁t*得到。
在此基础上,文献[3]证明了一个工作流网WF-net是合理的,当且仅当(WF-net,i)是活的且是有界的。
该证明表明:建模者可以使用Petri网的分析技术来对使用工作流网定义的业务过程模型的合理性进行分析。
4 实验
WoPeD(Workflow Petri Net Designer)是一个开源的基于Java的图形化工作流网编辑器,支持PNML格式。其主要目标是提供一个易于使用的软件,用于建模、模拟和分析工作流网所描述的业务过程。
(1)本文使用WoPeD对图1所示的业务过程模型进行建模,产生的工作流网如图2所示;
(2)再WoPeD自带的语义分析(semantic analysis)功能对建模产生的业务过程模型进行合理性分析,分析结果如图3所示。
5 总结
(1)使用工作流网给出了业务过程模型的形式化定义;
(2)使用Petri网给出了合理性的形式化定义,并建立了合理性和Petri网活性和有界性的联系;
(3)使用WoPeD工具,对业务过程模型进行了合理性分析。