当前位置: 首页 > news >正文

【CPN TOOLS建模学习】设置变迁的属性

使用Tab键在属性之间进行切换

与一个变迁相关联的四个铭文,均为可选项:

  • 变迁名称
  • 守卫(Guard)
  • 时间
  • 代码段

变迁延迟必须是一个正整数表达式。该表达式前面加上@+,这意味着时间铭文的形式为@+ delayexpr。在添加时间铭文之前,铭文的默认文本为@+。时间延迟始终相对于当前时间添加。例如,如果当前时间为10,而时间延迟为@+2,则发送到输出库所的令牌的时间戳将为12。缺失的时间铭文等同于零延迟。尽管弧的延迟存在,变迁的延迟仍适用于所有输出令牌。在只有一个输出弧的情况下也是如此。例如。
在这里插入图片描述
在这里插入图片描述
点击sim面板里的"执行一个变迁":
在这里插入图片描述
点击三次后,流程执行完如下图所示:
在这里插入图片描述
guard是一个CPN ML布尔表达式,其值为真或假。在添加guard之前,铭文的默认文本为[ ]。guard可以是单个布尔表达式,也可以是布尔表达式的列表[b-exp1, b-exp2, …, b-expn]。只有在guard为真时,变迁才会触发,而guard限制了输入令牌token的选择。例如:
在这里插入图片描述
在这里插入图片描述
执行完流程后:
在这里插入图片描述
此外,guard 允许通过将来自不同库所的令牌参数组合在表达式中进行比较。以下片段模拟了从以太网段提取帧的过程:

在这里插入图片描述

在这里插入图片描述
执行完:
根据变迁“get”的表达式“#1 f = addr”,只有某令牌“addr=2=f中的第一个属性”时,此令牌才能通过。
在这里插入图片描述

工作站的自身地址存储在库所“own”中。它只进行检查,因此使用了双向弧。

每个变迁可以附带一个代码段,其中包含ML代码。当其父变迁发生时,代码段将被执行。代码段可以使用CPN变量,并可以绑定位于输出弧上的、未在其他地方绑定的CPN变量。每个代码段可以包含:

• 输入模式(可选)
• 输出模式(可选)
• 代码动作(强制)

输入模式是一个CPN变量的元组,以关键字“input”开头。输入模式列出了可以在代码动作中使用的CPN变量。代码动作可以使用这些CPN变量的值,但不能更改它们。即使在声明节点中声明了同名的ML标识符,输入模式中列出的CPN变量也可以在代码动作中使用。如果省略输入子句,则意味着在代码动作中不能使用任何CPN变量。

输出模式是一个CPN变量的元组,以关键字“output”开头。输出模式列出了由于执行代码动作而需要更改的CPN变量。输出模式必须是一个CPN变量或没有重复的CPN变量元组。如果省略输出子句,则意味着没有计算任何CPN变量。

代码动作是一个以关键字“action”开头的ML表达式。代码动作不能包含任何颜色集、CPN变量或引用变量的声明。然而,它可以应用用户声明和预声明的常量、操作和函数。此外,可以通过let-in-end为局部使用定义新的函数和常量。代码动作作为一个局部声明在包含输入模式中指定的CPN变量的环境中执行。这保证了代码动作不能直接更改任何CPN变量,而只能更改它们的局部副本。当代码动作执行完毕后,其结果用于绑定输出模式中的CPN变量。当在包含输入模式变量的环境中评估代码动作时,必须生成与输出模式相同类型的结果。如果没有给出输出模式,则其类型被假定为unit。代码段用于对输入令牌进行更复杂的处理。令牌求和示例可以使用代码段表示为:

在这里插入图片描述

在这里插入图片描述

执行一次变迁:
在这里插入图片描述
执行两次:
在这里插入图片描述
执行完:
在这里插入图片描述

相关文章:

【CPN TOOLS建模学习】设置变迁的属性

使用Tab键在属性之间进行切换 与一个变迁相关联的四个铭文,均为可选项: 变迁名称守卫(Guard)时间代码段 变迁延迟必须是一个正整数表达式。该表达式前面加上,这意味着时间铭文的形式为 delayexpr。在添加时间铭文之前,铭文的默…...

一个简单的例子,说明Matrix类的妙用

在Android、前端或者别的平台的软件开发中,有时会遇到类似如下需求: 将某个图片显示到指定的区域;要求不改变图片本身的宽高比,进行缩放;要求最大限度的居中填充到显示区域。 以下示意图可以简单描绘该需求 以Androi…...

【C++】类和对象(四):析构函数

大家好,我是苏貝,本篇博客带大家了解C的析构函数,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 1. 概念2. 特性 1. 概念 通过前面构造函数的学习,我们知道一个对象是怎么来的…...

linux中各目录作用及介绍

目录 1 /usr 1 /usr /usr 是 Unix-like 操作系统中的一个重要目录之一,代表可共享的用户资源(User System Resources)或 Unix Software Resource(UNIX 软件资源)。 /usr 目录通常包含了系统的许多可共享资源&#xf…...

v4.7版本使用线下付款方式不给管理员发送新订单通知问题修复

在app/api/controller/v1/order/StoreOrderController.php文件中,将红框内的代码注释,加上绿框的代码即可修复 if ($this->services->setOrderTypePayOffline($order[order_id])) {event(NoticeListener, [$order, admin_pay_success_code]);retur…...

vue3中mitt和pinia的区别和主要用途,是否有可重合的部分?

在 Vue 中,Mitt 和 Pinia 是两个不同的工具,它们的主要用途和功能有所不同,但在某些方面也存在重合的部分。 区别 Mitt: Mitt 是一个简单而强大的事件总线库,用于在组件之间进行事件的发布和订阅。 它提供了一种简洁…...

飞书文档解除复制限制

解除飞书文档没有编辑器权限限制复制功能方法 方法一:使用插件 方法二: 通过调试工具删除所有的copy事件 使用插件 缺点: 只有markdown格式,如果需要其他格式需要再通过Typora等markdown编辑器转pdf,word等格式 安装插件 Cloud Do…...

vue3中ref和reactive的用法,区别和优缺点,以及使用场景

写在前头: reactive定义的数据只能修改里面的属性,不能将整个数据替换,实在要替换请使用 Object.assign(obj1, obj2);举个例子 这种写法无法直接改变obj1 let obj1 reactive({name: 猫,age: 2, });obj1 {name: 猪,age: 2, } 正确的写法…...

电脑技巧:Rufus——最佳USB启动盘制作工具指南

目录 一、功能强大,兼容性广泛 二、界面友好,操作简便 三、快速高效,高度可定制 四、安全可靠,社区活跃 在日常的电脑使用中,无论是为了安装操作系统、修复系统故障还是进行其他需要可引导媒体的任务,拥…...

vue的基本使用

简介 vue组件 三个部分组成:结构、样式、逻辑文本插值 类似于java的spel表达式属性绑定 綁定是单向绑定的,修改输入框无法改变原本的,只能读,不能写 <input :value="name" placeholder="Type your name"><script> export default {name: H…...

C#高级:利用 CancellationToken 实现方法超时控制,提升应用响应性

完整版&#xff1a; using System; using System.Threading; using System.Threading.Tasks;public class Program {public static async Task Main(){var cts new CancellationTokenSource();// 设置超时时间为10秒cts.CancelAfter(TimeSpan.FromSeconds(3));try{var resul…...

Java Lock LockSupport 总结

前言 相关系列 《Java & Lock & 目录》&#xff08;持续更新&#xff09;《Java & Lock & LockSupport & 源码》&#xff08;学习过程/多有漏误/仅作参考/不再更新&#xff09;《Java & Lock & LockSupport & 总结》&#xff08;学习总结/最新…...

线性表之链式存储基本操作(c语言实现,附解析)

今天&#xff0c;我来讲一下数据结构链表的基本操作&#xff0c;首先我们要知道链表的基本操作有创建&#xff0c;查找&#xff0c;插入&#xff0c;删除。接下来我们逐一实现操作。 结构体定义 typedef struct Node* List; struct Node{ ElementType Data; List next; };文章…...

27.Redis哨兵架构

Redis哨兵高可用架构 Sentinel&#xff08;哨兵&#xff09;是一种特殊的 Redis 服务&#xff0c;其主要功能并非提供常规的读写服务&#xff0c;而是专门用于监控 Redis 实例节点。 1.在哨兵架构下&#xff0c;客户端&#xff08;client 端&#xff09;首次会从哨兵处找出 Re…...

BGP路由优选

BGP 的路由优选规则是一套多步决策链&#xff0c;用来确定在多个可行路由中选择最优的路由。BGP 是一种路径向量协议&#xff0c;通过这些优选规则&#xff0c;网络管理员可以控制数据流量的流向&#xff0c;确保网络的稳定性和效率。下面以一个实例来详细说明 BGP 的优选规则及…...

cjson内存泄漏问题注意事项

(1)使用root cJSON_Parse(text); //将字符串转成json格式&#xff0c;函数中申请了一块内存给root 所以在最后要释放root cJSON_Delete(root ); //释放cJSON_Parse()分配出来的内存空间 (2)使用out cJSON_Print(root);&#xff08;含有cJSON_PrintUnformatted函数&#x…...

雷军救WPS“三次”,WPS注入新生力量,不再“抄袭”微软

救WPS“三次” 1989年&#xff0c;求伯君用128万行代码编写出了WPS1.0&#xff0c;宣告了中国自主办公时代的开启。 那时候&#xff0c;雷军还在武汉大学深造&#xff0c;他早就把求伯君当成了自己的榜样&#xff0c;这一来二去的&#xff0c;雷军和WPS之间也就结下了不解之缘…...

zookeeper全系列学习之分布式锁实现

文章目录 前言一、分布式锁的通用实现思路二、ZK实现分布式锁的思路三、ZK实现分布式锁的编码实现1、核心工具类实现2、测试代码编写线程安全问题复现使用上面封装的ZkLockHelper实现的分布式锁 优点缺点 总结 前言 就像上篇文章zookeeper全系列学习之统一配置获取说的&#x…...

耐用的内衣洗衣机有哪些?双11好用内衣洗衣机品牌排行榜

现代社会高速发展&#xff0c;人们对于生活品质的追求不断提高&#xff0c;内衣作为贴身衣物&#xff0c;其清洁程度直接关系到个人卫生和健康。因此&#xff0c;耐用且高效的内衣洗衣机成为了许多家庭的必需品。在双11购物节期间&#xff0c;众多品牌推出了各种优惠活动&#…...

富格林:曝光可信经验击败陷阱

富格林认为&#xff0c;现货黄金投资是一项收益与风险并存的交易活动。在现货黄金中&#xff0c;时常为投资者曝光总结一些可信的交易经验&#xff0c;能在必要时帮助投资者击败陷阱&#xff0c;同时也会获得较高概率的收益。如今的投资经验和策略是非常多的&#xff0c;以下是…...

XClaw Skill:AI Agent的社交网络与技能市场接入实战指南

1. 项目概述&#xff1a;XClaw Skill&#xff0c;AI Agent的“社交网络”与“技能市场”通行证如果你正在开发或使用AI Agent&#xff0c;并且希望它不再是一个信息孤岛&#xff0c;而是能与其他Agent交流、协作、甚至通过自己的“手艺”赚取收益&#xff0c;那么XClaw.network…...

构建可复用技能库:从代码片段到自动化工作流的工程实践

1. 项目概述&#xff1a;从零构建一套可复用的“副爪”技能库在技术社区里&#xff0c;我们常常会看到一些零散的代码片段、脚本工具或者临时的解决方案&#xff0c;它们像散落的“爪子”一样&#xff0c;能解决特定问题&#xff0c;但不成体系&#xff0c;难以复用和传承。我自…...

5分钟彻底解决Windows软件DLL缺失问题:VisualCppRedist AIO完整修复方案

5分钟彻底解决Windows软件DLL缺失问题&#xff1a;VisualCppRedist AIO完整修复方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过新安装的软…...

LSLib:让《神界原罪》和《博德之门3》MOD制作变得高效完整的实用指南

LSLib&#xff1a;让《神界原罪》和《博德之门3》MOD制作变得高效完整的实用指南 【免费下载链接】lslib Tools for manipulating Divinity Original Sin and Baldurs Gate 3 files 项目地址: https://gitcode.com/gh_mirrors/ls/lslib 你是否曾想为《神界原罪》或《博德…...

uni-app iOS后台运行 uni-app App如何实现后台定位或音乐播放

iOS上uni.startBackgroundTask基本无效&#xff0c;仅音频播放、定位更新、后台数据刷新三类能力合规&#xff1b;后台定位需manifest声明原生权限地理围栏事件&#xff1b;无声音频保活须onLaunch配置AudioSession并延迟播放。uni.startBackgroundTask 在 iOS 上基本无效&…...

Spring Boot项目整合阿里云OSS上传,如何避免Nginx代理下的405坑?

Spring Boot整合阿里云OSS上传的Nginx避坑指南&#xff1a;彻底解决405错误 在前后端分离架构中&#xff0c;文件上传功能几乎是每个Web应用的标配。当我们将Spring Boot与阿里云OSS结合使用时&#xff0c;Nginx作为反向代理常常会带来一个棘手的405 Method Not Allowed错误。这…...

后端开发必看:设计高并发系统时,如何估算你的RTT和时延带宽积?

高并发系统设计实战&#xff1a;从RTT到时延带宽积的性能优化指南 在分布式系统的世界里&#xff0c;网络性能指标往往成为制约整体吞吐量的隐形瓶颈。我曾亲眼见证过一个日活百万的社交平台&#xff0c;因为微服务间调用的RTT估算偏差&#xff0c;导致高峰期请求堆积如山的惨状…...

STM32F103C8T6驱动5V LCD1602,开漏输出+上拉电阻的硬件连接与代码避坑指南

STM32F103C8T6驱动5V LCD1602的硬件设计与代码实战指南 当3.3V的STM32遇到5V供电的LCD1602模块时&#xff0c;电平不匹配问题常常让初学者头疼不已。本文将深入解析开漏输出配合上拉电阻的解决方案&#xff0c;通过硬件原理分析、示波器实测对比和完整代码示例&#xff0c;带你…...

cpdown:精准下载Git仓库文件,告别克隆整个项目的低效操作

1. 项目概述与核心价值最近在整理本地开发环境&#xff0c;发现一个高频痛点&#xff1a;从各种代码托管平台&#xff08;比如 GitHub、GitLab、Gitee&#xff09;下载单个文件或特定目录时&#xff0c;总是特别麻烦。要么得克隆整个仓库&#xff0c;动辄几百兆&#xff0c;浪费…...

你的oh-my-zsh插件列表还缺它吗?深度体验autojump:不止是目录跳转

深度探索autojump&#xff1a;oh-my-zsh终端导航的智能记忆系统 终端操作效率一直是开发者关注的焦点。当你的命令行环境从基础功能升级到oh-my-zsh这样的强大框架后&#xff0c;如何进一步挖掘工具潜力成为提升工作流的关键。在众多效率插件中&#xff0c;autojump以其独特的&…...