Petri Net
适合于描述异步的、并发的计算机系统模型。Petri网既有严格的数学表述方式,也有直观的图形表达方式。
由于Petri网能够表达并发的事件,被认为是自动化理论的一种。研究领域趋向认为Petri网是所有流程定义语言之母。
Petri Net 来源
卡尔·A·佩特里是一名物理学家,他发明Petri网主要是从物理的角度去描述并发现象的。据佩特里本人所述,他认为60年代自动机理论由于缺乏并发(Concurrence)概念不适合于表达现代物理学理论,例如狭义相对论(Special Relativity)和不确定性原理(Uncertainty Principle)。Petri网的一个重要的贡献,就是Petri网里面不存在所谓的“全局时间”的概念,它能够很容易地表达狭义相对论的观点。即Petri网可以描述每一个节点的拥有自己的独立时序,只要条件满足,就可以发生。
从狭义相对论的观点出发,两个时空点之间如果没有因果关系把它们连接起来(或者说“类空”的),它们就是独立的,不能说其中一个发生在前另一个在后或者相反。因此,Petri网里面的两种变迁(见下文)如果都有发生的条件,则不能认为其执行顺序有任何关系。然而,Petri网旨在描述变迁之间的因果关系,并由此构造时序。
Petri网结构
一个经典的Petri网由四元组(库所,变迁,输入函数,输出函数)组成。任何图都可以映射到这样一个四元组上,反之亦然。
Petri网的元素:
- 库所(Place)圆形节点 // 条件
- 变迁(Transition)方形节点 // 事件,前后分别是前置条件和后置条件
- 有向弧(Connection)是库所和变迁之间的有向弧
- 令牌(Token)是库所中的动态对象,可以从一个库所移动到另一个库所。// 圆圈中有标识( token )表示条件( condition )满足