flame

又见炊烟

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

公告

本文

第一部分介绍Petri

第二部分将Petri网用于ERP

第三部分介绍FSM,有限状态机及审批流。

 

Petri

Petri网是1962年被Carl Adam Petri作为一种过程建模和分析的工具提出,它是一种图形化描述过程的强有力的工具。Petri网也有有严格的数学基础和表述方式。

 

经典的Petri net是简单的过程模型,由两种节点:库所(Place)和变迁(Transition),及有向弧,以及令牌(Token)组成的。

我们用圆圈表示库所,用矩形表示变迁,用黑点表示令牌。两个库所或两个变迁之间不允许有弧,只能是库所到变迁或者是变迁到库所。库所中可以拥有任意数量的令牌Token)。

 

Petri网实例:保险索赔流程案例

 

 

变迁是Petri网中的主动因素。通过实施变迁,过程从一个状态转变到另一个状态。因此变迁经常表示事件、操作、转换或传输等。

库所是Petri网中的被动因素,它们不能改变网的状态。库所经常表示媒介、缓冲器、地理位置、(子)状态、阶段或条件。

令牌通常表示对象,这些对象可能是具体的事物,也可能是抽象的信息。

 

Petri net不光抽象了经典的过程模型,并描述了完备的支撑过程调度的算法:如果一个变迁的每个输入库所(input place)都拥有令牌,该变迁即为被允许(enable)或就绪。一个变迁被允许时,变迁将发生(fire),输入库所(input place)的令牌被消耗,同时为输出库所(output place)产生令牌。

record实施前后的状态

 

 

pay实施后的状态

 

加入控制的例子


    如果想要限定任何时候正在执行的案例个数不超过n,只需要在开始时往库所free中放入n个令牌。

 

高级Petri网

颜色扩展:

传统的Petri网无法区别各个令牌有什么不同。

一个令牌token)通常代表具有各种属性的对象,颜色扩展是使令牌拥有值(颜色)代表由令牌建模的对象的具体特征。每个令牌都有一个值,通过他能对令牌进行区分。

变迁实施所产生的令牌,取决于实施时被消耗的令牌的值,生产出的令牌的值也可以依赖于那些消耗的令牌的值。与传统Petri网不同,生产的令牌数目也是变化的,即生产的令牌数目由被消耗的令牌的值决定。

 

在经过颜色扩展的Petri网中,我们可以为每个要被变迁所消耗的令牌设置前置条件。单纯的颜色扩展使得图形无法表示网的全部信息。

因此对每个变迁,需要指出一下因素:是否有前置条件,如果有,则必须准确定义。包括每个输出库所送出的令牌个数,以及被消耗的标记的值,生产出来的令牌的值,可能依赖于被消耗的令牌的值

时间扩展:略

层次扩展

 

路由

顺序路由:
   
    并行路由
   

选择路由
   

基本结构表示方法
   

循环路由
   

 

触发

Petri网中的变迁是饥饿的。它们一旦就绪,就会立刻实施,每个就绪的变迁都对应一个工作项

三种类型的触发

1资源主导(例如雇员从他的工作篮中取出一个工作项)

2外部事件(例如一个EDI消息的到来)

3时间信号(例如再六点中生成一个订单列表)

 

 

通常用一个向下的宽箭头表示被资源触发的任务

用一个信封符号表示被外部事件触发的任务

用一个时钟符号表示被时间出发的 任务

 

Petri ERP

 

不知道为什么国人特别喜欢制定那么多单据,特别喜欢在一个文件上盖它七八十个章,只考虑安全,权利,谁来考虑效率呢?

 

假设单据为一单多物,单据关系为多对多。

我们以单据集合为库所,以物料需求为令牌,以物料数量为令牌数量,以各种处理为变迁。

 

譬如销售给发货的令牌为:

以物料编码+单据类别+销售订单号+销售行号为令牌的ID,以销售数量为令牌数量,以客户,发货时间,发货地址等为令牌的属性。

描述为:需要为XX客户在XX时间往XX地址发送XX物料,数量为XX。

只有提交到工作流的销售订单才会发出此令牌。

 

对变迁处理者设立角色,在发送令牌时按工作流设计只发送给特有角色。这样,令牌就替代了以前针对单据设计的用户权限,部门权限,数据权限等等。每个处理者只能处理自己拥有的令牌。

 

 

客户A要求:10日供应300个物料B。

P1得到300个令牌。T1的处理人员执行T1,消耗100个令牌,则P2 P3各得到100个令牌。

假设T2的处理人员消耗50个P2的令牌,则P4得到50个令牌。

 

现在T4拥有100个P3,50个P4,则T3只能处理50个令牌。

 

这样,每个角色只能通过工作流得到令牌,处理自己能处理的任务。

 

 

 

 

FSM(finite state machine,有限状态机)理论

最基本的FSM包含三部分:States,Start State,Transtion/Actions

 

如下图所示

 

一个state到另一个state就称为Transtion。

 

FSM模型适合于建立复杂的公文审批流程。

 

posted on 2007-03-07 15:16 又见炊烟 阅读(...) 评论(...) 编辑 收藏