petri网基础知识
- 格式:doc
- 大小:139.50 KB
- 文档页数:4
Petri网的原理及应用1. 什么是Petri网Petri网是一种用于描述并发系统和并发性行为的图形化工具和形式化方法。
它由德国数学家Carl Adam Petri于1962年提出,被广泛应用于系统建模、并发系统分析、协议验证等领域。
Petri网可以模拟并发系统的并发行为、状态转换以及资源分配等关键方面,通过图形化的方式直观地展示系统的结构和行为,并支持形式化的数学分析。
2. Petri网的基本元素Petri网由以下基本元素组成:2.1. 位置(Place)位置表示系统中的状态或者条件,通常通过一个圆圈表示。
位置可以存储某种资源或者表示某种变量的取值。
2.2. 过渡(Transition)过渡表示系统中的某种事件或者操作,通常通过一个矩形表示。
过渡可以触发或消耗位置中的资源,改变系统的状态。
2.3. 弧(Arc)弧表示位置和过渡之间的联系,通常通过一条带箭头的线表示。
弧可以表示资源的流动或者触发条件的关系,连接位置和过渡。
2.4. 标识(Marking)标识是位置中的资源的数量,可以通过在位置内部的小圆圈中填写数字来表示。
标识表示系统的状态,在Petri网中可以不断变化。
3. Petri网的建模方法Petri网可以通过以下步骤完成建模:3.1. 确定系统的功能和行为首先,需要明确系统的功能和行为,清楚系统中的位置、过渡以及它们之间的关系。
例如,一个简单的交通信号灯系统中可以有位置表示红绿灯状态、过渡表示信号灯变换的事件或操作。
3.2. 绘制Petri网图根据系统的功能和行为,使用标识符绘制位置和过渡,并用弧表示它们之间的联系。
根据需要,可以使用不同的符号和颜色来表示不同类型的位置和过渡。
3.3. 设定初始标识确定初始状态下位置中的资源数量,填写在位置的小圆圈中。
这可以表示系统的初始状态,即Petri网的初始标识。
3.4. 定义触发条件和行为规则根据系统的功能和行为,定义位置和过渡之间的触发条件和行为规则。
第11章P ETRI网本章研究Petri网及其在操作系统中的应用。
11.1包(bag)一个包(bag)是某个定义域上的元素集合,但是包不像集合,它允许元素的多次出现。
一个元素或者是一个集合中的元素,或者不是一个集合中的元素。
在包理论中,一个元素可以在一个包中0次(不在包中),或一次,两次,或任意规定次数。
例1。
考虑在域{a,b,c,d}上的下列包:B1={a,b,c} B4 = {a,a,a}B2 = {a} B5 ={a,a,a,b,b,c,d,d}B3 = {a,b,c,c} B6 = {a,b,c,c}某些包是集合,例如,B1和B2,,和集合一样,元素的次序是不重要的。
所以B3和B6是相同包(有序包是序列)。
11.1.1包的元素关系定义1 一个元素x在一个包B中的出现次数为#(x, B)。
对所有的x和B#(x, B)≥0。
若#(x, B)>0,则元素x是包B的一个成员,标志为x∈B。
类似地,若#(x, B)=0,则元素x不是包B的一个成员,x∉B。
我们定义空包φ为没有元素的包。
11.1.2包的运算在包上定义四个运算。
对两个包A和B定义:包联合A∪B #(x, A∪B )=max(#(x,A),#(x,B))包交A∩B #(x, A∩B )=min (#(x,A),#(x,B))包和A+B #(x,A+B)= #(x,A)+#(x,B)包差A-B #(x,A-B)= #(x,A)-#(x, A∩B )包的联合,交,及和满足交换律和结合律。
此外,成立下列包含关系:A∩B ⊆A ⊆ A∪BA-B ⊆ A ⊆ A+B包A的基数(cardinality)|A|是包中元素出现总数:|A| = ∑xA x) , (#联合与和之间的差别显然是| A∪B |≤|A| + |B||A+B| = |A| + |B|11.1.3包的包含和相等如果一个包A的每个元素也是包B的元素,并且至少有那么多次,即包A是包B的子包,标志为A ⊆ B。
8.4.1 Petri网基本知识简介Petri网库所 place 变迁 transistionPetri网由两类元素组成:库所(place)和变迁(transistion),前者表示状态,后者反映状态的变化。
变迁的作用是改变系统的状态,库所的作用则是决定变化能否发生。
两者的这种相互依赖关系用有向弧(流关系)表示。
网是系统的静态结构。
图8-22给出了一个Petri网和网系统的例子。
图中用圆圈表示库所,用短横表示变迁(也有用方框表示的)。
库所中的黑点称为托肯(token),用以表示某类资源,反映了系统的局部状态,托肯在库所中的分布,给出了各状态元素的初态,称为初始标识(initial marking),反映出系统初始情况下的全局状态。
如果库所中的托肯数不多于一个,与布尔型变量类似的库所只有两种状态:有托肯(成真)和无托肯(成假)。
我们把这样的网系统称为条件(condition)/事件(event)系统,简称C/E系统。
当网系统中的托肯在网中流动时,就反映了网的动态行为。
托肯是沿有向弧指示的方向流动的。
图8-22中,对于变迁e3来说,从库所b1有一条指向它的有向弧,用(b1,e3)表示,称为输入弧;同时还有另外两条输出弧,用(e3,b3)、(e3,b4)表示。
网论中将b1称为e3的输入库所,b3、b4称为它的输出库所,由输入库所组成的集合叫输入库所集,又称为前集,记为*e3={b1};由输出库所组成的集合叫做输出库所集,又称后集,记为e3*={b3,b4}。
同理,对于库所b1,它的输入变迁集(前集)为*b1={e2},输出变迁集(后集)为b1*={e1,e3}。
一个变迁,如果它的每一个输入库所都包含至少一个托肯时,则这个变迁有发生权,当这个变迁发生时,将导致在其每个输入库所中减少一个托肯,而在每个输出库所中增加一个托肯。
图8-22中,变迁e3的发生将“消耗”b1中的一个资源,同时产生b3类和b4类各一个资源,这就是变迁规则。
死锁产生原因(1)互斥:同时争夺唯一资源(2)占用且等待(3)无抢占(4)循环等待死锁产生的原因及四个必要条件产生死锁的原因主要是:(1)因为系统资源不足。
(2)进程运行推进的顺序不合适。
(3)资源分配不当等。
如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。
其次,进程运行推进顺序与速度不同,也可能产生死锁。
产生死锁的四个必要条件:(1)互斥条件:一个资源每次只能被一个进程使用。
这个资源只能是空闲待用或者分配给确定的任务,不可被两个或两个以上任务同时使用。
(2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放,更导致其他进程想获得资源而得不到资源,更导致进程瘫痪。
(3)不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
只有当正在使用这个资源的任务进程结束后,此资源才能被释放,被其他任务占用。
(4)循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。
死锁的解除与预防:理解了死锁的原因,尤其是产生死锁的四个必要条件,就可以最大可能地避免、预防和解除死锁。
所以,在系统设计、进程调度等方面注意如何不让这四个必要条件成立,如何确定资源的合理分配算法,避免进程永久占据系统资源。
此外,也要防止进程在处于等待状态的情况下占用资源。
因此,对资源的分配要给予合理的规划。
因此,前三个条件通常是满足的,而第四个条件可因资源的请求、分配和释放等因素,随时间而变化。
只要发生死锁,这四个条件必然都满足。
反之,只要有一个条件不满足,系统就不会发生死锁。
因此想要控制系统死锁的发生,必须破坏第四个条件即循环等待条件。
Petri网建模优势对系统中的并发、资源共享、冲突、相互抑制以及非确定性等有简单表示;(1)可以使用自顶向下和自底向上的设计方法,使系统具有不同的抽象层次;(2) 从Petri 网模型可以直接生成控制代码;(3) 良好定义的语义能够为系统的确认提供定性和定量的分析;(4) 图形界面可给出系统的直观视图;(5) Petri 网可用于系统设计的各个阶段,从系统建模、分析、仿真、确认、性能评价到调度、控制和监控的整个过程。
第二章基本PETRI网概述基本内容•基本petri网的定义•petri网的运行规则•基本petr i网的性能•制造系统PN模型示例基本petri网的定义•在定义petri网(PN)时,要注意区分PN结构与标识PN(marked petri网)。
它定义了DES可能的状态、事件及其它们之间的关系。
在PN中用标识描述DES的状态。
定义1:PN的结构是四要素描述的有向图PNS=(P,T,I,O)此处:P={p1,p2,…,pm}为库所(place)的集合T={t1,t2,…,tn}为变迁(transition)的集合I:P×T→N是输入函数,它定义了从P到T的有向弧的重复数,这里N为非负整数集O:T×P→N是输出函数,它定义了从T到P的有向弧的重复数在表示PN结构的有向图中,库所以圆圈表示;变迁以长方形或粗实线段表示。
图1 (标识)petri网若从库所p到变迁t的输入函数取值为非负函数w,记为I(p,t)=w,则用从p到t的一有向弧并旁注w表示;输出函数O的表示方法类似。
特别的,若w取值为1,则不必标注;若w取值为0,则不必画弧图1所描述的PN结构(暂不考虑圈中圆点)可正规的表示如下:•在DES的PN结构中,p表示DES局部状态,P表示DES 的整体状态;T表示其所有可能事件;I与O描述所有可能的状态与事件之间的关系。
例如,在图1中,从p1与p2到t1有弧连接,说明t1所表示的事件的发生以p1与p2所表示的的局部状态为前提条件。
从t1到p3有弧连接,说明t1所表示的事件发生将影响p3的局部状态。
•在DES的PN中,某一库所所表示的局部状态的实现情况用库所中所包含的托肯(token)数目m(p)来表示(用库所p中圆点表示托肯)。
托肯在所有库所中的分布情况成为PN的标识,它表示DES的整体状态•定义2:标识PN包含五要素,可表示如下PN=(P,T,I,O,m)式中字母P,T,I,O意义与前述相同,m为标识PN的标识,它为列向量,第i个元素表示第i个库所中托肯数目。
Petri网Petri网是一种图形模型,用于描述并发系统中的并发过程和状态迁移。
它由物理学家Carl Adam Petri在1962年提出,是一种形式化的工具,用于模拟和分析各种并发系统。
1. Petri网的基本概念Petri网由两种基本元素组成:库所(Place)和变迁(Transition)。
库所可以看作是存储资源的位置,变迁表示发生的事件。
这两种元素都是用圆圈表示,并使用有向弧线连接。
•库所:用一个圆圈表示,通常用于存储资源或表示系统的状态。
每个库所都有一个或多个标记(token),表示资源的数量或状态。
•变迁:用矩形或虚线矩形表示,表示一个事件或活动。
变迁可以使得库所中的资源发生变化,即在库所之间转移标记。
此外,Petri网还有一些辅助元素:•弧线:表示库所和变迁之间的关系。
用于指示资源的流动或变迁的触发条件。
•权重:用于限制资源的流动或变迁的触发条件。
2. Petri网的特性Petri网具有以下几个重要的特性:2.1 可视化Petri网通过图形化的方式描述并发系统,并使用直观的图形元素表示资源和事件之间的关系。
这种可视化的特性使得Petri网更容易理解和分析,并且可以有效地交流和共享。
2.2 模块化Petri网可以进行模块化设计,即将一个复杂的系统分解为多个简单的子系统,并使用库所和变迁进行连接。
这样可以方便地对子系统进行分析和调试,并且可以更好地理解整个系统的结构和功能。
2.3 并发性Petri网能够描述并发系统的行为。
通过在变迁周围放置多个库所,可以实现多个资源之间的并发操作。
这样可以提高系统的并发性,提高系统的性能和效率。
2.4 死锁检测Petri网可以用于检测系统中的死锁问题。
当库所和变迁之间的资源流动形成闭环时,可能会导致死锁的发生。
通过分析Petri网的结构和标记状态,可以检测到潜在的死锁情况,并采取相应的措施解决问题。
3. Petri网的应用领域Petri网在各个领域都有广泛的应用,以下是其中一些典型的应用领域:3.1 并发系统分析Petri网可以用于描述和分析各种并发系统,如操作系统调度算法、并行计算系统、通信协议等。
Petri网:模型、理论与应用Petri网,也称为Petri图,是一种用来描述系统事件并发性、同步性和序列性的有向图。
Petri网模型被广泛应用于计算机科学、系统工程、控制工程和化学工程等领域,成为了目前最流行的并发系统建模工具之一。
Petri网的基本元素Petri网由一组有向弧和节点组成,包括以下几个基本元素:1.库所(Place):代表系统中的状态或原料库存等。
2.变迁(Transition):代表系统中的事件或操作,用于改变状态或消耗库存。
3.有向弧(Arc):连接库所和变迁,表示状态之间的转移或原料的消耗。
4.标志(Marking):库所内的标志表示库存的数量或状态。
Petri网的基本形式Petri网可以表示为二元组N=(P, T, F),其中:1. P为库所的集合;2. T为变迁的集合;3. F为弧集合,由以下两种类型的弧组成:a)输入弧(Inhibitor arc):表示一个库所是变迁的前置条件,但是库所中的标志数量必须为零。
b)常规弧(Regular arc):表示一个库所是变迁的前置条件,库所中的标志数量可以为任意值。
Petri网的理论Petri网理论主要研究Petri网的语法、分析和应用。
Petri网具有以下特点:1. 易于可视化:Petri网可以用于描述具有并发性、同步性和序列性的系统,比传统的文本模型更直观。
2. 模型简单:Petri网只包含库所、变迁和有向弧三种基本元素,是一种简单、易于理解的模型。
3. 通用性强:Petri网模型可以表示各种类型的系统,例如工作流、协作系统、并发系统和控制系统等。
Petri网的应用Petri网在计算机科学、系统工程、控制工程和化学工程等领域的应用非常广泛。
1. 生产调度:Petri网可以应用于生产调度中,用于描述生产流程中的各个节点及其状态转移。
2. 工作流管理:Petri网可以应用于工作流管理中,用于描述任务分配、任务执行和任务完成的过程。
Petri网的概念:Petri网是对离散并行系统的数学表示。
经典Petri网:经典的Petri网是简单的过程模型,由两种节点:库所和变迁,有向弧,以及令牌等元素组成的。
Petri网的结构:
(一)、形式化的定义:
1.petri网的元素:
库所(place)圆形节点
变迁(transition)方型节点
有向弧(connection)它是具有方向的,是库所和变迁之间的有向弧
令牌(token)它是库所中的动态对象,可以从一个库所移动到另一个库所。
2.Petri网的规则:
1.有向弧是有方向的
2.两个库所之间变迁是不允许有弧的。
3.库所可以拥有然一数量的令牌。
4.O行为
如果一个变迁的每个输入库所(input place)都拥有令牌,该变迁即为被
允许(enable)。
一个变迁被允许时,变迁将发生(fire),输入库所(input place)
的令牌被消耗,同时为输出库所(output place)产生令牌。
5. 变迁的发生是原子的,也就是说,没有一个变迁只发生了一半的可能性。
6. 有两个或多个变迁都被允许的可能,但是一次只能发生一个变迁。
这种情况下变迁发生的顺序没有定义。
7. 如果出现一个变迁,其输入库所的个数与输出库所的个数不相等,令牌的
个数将发生变化,也就是说,令牌数目不守恒。
8.petri网事静态的也就是说,不存在发生了一个变迁之后忽然冒出另一个变迁
或者库所,从而改变Petri网结构的可能。
9. Petri网的状态由令牌在库所的分布决定。
也就是说,变迁发生完毕、下一个
变迁等待发生的时候才有确定的状态,正在发生变迁的时候是没有一个确定
的状态的。
3.petri网的类型:
(1)基本petri网:每个库所容量为1,这样库所可称为条件,变迁可称为事件。
故而又称为条件/事件系统C/E
CE模型的基本关系
顺序关系:
并发关系
互斥冲突关系:
异或关系:
死锁关系:
(2)低级petri网:库所容量和权重>=1的任意整数,称为库所/变迁网P/T
(3)定时petri网:将各事件的持续时间表在库所旁边,库所中新产生的标记经过一些事件后加入到网中,或时标在变迁上,经过时间延迟后发生。
(4)高级petri网:谓词/事件网、染色网、随机网等。
注:在petri网中往往会出现两个变迁相互争夺令牌的情况,这种情况下由于petri 网的时序是不确定的因此哪一个变迁将会得到执行也是不确定的
如下例是一个订购货物的petri网实例,从中我们可以分析出petri网的一些相关知识:
(二)petri网的数学表达方式:
一个经典的Petri网由四元组(库所,变迁,输入函数,输出函数)组成。
任何图都可以映射到这样一个四元组上,反之亦然。
被允许的形式化变迁发生的形式化 Petri网到变迁系统的映射可达性图
Petri 是一个三元组(P,T,F) F(P X T)U(T X P)是弧的集合
高级Petri网
为了解决经典Petri网中的问题,研究出了高级Petri网,在以下方面进行了扩展:
令牌着色
一个令牌通常代表具有各种属性的对象,因此令牌拥有值(颜色)代表由令牌建模的对象的具体特征,如一个令牌代表一个工人(张三,28岁,
经验3级)。
时间
为了进行分析,我们需要建模期间,延迟等,因此每一个令牌拥有一个时间戳,变迁决定生产出的令牌的延迟。
层次化
构造一个复杂性与数据流图相当的Petri网的机制。
子网是由库所,变迁和子网构成的网络。
时序
增加时序逻辑的定义,更好的描述行为过程。