Petri网

Posted 赏月斋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Petri网相关的知识,希望对你有一定的参考价值。

Petri网是一种适合于系统描述和分析的数学模型,主要描述异步和并发关系。(或者Petri网是对离散并行系统的数学表示,适用于描述异步的,并发的计算机系统模型。)

       Petri网模型自然,直观,简单易懂的描述了在分析并行系统的状态行为的技术。

   Petri网主要用于:计算机协议模型、柔性系统模型、计算机集成制造、人工智能、系统分析等领域。

   Petri网由位置(P),变迁(T),有向弧线,令牌(token)所构成,其中P表示状态元素,T为变化元素,有向弧线既可以由P到T,又可以由T到P,token表示一种属性。其中P,T平等。T由P来描述,P由T而变化,T引起P中资源流动,F联系P,T。Petri网可描述为:{S,T,F,M0} S:表示状态,T:表示变化条件,F:表示有向弧,M0表示令牌的初始位置。

   Petri网的与运算描述为:

 技术分享图片

       Petri网的直观理解:

       用Petri网描述的系统有一个共同的特征:系统的动态行为表现为资源(物质资源和信息资源)的流动。

       为了便于理解,先通过分布式系统的几个基本行为模型,描述的例子对Petri网做一个直观的说明:一个Petri网的结构元素包括:库所(place)、变迁(transition)和弧(arc)。库用于描述可能的系统局部状态,例如:计算机和通信系统的队列、缓冲、资源等。变迁用于描述修改系统状态的事件。例如:计算机和通信系统的信息处理、发送、资源的存取等。弧通过指向来规定局部状态和事件之间的关系。

    在Petri网模型中,托肯包含在库所中,他们在库所中的动态的变化表示系统的不同状态。如果一个库所描述一个条件,它可以包含或者不包含托肯,也可以包含多个托肯。当库所中包含托肯时,条件为真;否则条件为假。如果一个库所定义一个状态,在这个库所中的托肯个数用于数量化这个状态。例如:在计算机和通信系统中,托肯可以表示处理的信息单元,资源单元和顾客、用户等对象实体。

       一个Petri网模型的动态行为是由它的实施规则规定的,当使用等于1的弧权时,如果一个变迁的所有输入库所(这个库所连接到这个变迁,弧的方向是从库所到变迁)至少包含一个托肯,那么这个变迁使能(相关联的时间发生)。一个使能的变迁的触发导致从它所有的输入库中清楚1个托肯,在它的每一个输出库所(这些位置连接到这个变迁,弧的方向从变迁到位置)中产生1个托肯。当使用大于1的弧权时,在变迁的每一个输入库所中都要包含至少等于连接弧权的托肯个数,它才使能;这个变迁的触发将清除在该变迁的每一个输入库所中的相应的托肯个数,并在变迁的每一个输出库中所产生相应的托肯个数。变迁的触发是原子操作,清楚输入库所的托肯和在输出库所产生托肯时1个不可分割的完整操作。

以上是关于Petri网的主要内容,如果未能解决你的问题,请参考以下文章

习题6-7 Petri网模拟 (Petri Net Simulation, ACM/ICPC World Finals 1998, UVa804)

为啥 Petri 网的可达性图中未定义最终标记的数量?

TIme Petri Net Analyzer仿真软件下载及使用教程

Spark 入门之 Scala 语言解释及示例讲解

软件测试基础知识——测试用例设计方法

建模约束逻辑程序(用于分析)