常用Petri网模拟软件工具简介
常用Petri网模拟软件工具简介
首先要介绍的的一个非常有名的Petri 网网站--Petri Nets World:
http://www.informatik.uni-hamburg.de/TGI/PetriNets/
我这里介绍的软件大部分在该网站中的Tools and Software中的Petri Nets Tool Database里可以找到相关的链接。
Petri网的相关模拟仿真软件现在已经相当成熟了,在国外已经有很多投入商用的案例。但目前每年的国际性Petri网学术会议上都有一个专题就是:Petri Nets Tools的开发。也就是说Petri网界对于新的模拟软件的开发是十分重视。
这里不是要跟大家说如何开发软件,而是想跟大家分享如何下载和使用适合我们自己的Petri网学习工具软件。
下面介绍我比较熟悉的几款软件,大家不妨自己下载安装使用(注意,其中有些是要钱的,不管打不打折,对于我们来说肯定不会下):
Visual Object Net ++
Tool homepage: http://www.systemtechnik.tu-ilmenau.de/~drath/visual_E.htm
Visual Object Net ++可以说是一款入门级的模拟软件了。我用得最多。具有非常直观的操作和非常强大的功能。支持时间以及混杂网,但是我们用得最多的还是使用它来队最普通的P/T网建模。这款软件虽然很好用,但感觉就是太普通、太普通了。
Tina
Tool homepage: http://www.laas.fr/tina
Tina是一款对时间Petri网支持得比较好的软件,也是我用得较多的一款软件。它的运行程序是解压后/bin目录下的nd.exe文件(NetDraw),适用于Windows和Linux操作系统,也就是说他的移植性很好。
Tina的操作也比较特别,很多操作需要借助键盘按键来完成,如:
Ctrl + g用来切换软件背景网格线的有无;鼠标中键用来添加库所;Ctrl +鼠标中键用来添加变迁;用鼠标中键在库所与变迁间拖拽可以添加弧。
它有专门的模拟模块,点击菜单的tools-stepper simulator可以切换到运行模拟器中,如图。其中Rand表示随机运行,完了之后可回复到初始状态进行单步运行分析等。
CPNTools
Tool homepage: http://www.daimi.au.dk/CPNTools/
CPN Tools是颜色Petri网领域鼎鼎大名的建模软件,操作界面如下图所示。
其操作也独具特色--添加库所、变迁以及弧的方法是使用鼠标右键点击不放,在出现的圆形弹出菜单内用左键选择相应的项目。
下图大家一看就明白,乃是经典的哲学家进餐问题的CPN模型。
更多的操作细则请参看在线帮助文档:
http://wiki.daimi.au.dk/cpntools-help/cpntools-help.wiki
JFern、PIPE
Tool homepage: http://sourceforge.net/projects/jfern
之所以放在一起讲是因为JFern和PIPE都是基于Java平台的Petri网模拟软件。所以不管是在Windows下还是Linux下都必需有JDK/JRE作为运行环境方可使用。
JFern支持面向对象Petri网,目前支持OOPN的软件比较少,所以很有价值。
PIPE 是Platform Independent Petri Net Editor的缩写,没有给下载地址因为Petri Nets World上没有。而我是从西北大学一位研究生处得到的,当我问起他们一般使用什么Petri网模拟软件时,他只说了PIPE,可见它还是很有影响力的。
下载到JRE,并设置好PATH后运行PIPE软件包中的pipe.bat(Windows下,Linux下的启动程序是pipe.sh)文件就可以打开操作界面了(见图) 。
可见其界面也很直观易懂,且采用分页结构。
另外我想提出的一点说明是:在PIPE所建模型的库所属性框里可是有“Capacity”一栏的哦!这是我看到的第一个设置了库所容量的成熟软件。
说了这么多,最后想说一点:Petri网模拟软件其实还有很多很多,只要是不要钱的大家都可以拿来下着玩玩,弄不好就被你发现点什么玄机了,呵呵。如果觉得这些软件的操作你不熟悉,拿着不知道怎么用,最有效也是最直接的办法是:看帮助文档或者说用户手册!
常用Petri网模拟软件工具简介的更多相关文章
- 《转》常用Petri网模拟软件工具简介
本文转载自liusj2003,如给您带来不便之处,请联系博主. 首先要介绍的的一个非常有名的Petri 网网站--Petri Nets World: http://www.informatik.uni ...
- petri网学习心得
本文转载自duxw,如给您带来不便之处,请联系博主. 1.Petri网书籍:<petri网导论>,吴哲辉 非常适合初学者.概念清晰,容易理解. 2.工作流书籍:<Workflow M ...
- APP网络测试要点和弱网模拟
当前APP网络环境比较复杂,网络制式有2G.3G.4G网络,还有越来越多的公共Wi-Fi.不同的网络环境和网络制式的差异,都会对用户使用app造成一定影响.另外,当前app使用场景多变,如进地铁.上公 ...
- 用于并发系统建模和验证的着色Petri网及其工具软件的CPN Tools(笔记整理)
1.着色Petri网(CPNS)是一种建模和验证系统的语言,在这些熊中并发性,交互性和同步性扮演着主要的角色,着色Petri网是一种功能编程语言Standard ML结合起来的离散时间建模语言,Pet ...
- 基于Petri网的工作流分析和移植
基于Petri网的工作流分析和移植 一.前言 在实际应用场景,包括PEC的订单流程从下订单到订单派送一直到订单完成都是按照一系列预先规定好的工作流策略进行的. 通常情况下如果是采用面向过程的编程方法, ...
- Petri网
Petri网是一种适合于系统描述和分析的数学模型,主要描述异步和并发关系.(或者Petri网是对离散并行系统的数学表示,适用于描述异步的,并发的计算机系统模型.) Petri网模型自然,直观,简单易懂 ...
- petri网初步
历史:Petri网的概念是德国的Carl Adam Petri早在1962年提出来的.他在他的论文里提出了一个新的信息流模型,这个模型基于系统各部分的异步并发的操作,并把各部分之间的关系用网状的图来描 ...
- Petri网的工具
需要寻找 Petri 网的工具的朋友可以在 http://www.informatik.uni-hamburg.de/TGI/PetriNets/tools/complete_db.html 里面找一 ...
- Knockout.Js官网学习(简介)
前言 最近一段时间在网上经常看到关于Knockout.js文章,于是自己就到官网看了下,不过是英文的,自己果断搞不来,借用google翻译了一下.然后刚刚发现在建立asp.net mvc4.0的应用程 ...
随机推荐
- Cookie&Seesion会话 共享数据 工作流程 持久化 Servlet三个作用域 会话机制
Day37 Cookie&Seesion会话 1.1.1 什么是cookie 当用户通过浏览器访问Web服务器时,服务器会给客户端发送一些信息,这些信息都保存在Cookie中.这样,当该浏览器 ...
- SQL Server 2016 非域Aways On环境搭建
一.优点 aways on的优点,a. 构建主从数据库,分摊单点数据库压力.b.可以减少数据同步时间,提升用户体验.c.可以实现高可用,自动平滑切换. 二.缺点 及时同步最多只能提交3台,及时同步会导 ...
- 论文笔记--PCN:Real-Time Rotation-Invariant Face Detection with Progressive Calibration Networks
关键词:rotation-invariant face detection, rotation-in-plane, coarse-to-fine 核心概括:该篇文章为中科院计算所智能信息处理重点实验室 ...
- C实战:项目构建Make,Automake,CMake
C实战:项目构建Make,Automake,CMake 在本系列文章<C实战:强大的程序调试工具GDB>中我们简要学习了流行的调试工具GDB的使用方法.本文继续"C实战" ...
- Android简易实战教程--第四十九话《满屏拖动的控件》
今天做个有意思的效果吧,控件的拖拽,简单实用,逻辑清晰点3分钟看完. 说的很高大上,其实就是拖动Button按钮跟着鼠标位置满手机屏幕跑罢了. 直接上简单的代码吧: public class Main ...
- 安卓高级8 SurfaceView案例二 自定义相机
效果:(由于不好录屏所以文字描述) 定一个SurfaceView 下方有几个按钮,点击确定可以拍照保存取消. 并且SurfaceView实时显示相机内容 package qianfeng.com.cu ...
- java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener问题解决
今天搭建SSH项目的时候出现了如下错误: 严重: Error configuring application listener of class org.springframework.web.con ...
- Swift中关于任意类型的数组
在Objc中你是不可以把一个非对象类型放入数组的,你必须将其"封箱",然后再放入数组. 在Swift中你可将非对象类型轻松放入数组: let ary = [1,2,3] 你可以明确 ...
- Oracle EBS各个模块日志收集的方法
MSCA(Mobile Supply Chain Application)日志的收集 Reference Note:338291.1 - Howto Enable WMS / MSCA Logging ...
- 如何将dtb反编译成dts
点击打开链接 由于device tree会将一个node的信息分布在各个文件里,查看起来很不方便,比如如下例子,ldb在三个文件中都有配置: imx6qdl-sabresd.dtsi: [plain] ...