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. 修改Linux的基本配置

    1.修改主机名 vi /etc/sysconfig/network 2.修改ip地址 vi /etc/sysconfig/network-scripts/ifcfg-eth0 ONBOOT=yes   ...

  2. ERROR 2003 (HY000): Can't connect to MySQL server on "192.168.xxx.xxx" (111)

    mac  homebrew 安装的mysql5.6 除本机外无法被其他ip的电脑访问. 网上查原因 有几个: 1.my.cnf配置中 查看是否有   bind-address = 127.0.0.1  ...

  3. Zookeeper Canary

    ZooKeeper Canary我理解用于测试ZK节点是否正常的心跳服务,这是从ClouderaManager中粘下来的: 这是 ZooKeeper 服务级运行状况测试,用于检查基本客户端操作是否正常 ...

  4. [mysql] update……from……

    今天插入一条数据就像这样 limit ), , )) 然后报错: You can't specify target table 'categorys' for update in FROM claus ...

  5. JDBC之 连接池

    JDBC之 连接池 有这样的一种现象: 用java代码操作数据库,需要数据库连接对象,一个用户至少要用到一个连接.现在假设有成千上百万个用户,就要创建十分巨大数量的连接对象,这会使数据库承受极大的压力 ...

  6. 24.python中类的方法

    类中的方法,其实就是类中的函数,可以分为:实例方法,类方法,静态方法.方法和字段一样,也是属于类的属性,所以也具有运行中修改的特效, 但一般不推荐这样做. 我在类的基本语法中,介绍了构造器方法:__i ...

  7. 為你的文件夾添加“使用CMD命令打開”菜單

    最近在項目中,經常使用要使用一些python命令,要打開cmd窗口,再pushd或cd切換到某個文件夾,相當麻煩.於是想,何不在“文件夾”中添加右鍵“pushd”命令呢? 有了目的性,一切似乎就變得簡 ...

  8. Codeforces.1027F.Session in BSU(思路 并查集)

    题目链接 \(Description\) 有\(n\)个人都要参加考试,每个人可以在\(ai\)或\(bi\)天考试,同一天不能有两个人考试.求最晚考试的人的时间最早能是多少.无解输出-1. \(So ...

  9. Atcoder Tenka1 Programmer Contest 2019 题解

    link 题面真简洁 qaq C Stones 最终一定是连续一段 . 加上连续一段 # .直接枚举断点记录前缀和统计即可. #include<bits/stdc++.h> #define ...

  10. hdu 1116 敌兵布阵(树状数组区间求和)

    题意: 给出一行数字,然后可以修改其中第i个数字,并且可以询问第i至第j个数字的和(i <= j). 输入: 首行输入一个t,表示共有t组数据. 接下来每行首行输入一个整数n,表示共有n个数字. ...