基于着色Petri网的企业间电子商务工作流建模
2014-11-12王纬武代月川
张 格 王纬武 代月川
(郑州大学西亚斯国际学院,河南 新郑 451150)
工作流管理系统的非常重要的目就是要支持对时间信息的处理。例如计划工作流的运行时间、估计活动实例的执行时间延迟、避免违反截止期限等。开展时间管理研究,对于增强工作流管理系统的柔性、确保工作流计划任务的高效执行和提高企业工作竞争力具有重要意义。现代B2B电子商务工作流程中涉及到多个层级多个部门,在使用普通Petri网进行描述时,往往由于规模过大、细节过多、表示复杂使得其难以理解。本来很简单的流程变成只有专业人士才能阅读的Petri网模型。为此,笔者提出一种基于着色Petri网(CPN)对电子政务流程进行建模的方法,通过合并一些库索和变迁,使得P和T的数量大大减少,图形更加简约。并对模型结构的合理有效性进行论证。
1 着色Petri网(CPN)的定义
CPN可以表示成九元组形式,即CPN=(Σ,P,T,A,N,C,G,E,I)中,Σ:为颜色(Color)的非空有限集合,称作颜色集(Color set);P:为描述系统库所(Place)的有限集合;T:为变迁(Transition)的有限集合;A:为弧(Arc)的有限集合,满足;P∩T=P∩A=A∩T=øN:A→(P×T∪T×P)为节点(Node)有限集函数;C:(P∪T)→Σss,是着色函数 (color function),其中Σss是Σ的有限子集;G:T→表达式,是T的警卫函数(guard function),且满足:t∈T:[Type(G(a))=Bool∧Type(Var(G(t)))⊆Σ],Bool={true,false};E:A→表达式,是弧表达式函数(arc expression functions),且满足∀a∈At:[Type(E(a))=C(p(a))MS∧Type(Var(E(a)))⊆Σ];I:为 P→表达式的初始标识,且满足∀p∈P:[Type(I(p))=C(p)MS∧Var(I(p))=ø].
2 着色Petri网的特点
CPN与普通网有两个最基本和重要的区别:
(1)CPN的着色类型的标定表示系统中不同类型的资源,同时每个库所都与特定的颜色集绑定,表示该库所中只能存放相应颜色的token,在弧上和变迁上存在着条件表式和函数,说明弧的权值和颜色属性以及变迁触发的约束条件。标记的颜色可以是任意复杂的数据,从而大大简化了系统的复杂度。(2)CPN具有层次结构,这可以从整体到局部,由粗到精把系统分页,逐步细化,突出重点。通过层次的使用,使得CPN成为处理大型应用的功能强大的建模工具。同时,它又是少有的能同时用于验证系统功能逻辑的正确性和评估系统性能的建模语言。但由于token的引入使得模型的可读性降低。
3 工作流模型
图1 四种基本路由结构的Petri网表示
工作流管理联盟定义了4种基本的工作流路由结构 (详见图1):(1)顺序路由。表示两个任务之间存在时序依赖关系,在前一个任务完成之前,后一个任务不能执行。(2)并行路由。表示并行的两个或多个任务之间可以任意顺序执行。(3)选择路由。表示在流程的某一点,依执行结果选择一条路径继续执行。(4)循环路由。表示某一个任务可能需要执行多次。
这四种结构是工作流执行的基本结构,所有工作流的执行结构可以由这四种基本结构组合而成。
4 基于CPN的电子商务模型
在一个管理规范、行政高效的企业,一次完整的采购活动会涉及到多个子部门和人员,这些部门和人员都是本着互相制、监督的原则设立的。所以必须有效地调配资源使得这样的约束和监督在最少的机构下实现最好的效果。
构建这样一个体系的整体思路如下:首先对整个企业的运作模式进行设计,此时不用考虑各个机构的内部活动。利用CPN的分层特性,建立顶层的CPN模型。在此基础上再对各个机构内部进行建模。在这里我们使用一次典型的招投标流程作为例子来说明建模的过程。
一个典型的招投标过程首先由发起单位根据工作需要发起采购某种物品或者软件的请求,该请求会首先被传递到该单位的资产管理部门。核库后发现没有库存,则批准该采购申请。然后递交给财务部门,会计人员会对该申请的预期金额进行核算,如果预算中有足够的钱去办这个事情则将申请提交给上级主管部门。上级主管部门批准后该采购申请会直接到采购部门去处理剩下的招投标过程。
图2 顶层的CPN模型
5 全全局变量的声明
在一般的B2B电子商务采购流程中需要考虑诸多因素,例如供应商、价格、货物规模以及消耗的资源等。然而用着色Petri网对其进行分析时,只需考虑商品数量和商品种类两个因素。用语言CPN ML来描述模型中的声明,模型中用到的颜色集,变量和一些
参数的定义如下:
从上述声明中可以看出,定义的颜色集Role描述工作流中的机构。同时可以看出,通过这些颜色的增加,可以加强模型的解释能力,使模型含义更丰富,增加对工作流活动和状态转移建模的需求。由于CPN参数还可以根据不同的模型适当增加,因此该CPN模型也具有很强的可扩展性。
定购货物的配送过程用函数delivery(i,j)描述。变量i表示订单需求的数量,变量j表示商品库存数量。该函数的结果是:如果库存数量满足订单要求,则传送订单商品,返回值为0;如果库存商品不满足订单,则将i-j的值返回,表示没有传送货物所需的库存。
用函数order(i,j)表示供货商根据订单要求向其他机构重新发出订购要求的行为。如果库存有足够,则不订购任何商品,返回值为0;如果库存商品匮乏,则i-j的商品会被先订购,同时向其他机构发出新的订单请求,要求订购商品的数量为i+i-j,使库存量变为i。
6 CPN子页结构
用户要求购n件某商品时网上商城将会根据银行的认证和自己的验证来确定用户的合法性,如果确定用户合法,则把用户的要求发送给供货商,由供货商来提供商品。当供货商(假设供货商目前的库存量为n)收到来自网上商城的订单(x,n)时,首先检查自己是否有该种商品,如果有,则将n件商品传给物流商,同时更改库存量为N-n,由物流商发送商品。如果库存量小于n件,就先向用户提供N件商品,然后向生产商要求补给n+n-N件商品,使供货商的库存产品数量随着订购和配送的变化而变化。
根据全局变量的定义,忽略商品种类,在子过程中只传递需求商品的数量。该工作流中p表示商品提供者的类型;P1表示“商品需求信息”;P2表示 “库存商品的数量”;P3表示 “生成下一级的订单”;P4表示“匹配过程”;P5表示“根据处理最终传递给请求者的商品数量”;P6表示“下级传递回来的商品的数量”;S表示每次处理一张订单所消耗的资源;P7表示“将结果传给下一个机构”。对于生产商来说,此时P6=P3,即需要生产商品时,生产商生产商品,之后直接将商品转入库存。T1表示“处理生成订单”。根据需求信息和库存量来判断如何生成订单。如果库存量能够满足需求,则将需求信息传递给匹配过程,此时order(n,N)=0。T2表示“处理订单的过程”。该过程模拟了传递商品的行为,此时de1ivery(n,N)=0,改变P2的状态,库存量更改为delivery(N,n)=N-n。并且将最终状态传递给P4,此时delivery(n,N)=0,表示货物充足。如果不满足的话,则delivery(n,N)=n-N表示不足的商品数量。T3表示“向库存中增加商品的过程”。当商品数量为0时,则有T1,12和T3的限制条件n>0,nN>0保证不触发事件。
7 结构合理性和正确性分析
基于CPN构建的电子商务工作流模型,能够直观地反映项目群实施过程中顺序、并行或同步等复杂的时空逻辑关系,揭示商务流程内部动态行为特征,为全面、准确地掌握项目群实施全过程、实现项目群实施阶段的流程集成以及项目群资源优化提供有力的技术与方法支持。通过CPN构建工作流模型,可以动态地观察各个环节所耗费的时间和其他资源,找出拖延商务流程节点的事件,从而做出最优化的电子商务流程。提高生产型企业的工作效率和降低总有用成本。
基于CPN进行工作流建模,解决了利用普通Petri网建立的电子商务系统模型图形过于复杂的缺陷,利用CPN对电子商务中网上购物系统建模的过程证明了这种技术可操作性强,并分析了模型的合理性,证明了CPN建模可以有效地降低模型的复杂性,图形更加简约。但是,由于颜色集的引入;使得模型的可读性降低。同时,在建模的过程中未引入时间的因素,只能通过可达图的方法来分析模型的结构合理性而未能够进行模型的性能分析,今后需要做一些工作来克服这些缺点。
[1]陈翔,夏国平.基于着色Petri网的工作流建模和合理性分析[J].计算机集成制造系统CIMS,2004,10(4):381-387.
[2]王刊良.基于分类的企业电子商务模式创新方法[J].系统工程理论与实践,2003(3):18-23.
[3]KURT Jensen.Colored Petri nets:Basic Concepts,Analysis Methods and Practical Use(Volume 1)[M].Berlin:Springer,1992:69-78.
[4]朝霞,曾广周.Petri网在商务工作流建模中的应用研究[J].计算机工程与应用,2003(19):199-202.
[5]JENSEN K.Colored Petri nets-basic concepts,analysis methods and practical use[M].New York:Springer,1997.