更新时间:2022-05-24 14:19
PetriNet是对离散并行系统的数学表示,其是1960年代由C.A.佩特里发明的,适合于描述异步的、并发的计算机系统模型。
PetriNet既有严格的数学表述方式,也有直观的图形表达方式。
在国外很多著名流程相关的文档中,PetriNet的数学表述用的很多,但可惜这些估计只有那些相关专业的研究生、博士生才能看得懂的,一般开发人员,能够领悟图形Notation即可。
经典的PN是简单的过程模型,由两种节点(库所和变迁),及有向弧,以及令牌(Token)组成的。
PetriNet不光抽象了经典的过程模型,并描述了完备的支撑过程调度的算法:如果一个变迁的每个输入库所(input place)都拥有令牌,该变迁即为被允许(enable)。一个变迁被允许时,变迁将发生(fire),输入库所(input place)的令牌被消耗,同时为输出库所(output place)产生令牌。
基于PetriNet的工作流引擎,其引申了两种节点:一种是State,一种是Activity:其中state是演化自place,activity则演化自transition。