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. Java总结——常见Java集合实现细节(1)

    Java提高——常见Java集合实现细节(1) 2018年04月18日 15:07:35 阅读数:25 集合关系图 Set和Map set代表一种集合元素无序.集合元素不可重复的集合 map代表一种由 ...

  2. 日志回滚:python(日志分割)

    日志回滚:python 什么是日志回滚? 答: 将日志信息输出到一个单一的文件中,随着应用程序的持续使用,该日志文件会越来越庞大,进而影响系统的性能.因此,有必要对日志文件按某种条件进行切分,要切分日 ...

  3. Odoo访问权限(一)

    Odoo访问权限(一) 四个ODOO权限管理层次 一. Odoo 菜单级别: 即,不属于指定菜单所包含组的用户看不到该菜单.不安全,只是隐藏菜单,若用户知道菜单ID,仍然可以通过指定URL访问 二. ...

  4. 系统的Drawable(一)

    系统的Drawable(一) 学习自 <Android 开发艺术探索> <官方文档> https://www.cnblogs.com/popfisher/p/6238119.h ...

  5. forof循环

    一.语法 1.遍历数组 let myArr=[1,2,3,4,5]; for (let ele of myArr) { console.log(ele); } let myArr=[1,2,3,4,5 ...

  6. Manthan, Codefest 18 (Div 1 + Div 2) (A~E)

    目录 Codeforces 1037 A.Packets B.Reach Median C.Equalize D.Valid BFS E.Trips(正难则反) Codeforces 1037 比赛链 ...

  7. [Java]如何把当前时间插入到数据库

    [Java]如何把当前时间插入到数据库 1.在orderDao.java中 /** 设置订单*/ public void setOrder(Order order){ Date time = new ...

  8. Codeforces Round #372 (Div. 1) A. Plus and Square Root 数学题

    A. Plus and Square Root 题目连接: http://codeforces.com/contest/715/problem/A Description ZS the Coder i ...

  9. HDU 5901 Count primes 论文题

    Count primes 题目连接: http://acm.split.hdu.edu.cn/showproblem.php?pid=5901 Description Easy question! C ...

  10. (67)Wangdao.com第十一天_JavaScript 数组的遍历

    for 普通方式遍历 var arr = [0,1,2,3,4,5,6]; for(i=0; i<arr.length; i++){ document.write("["+i ...