常用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网模拟软件工具简介的更多相关文章

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

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

  2. petri网学习心得

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

  3. APP网络测试要点和弱网模拟

    当前APP网络环境比较复杂,网络制式有2G.3G.4G网络,还有越来越多的公共Wi-Fi.不同的网络环境和网络制式的差异,都会对用户使用app造成一定影响.另外,当前app使用场景多变,如进地铁.上公 ...

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

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

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

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

  6. Petri网

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

  7. petri网初步

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

  8. Petri网的工具

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

  9. Knockout.Js官网学习(简介)

    前言 最近一段时间在网上经常看到关于Knockout.js文章,于是自己就到官网看了下,不过是英文的,自己果断搞不来,借用google翻译了一下.然后刚刚发现在建立asp.net mvc4.0的应用程 ...

随机推荐

  1. python基础学习(一)

    python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum),诞生时间1989年圣诞 一.变量的命令规则 1.变量只能由大小写字母.数字和下划线三部分组成,并且不能以数字 ...

  2. Android开发技巧——Camera拍照功能

    本篇是我对开发项目的拍照功能过程中,对Camera拍照使用的总结.由于camera2是在api level 21(5.0.1)才引入的,而Camera到6.0仍可使用,所以暂未考虑camera2. 文 ...

  3. android MultiDex multidex原理原理下遇见的N个深坑(二)

    android MultiDex 原理下遇见的N个深坑(二) 这是在一个论坛看到的问题,其实你不知道MultiDex到底有多坑. 不了解的可以先看上篇文章:android MultiDex multi ...

  4. 独立开发一个云(PaaS)的核心要素, Go, Go, Go!!!

    最近一年的工作,有很大的比重在做云平台的事情,简单来说,就是为公司内用户提供一个PaaS,用户可以在我们的云平台上方便的将单机服务程序扩展为多实例程序,以平台服务化的方式对外提供.在这里简单分享一下. ...

  5. setting.py

    """ Django settings for sitea project. For more information on this file, see https:/ ...

  6. Android倒计时器——CountDownTimer

    Android倒计时器--CountDownTimer 说明 第一个参数是倒计时的时间 第二个参数是多长时间执行一次回调 /** * @param millisInFuture The number ...

  7. Android必知必会-长按返回健退出

    背景 平常比较常见的都是一定时间间隔内按两次返回键来退出应用,并且第一次点击会有相应的提示,网上资料比较多,这里写一下,长按返回键退出. 实现 实现的方案常用的有两个: 重写dispatchKeyEv ...

  8. Java进阶(四十三)线程与进程的区别

    Java进阶(四十三)线程与进程的区别 1.线程的基本概念   概念:线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必 ...

  9. 关于ROS学习的一些反思

    距离发布上一篇ROS的博客已经过去两年了,才发现原来自己已经这么久可没有写过关于ROS的文章,想来很是惭愧.这两年时间,自己怀着程序员的梦想,研究过RTOS,探索过Linux,编写过Android应用 ...

  10. 利用CocoaHTTPServer实现wifi局域网传输文件到iphone

    背景 近日在做一个代码阅读器,其中涉及到代码文件的上传,之前看到过许多app支持局域网传文件,因此就通过查询和研究实现了此功能,我是用的框架是CocoaHTTPServer. 原理 CocoaHTTP ...