谈天说地

分享一篇petri网入门文章

最近需要学习一个大系统,其中涉及到了petri网的知识,发现这东西非常好用,在这分享给大家吧!了解一些,总会用得上的:)
文章引自:学习空间

===========================

Petri网是对离散并行系统的数学表示。Petri网是1960年代C.A.佩特里发明的,适合于描述异步的、并发的计算机系统模型。Petri网既有严格的数学表述方式,也有直观的图形表达方式。

由于Petri网能表达并发的事件,被认为是自动化理论的一种。研究领域趋向认为Petri网是所有流程定义语言之母。

经典的Petri网是简单的过程模型,由两种节点:库所和变迁,有向弧,以及令牌等元素组成的。

petri网图
petri网图

Petri网的元素:

  • 库所(Place)圆形节点
  • 变迁(Transition)方形节点
  • 有向弧(Connection)是库所和变迁之间的有向弧
  • 令牌(Token)是库所中的动态对象,可以从一个库所移动到另一个库所。

Petri网的规则是:

  • 有向弧是有方向的
  • 两个库所或变迁之间不允许有弧
  • 库所可以拥有任意数量的令牌

行为

如果一个变迁的每个输入库所(input place)都拥有令牌,该变迁即为被允许(enable)。一个变迁被允许时,变迁将发生(fire),输入库所(input place)的令牌被消耗,同时为输出库所(output place)产生令牌。

注意:

  • 变迁的发生是原子的;
  • 有两个变迁都被允许的可能,但是一次只能发生一个变迁;
  • 如果出现一个变迁,其输入库所的个数与输出库所的个数不相等,令牌的个数将发生变化;
  • Petri网络是静态的;
  • Petri网的状态由令牌在库所的分布决定。

两个变迁争夺一个令牌的情形被称之为冲突

多个弧连接两个节点的情况。在输入库所和变迁之间的弧的个数决定了该变迁变为被允许需要的令牌的个数。弧的个数决定了消耗/产生的令牌的个数。

over~

1条评论

发表您的评论

请您放心,您的信息会被严格保密。必填项已标识 *