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网的更多相关文章

  1. petri网学习心得

    本文转载自duxw,如给您带来不便之处,请联系博主. 1.Petri网书籍:<petri网导论>,吴哲辉 非常适合初学者.概念清晰,容易理解. 2.工作流书籍:<Workflow M ...

  2. 《转》常用Petri网模拟软件工具简介

    本文转载自liusj2003,如给您带来不便之处,请联系博主. 首先要介绍的的一个非常有名的Petri 网网站--Petri Nets World: http://www.informatik.uni ...

  3. 基于Petri网的工作流分析和移植

    基于Petri网的工作流分析和移植 一.前言 在实际应用场景,包括PEC的订单流程从下订单到订单派送一直到订单完成都是按照一系列预先规定好的工作流策略进行的. 通常情况下如果是采用面向过程的编程方法, ...

  4. 常用Petri网模拟软件工具简介

    常用Petri网模拟软件工具简介 首先要介绍的的一个非常有名的Petri 网网站--Petri Nets World:       http://www.informatik.uni-hamburg. ...

  5. petri网初步

    历史:Petri网的概念是德国的Carl Adam Petri早在1962年提出来的.他在他的论文里提出了一个新的信息流模型,这个模型基于系统各部分的异步并发的操作,并把各部分之间的关系用网状的图来描 ...

  6. Petri网的工具

    需要寻找 Petri 网的工具的朋友可以在 http://www.informatik.uni-hamburg.de/TGI/PetriNets/tools/complete_db.html 里面找一 ...

  7. 用于并发系统建模和验证的着色Petri网及其工具软件的CPN Tools(笔记整理)

    1.着色Petri网(CPNS)是一种建模和验证系统的语言,在这些熊中并发性,交互性和同步性扮演着主要的角色,着色Petri网是一种功能编程语言Standard ML结合起来的离散时间建模语言,Pet ...

  8. petri 网理论与研究(第一节140915)

    成绩 :70 大作业 和 30 的最后讨论 petri 是一个人的名字. 网状结构的信息流模型,和自动机有点像 理论体系发展比较慢  应用很远 1      EN,P/T,Pr/T,CPN,关系网……

  9. [刷题]算法竞赛入门经典(第2版) 6-7/UVa804 - Petri Net Simulation

    题意:模拟Petri网的执行.虽然没听说过Petri网,但是题目描述的很清晰. 代码:(Accepted,0.210s) //UVa804 - Petri Net Simulation //Accep ...

随机推荐

  1. SpringBoot中使用纯scala进行开发 配置教程 非常简单的案例

    新建项目 建好之后 建一个叫scala的文件夹 并把它标记为root文件夹 修改pom.xml文件 复制粘贴如下内容: 添加的插件的作用,如果不添加,在新建文件的时候右键只能新建java的文件,无法创 ...

  2. Qt代码创建分隔条

    我们在使用Qt时,会发现在使用UI界面时可以添加窗口分隔条,但我们使用纯代码时却没有分隔条的类函数.这时候我们就需要手动添加,添加方式和Qt自定义标签按钮一样,下面我直接写代码.如果不知道怎么添加的, ...

  3. Java核心编程快速入门

    Java核心编程部分的基础学习内容就不一一介绍了,本文的重点是JAVA中相对复杂的一些概念,主体内容如下图所示. 反射reflect是理解Java语言工作原理的基础,Java编译器首先需要将我们编写的 ...

  4. InnoDB的锁机制浅析(一)—基本概念/兼容矩阵

    InnoDB锁的基本概念 文章总共分为五个部分: InnoDB的锁机制浅析(一)-基本概念/兼容矩阵 InnoDB的锁机制浅析(二)-探索InnoDB中的锁(Record锁/Gap锁/Next-key ...

  5. ASCII UTF-8 编码

    1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte). ...

  6. 数据包注入重放工具aireplay-ng

    数据包注入重放工具aireplay-ng   aireplay-ng是aircrack-ng组件包的一个工具.它可以注入和重放数据帧,用于后期的WEP.WPA-PSK破解.它提供九种攻击模式,包括死亡 ...

  7. BZOJ.4832.[Lydsy1704月赛]抵制克苏恩(期望DP)

    题目链接 \(f[s][i][j][k]\)表示还剩\(s\)次攻击,分别有\(i,j,k\)个血量为\(1,2,3\)的奴隶主时,期望受到伤害. 因为期望是倒推,所以这么表示从后往前求,注意\(a, ...

  8. "Unchecked-Send"漏洞分析

    author:sf197tl;dr国内并没有一个文档有讲述该漏洞的,正好闲着没事.就写下这篇文章.在网上也搜寻了一些资料,通过自己的翻译才有今天的这篇文章.该漏洞在DASP TOP 10中可以查看到. ...

  9. Codeforces Round #375 (Div. 2) B. Text Document Analysis 模拟

    B. Text Document Analysis 题目连接: http://codeforces.com/contest/723/problem/B Description Modern text ...

  10. .Net 环境下C# 通过托管C++调用本地C++ Dll文件

     综述 : 本文章介绍.Net 环境下C# 通过托管C++调用本地C++ Dll文件, 示例环境为:VS2010, .Net4.0, Win7. 具体事例为测试C++, C#, 及C#调用本地C++D ...