摘要:对数学和图形进行描述和分析的工具很多,但能用良好的数学性质把一些复杂的现象(例如,同步、并发、分布、冲突、资源共享等)描述的直观、生动形象的工具很少,而Petri网就具有这些优点。在分布式系统、信息系统、离散事件系统等领域,都可以利用Petri网对离散事件动态系统建模、规范分析和设计,而且非常好。Petri网有很多分析方法,文章就作简要概述。
关键词:Petri网;Petri网语言;可达性;不变量;死锁
Petri网是一种计算模型,也是一种数学模型,最先是由德国的C.A.Petri教授提出来的,之后,得到了深入的研究,对于异步并发系统的描述和模拟,能用非常友好的图形表示出来。
友好的图形表示只是Petri网得到广泛应用的一个原因,更主要的原因是它的分析方法非常完备,而且这些方法对于分析和模拟系统的行为非常有效。下面就简述一下其丰富的分析方法。
1Petri网语言
Petri网语言,是用来解决一个网系统中由于变迁而引发的序列问题。这种通过变迁引发的序列,可以控制事件发生的顺序,从而对资源进行合理的配置和有效地调度。最初Petri网语言的目的是利用这种变迁引发的序列来分析系统的行为,并通过其语言来进行计算和模拟,对于系统的设计能有效地进行控制和改进。随着Petri网语言的发展,它在理论和应用方面都得到很好的应用,成为了Petri网的重要组成部分。
2可达树
Petri网是否可达如何判定,可以在一个网系统中设置一个标识,根据这个标识是否能够从初始标识可达来判定Petri网的可达性。Petri网的很多问题都是通过可达性问题来进行分析的。判定Petri网的可达性很难,但其可达性问题是可以判定的。如何去判定?有很多方法,基其中之一是基于可达树或可覆盖树。如果Petri网有界,那么可达树的节点就有限,其网系统的可达性就能够分析的非常准确。如果Petri网无界,可达树的节点就无限,所以这样的可达树就没办法构造出来。如果节点有限就可以判定,那么可构造一个可覆盖树,这个可覆盖树的节点是有限的,如何构造,可以在可达树中引入一个无界符号来解决。但是这样的话一些不可达的标识也有可能出现在可覆盖树中,所以这时候可达性也解决不了。所以,一般都用有界的Petri网来模拟现实系统。所以,系统的行为可以根据可达树来分析。
3状态方程
用一个矩阵来表示Petri网结构,用一个向量来表示Petri网的标识,当然这个向量必须是非负整数。这样的话,就可以用线性代数的方法即状态方程的方法来分析Petri网的性质。如果Petri网的标识是可达的,那么它肯定满足状态方程。反过来,如果Petri网中的标识满足状态方程,但它不一定可达。造成这种情况出现的原因是“先借后还”,对于一些特殊的Petri网,其可达性与状态方程的可满足性等价,这样的话,其可达性就可以通过解方程来判定。
4基于Petri网结构性质的分析方法
不管是状态方程还是可达树,都关系到Petri网的初始标识,但也有可能遇到与初始标识无关的,但与网的结构有关的性质,所以网系统的一些性质可以通过T-不变量、可重复向量、死锁等方法来解决。
①T-不变量。T-不变量反映的是网的这样一种性质:与这个T-不变量所对应的变迁序列引发之后,并不会改变每个库所中的托肯的数目。也就是说这组变迁引发前后的标识一样。这样,这组变迁序列按照原来的次序可重复、无限次地引发,因此,T-不变量与系统的活性有着紧密的联系。T-不变量在通信系统的活性判定及通信协议的验证上有着很好的应用。利用T-不变量可得出一个很漂亮的结论:根据规则与已知条件可推出某个结论,则Petri网中就存在一个相应的T-不变量,反之亦然。现在大家关注的一个问题是关于T-不变量的求解。其实。一个T-不变量就是一个平凡的整数系数线性方程组的解。然而,这个解要求是非负整数解(全零向量除外),这就给解方程组增加了很大的麻烦。求解算法已经存在一些。但比较经典的当属FM算法。此算法简短,容易实现,是基于矩阵的初等变换,可以求出一组T-不变量。而一个网的任一T-不变量都可由这组T-不变量非负有理数系数线性表出。另外一些方法,也主要是基于FM 算法。
②可重复向量。可重复向量是Petri网中的一个重要的结构性质之一,利用它可以表示这样的一组变迁,即当这组变迁引发后每个库所中的托肯数不减少的情况。所以这种方法可以用来判定网是有界还是无界的。活性的判定也可利用可重复向量作为一个必要条件。前面介绍的T-不变量也是一种可重复向量,只不过具有特殊性。可重复向量是一个不等式方程组的解,这个不等式方程要求是整数系数且具有线性,所以这个解也必须是非负整数解。
③死锁(siphon)。死锁指的是某组库所的所有输入变迁都是它的输出变迁。这种结构与网的活性联系比较紧密。由此可见,在检测系统的活性及预防时死锁起着非常重要的作用。
利用死锁来分析Petri网,首先要找出此网的死锁。目前已经存在一些求解算法。最直接的就是枚举判断,然而这种方法的时间与空间复杂度都是指数级的。因此,许多学者就去研究其他一些方法:基于不等式、逻辑方程、代数方法、结构特性、标号关联矩阵等。还有其他一些方法,这些方法为死锁在Petri网分析中的应用提供了保障。
P-不变量与T-不变量是一对对偶的概念。陷阱(trap)与死锁也是一对对偶的概念。它们在Petri网的分析中也有着一定的应用,特别是经常利用死锁与陷阱相结合来分析Petri网的活性。利用求解T-不变量与死锁的方法,可相应地去求解P-不变量与陷阱。
5其他分析方法
另外的一些分析方法。像:网进程、网的分解与合成等,也经常被用到,也得到了一定的研究,在此不再叙述。
6结语
综上所述,Petri网的分析方法非常丰富,并且各有所长,这为Petri网的广泛应用提供了有力的支持。
参考文献:
[1] J.Peterson著.吴哲辉译.Petri网理论与系统模拟[M].徐州:
中国矿业大学出版社,19.
[2] 蒋昌俊.离散事件动态系统的PN机理论[M].北京:科学出
版社,2O00.
[3] 蒋昌俊.Petri网的行为理论及其应用[M].北京:高等教育出
版社,2003.
[4] 吴哲辉.Petri网导论[M].北京:机械工业出版社,2006.
[5] 表崇义.Petri网原理及应用[M].北京:电子工业出版社,
2005.
[6] 昊哲辉.有界Petri网的活性与公平行的分析与实现[J].计
算机学报,19,(7).下载本文