一直想把之前看有关CPN的文献资料做一个综合性的整理,所以最近花了些时间,把乌克兰敖德萨国家电信科学院交通运输部学院的讲义做一个翻译。本课程的翻译不具授权(如有侵权请及时联系,做删除处理)

本课程的标题是 《使用CPN Tools模拟电信系统》用于学生课堂信息系统数学建模,用于教授硕士课程

本课程介绍了仿真系统CPN Tools的功能,该系统是丹麦奥胡斯大学开发的软件,并使用在信息系统数据建模课程中用于电信系统和网络的建模,本课程中我们选择的案例是交换式以太网模型的示例。本课程的翻译中的的案例部分我不再重复试验。最后会上传部分自己试验的代码,仅供大家参考使用。

本课程内容结构(因为分章节戳连接比较繁琐,所以后续的所有直接放在对应标题下面)

结构

1CPN tools实现层次网络

CPN Tools是使用Petri网语言的特殊仿真系统用于模型的表示。 该系统是在美国奥尔胡斯大学开发的丹麦,并通过网络为非商业组织免费分发网站http://www.daimi.au.dk/CPNTools/。 服务水平允许分类CPN Tools作为企业系统。 它被用于许多现实生活中的项目特别是在电信领域。 最近诺基亚公司正在申请CPN工具,用于模型驱动的新一代手机开发。

CPN Tools 提出了一种强大的层次Petri网结构的模型描述,根据标准分类,此类网络结构命名为层次定时网络,事实证明他们等同于图形结构的算法系统,因此抽闲对象指定任意的层次网络。

简单的颜色Petri网使用不同的token值。token值的类型通过自然数表示一种颜色集,比方1:red  2:blue, 3-green等,颜色Petri更加的复杂,因为此类结构中的token被描述成一个抽象的数据类型在编程语言中。术语“colored”任然保存之前的意思,但是完全不同“colors”体现的意思。

时间戳的Petri网使用时间的概念模型来表达执行中的实时对象,尽管在经典的petri网中,变迁点火之后立即发生,但是在定时网络中存在确定的持续时间或者确定的延迟。这样可以分析具有时间属性的复杂模型。在这样的网络结构中,一个元素可以由另一个网络表示,在CPN tools 中,可以使用替代变迁。所以存在嵌套的结构,这其中对层次结构的数量没有严格的限制。

1.1Petri网图和CPN ML语言

1.2 例子(1)

例子(2)

例子(3)

2、CPN Tools最基本的功能和目的

最近博客上很多网友一直在重复问我一个 在建模中遇到的token 值无法设置的问题,大家可以在我的博客中找找,之前写过这个。今天在这里补充一下。

比方下面的一个简单的逻辑的CPN 图,  我们看到在send变迁中我们定义了一个复合类型的toke值     Client_Session_id和  id=1. 复合类型的token值 要放在括号里面 ,设定这个token只发送一次。所以前面的   ·点之前是 1。 这里注意这个符号 ,我下面特意找了键盘图标了出来。

申明颜色集是哟个的关键字是   colset  ,定义变量使用的关键字是 var ;比方上面简单的逻辑关系的CPN图中 。我们定义了  NO 颜色 是 INT类型(也就是类似数据类型 整型), DATA 颜色集是STRING类型(也就是类似数据类型为字符串类型),  而我们定义变量主要是用在狐上用来表示传输的数据类型,上面途中 p这个变量表示传输的数据 为DATA,   n 表示传输的数据了行为NO ,复合颜色的定义分成很多,这里后面我再有时间更新。

2.1 CPN Tools工具的目的

2.2 CPN Tools最基本的功能

3、CPN Tools的界面组织结构

3.1 主窗口区域

3.2 工具工作区

3.3 上下文菜单

3.4 模型结构

3.5 帮助系统组织

3.6 CPN Tools工具反馈

4、CPN Tools工具箱

4.1 网络工具

4.2 创建工具

4.3 模拟工具

4.4其他工具概述

5、基本的CPN ML语言

5.1 简单颜色集

5.2 复合颜色集

5.3 变量的声明和常量

5.4 函数

5.5 随机数

5.6 多集

5.7 时间戳

6、模型语言描述

6.1 库所描述

6.3 弧描述

6.4 变迁描述

7、CPN Tools定时网络的特点

8、处理网络碎片

9、融合库所

10、层次网络结构

10.1 基本的替代变迁

10.2 从下到上的建模

10.3从上到下的建模

11、分析一个CPN-net 网络的实验数据

11.1 调试模型的问题

11.2状态空间分析

11.3 模拟网络模型行为

11.4 碎片测量

12、CPN Tools的附加功能

12.1 联合颜色集

12.1 列表颜色集

附录: 基于交换式局域网有色Petri网模型网络响应评估模型

代码部分我上传到了Git上,仅供参考

CPN Tools 系统建模分析工具(持续更新)的更多相关文章

  1. Analysis Tools(分析工具)

    分析工具 1.叠加分析 # Process: 交集取反 arcpy.SymDiff_analysis("", "", 输出要素类, "ALL" ...

  2. PowerTool x64驱动模块逆向分析(持续更新)

    比赛打完了,来继续搞了,因为那个主动防御正在写,所以想找找思路正好想到可以来逆向一下PT的驱动模块看看pt大大是怎么写的程序. PT x64版本的驱动模块是这个kEvP64.sys. 0x0 先来看看 ...

  3. android 开发中用到的工具-持续更新(码农必看)

    1. vim 单文件查看改动利器(一直使用支持各种编码各种文件,各种插件),欢迎下载笔者插件 git clone https://github.com/green130181/vim-conf.git ...

  4. Android运行异常情况分析(持续更新)

    1.java.lang.IllegalAccessException: access to class not allowed 原因:在写class 文件的时候没有把class设置成public 2. ...

  5. django项目实际工作中的配置以及一些有用的小工具(持续更新)

    常用pycharm快捷键:   https://www.cnblogs.com/luolizhi/p/5610123.html   Ctrl + F1  显示错误 Ctrl + Alt + Space ...

  6. android系统源码编译报错问题分析处理--持续更新

    一.build/make/core/base_rules.mk:232: error: packages/services/Car/service: LOCAL_BUILT_MODULE and LO ...

  7. 快来用这款BI分析工具,摆脱数据分析的困扰

    ​互联网.物联网时代,数据激增是正常现象,但这给公司信息部门和数据分析师带来了巨大的工作量.根据以前的分析方法,有必要详细而深入地完成分析报告,即使借助数据分析工具,也要花费大量的时间和人力,更不用说 ...

  8. Eclipse插件(导出UML图,打开文件资源管理器插件,静态代码分析工具PMD,在eclipse上安装插件)

    目录 能够导出UML图的Eclipse插件 打开文件资源管理器插件 Java静态代码分析工具PMD 如何在eclipse上安装插件 JProfiler性能分析工具 从更新站点安装EclEmma 能够导 ...

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

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

  10. 干货!IT小伙伴们实用的网站及工具大集合!持续更新!

    1.Git 还在担心自己辛辛苦苦写的代码被误删了吗?还在担心自己改错了代码不能挽回吗?还在苦恼于多人开发合作找不到一个好的工具吗?那么用Git就对 了,Git是一个开源的分布式版本控制系统,用以有效. ...

随机推荐

  1. 自定义httpServletRequestWrapper导致上传文件请求参数丢失

    问题背景 项目是 SpringBoot 单体式,在项目中,为了实现调用 controller 请求的日志记录功能.因此做了以下配置: 创建自定义拦截器 LogInterceptor; 因为需要使用到流 ...

  2. 如何在 Linux 上使用 NPOI

    由于 NPOI 使用 System.Drawing.Common,因此在 Linux 系统上必须安装 libgdiplus 和 libc6. Ubuntu 16.04+ apt-get install ...

  3. MetaGPT( The Multi-Agent Framework):颠覆AI开发的革命性多智能体元编程框架

    "MetaGPT( The Multi-Agent Framework):颠覆AI开发的革命性多智能体元编程框架" 一个多智能体元编程框架,给定一行需求,它可以返回产品文档.架构设 ...

  4. 5.1 Windows驱动开发:判断驱动加载状态

    在驱动开发中我们有时需要得到驱动自身是否被加载成功的状态,这个功能看似没啥用实际上在某些特殊场景中还是需要的,如下代码实现了判断当前驱动是否加载成功,如果加载成功, 则输出该驱动的详细路径信息. 该功 ...

  5. 2.6 CE修改器:代码注入功能

    从本关开始,各位会初步接触到CE的反汇编功能,这也是CE最强大的功能之一.在第6关的时候我们说到指针的找法,用基址定位动态地址.但这一关不用指针也可以进行修改,即使对方是动态地址,且功能更加强大.代码 ...

  6. 从嘉手札<2023-12-09>

    大雪时节 有种风雪欲来的静谧 如同飘摇的浮舟 人们常说上岸 可对于常年生活在水里的鱼儿来说 哪里是岸边呢 我不知道未来 但唯一可以确定的是 无论你过的怎么样 你都需要给自己一个交待 哪怕风雪兼程 哪怕 ...

  7. SpringCloud-01-Eureka Ribbon

    1.微服务技术 2.SpringCloud SpringCloud是目前国内使用最广泛的微服务框架.官网地址:https://spring.io/projects/spring-cloud. Spri ...

  8. Java方法重载浅谈

    Java方法重载浅谈 目录: 方法重载的定义 方法重载的满足条件 方法重载的传递 基本类型 引入类型 方法重载的好处 方法重载的定义以及满足条件: 定义: 方法重载指同一类中定义多个方法之间的联系: ...

  9. Linux(Centos7)升级MySQL 5.7到8.0.31

    一.下载MySQL安装包 下载地址:https://downloads.mysql.com/archives/community/ 二.备份 mkdir /home/mysqlback mysqldu ...

  10. Java容器及其常用方法汇总

    1 概述 Java Collections 框架中包含了大量的接口及其实现类和操作它们的算法,主要包括列表(List).集合(Set).映射(Map),如下: 接口 实现类 数据结构 初始容量 加载因 ...