【Petri网导论学习笔记】Petri网导论入门学习(八) —— 1.6 系统的Petri网模型

导航

      • 1.6 系统的Petri网模型
        • 例 1.6 化学反应
        • 例 1.7 进程的通信协议
        • 例 1.8 P/V操作
        • 例 1.9 临界段互斥问题
        • 例 1.10 生产者/消费者问题
        • 例 1.11 哲学家就餐问题

1.6 系统的Petri网模型

理论的目的在于应用,接下来是一些关于用Petri网标识离散事件系统的例子

这里就直接搬运书上的内容了,了解一下

例 1.6 化学反应

图 1.23 给出了一个含有 3 个库所 s 1 s_1 s1 s 2 s_2 s2 s 3 s_3 s3 和一个变迁 t t t 的加权 Petri 网,易知从图 1.23a) 的标识经过 t t t 的发生可以产生图 1.23b) 的标识。如果我们用库所 s 1 s_1 s1 s 2 s_2 s2 s 3 s_3 s3 中的标志分别表示氢分子、氧分子和水分子的个数,变迁 t t t 表示化合反应,那么变迁 t t t 的发生和这个网中标识的变化反映了

2 H 2 + 2 O 2 → 2 H 2 O + O 2 2H_2 + 2O_2 \rightarrow 2H_2O + O_2 2H2+2O22H2O+O2

的化学反应过程。

image-20241019163707567

例 1.7 进程的通信协议

图 1.24 是两个进程之间的通信协议的简化模型。进程 A A A 准备好的信息通过变迁 t 2 t_2 t2 的发生向进程 B B B 发送,先送到缓冲寄存器 s 4 s_4 s4。如果进程 B B B 做好接收信息的准备,便通过变迁 t 4 t_4 t4 的发生从 s 4 s_4 s4 中接收进程 A A A发送的信息,并通过变迁 t 5 t_5 t5 的发生向进程 A A A 发送应答,应答信息通过缓冲寄存器 s 5 s_5 s5 回送到进程 A A A。变迁 t 3 t_3 t3 是进程 A A A 接收应答的描述。当进程 A A A 发送信息(即 t 2 t_2 t2 发生)后,库所 s 3 s_3 s3 中有一个标志,表示进程 A A A 随时准备接收应答。以上过程可重复多次。

image-20241019163957735

例 1.8 P/V操作

P/V 操作是操作系统中的一种基本操作,它们是定义在信号量(semaphore)上的。信号量是一个非负整数量,一个 V 操作使信号量的值加 1,而一个 P 操作使信号量的值减 1。由于要求信号量的值为非负,所以只有当信号量的值为正时,P 操作才能进行。信号量的 P/V 操作可以用图 1.25 的 Petri 网模型表示,其中库所 s s s 中的标志数量是信号量 S S S 的值。

image-20241019164219077

例 1.9 临界段互斥问题

在多个进程共享一个数据项的情况下,各个进程对数据项的最基本操作是读和写。然而,一个进程读到数据项的值后,通过计算可能修改数据项的值,然后写回原处。这便是对数据项进行更新。在这种情况下,另一个进程是使用这个数据项的原值还是使用更新后的值,结果是不一样的。如果要使用更新后的值,就应设置临界段,要求一个进程使用共享的数据项期间,另一个进程不能读取这个数据项。这就是所谓进程的互斥问题。这样的一个系统可以用图 1.26 的 Petri 网模型来描述。图中 s 4 s_{4} s4表示共享的数据项。

image-20241019164436920

例 1.10 生产者/消费者问题

生产者/消费者系统属于另一类资源共享系统。生产者进程和消费者进程的共享资源是缓冲寄存器(buffer),不过缓冲寄存器对它们有不同的作用。生产者进程把生产出来的数据项存入缓冲寄存器,而消费者进程从缓冲寄存器中取走数据项,并消费它们。

消费者进程能够运行的条件是缓冲寄存器中含有未被消费的数据项。而生产者进程能够运行的条件是缓冲寄存器不溢出,因为缓冲寄存器的容量一般是有限制的。生产者/消费者系统的 Petri 网模型如图 1.27 所示。

image-20241019164512947

例 1.11 哲学家就餐问题

Dijkstra 提出的哲学家用餐问题是资源共享系统的一个通俗的典型例子。5个哲学家坐在一个圆桌旁,圆桌上摆满了中餐食品,每两个哲学家之间摆了一根筷子。一个哲学家要吃食品时,必须同时拿起他左边的和右边的筷子。这时坐在他旁边的两位哲学家就不可能有足够的筷子来吃食品,只能坐在那里思考问题。每位哲学家从“思考”状态进入“吃食品”状态的条件是在他左、右两边的两根筷子未被使用。图1.28 是这个问题的一个 Petri 网模型(引自参考文献[8])。这个模型已对问题进行了一定的处理:规定只有当一个哲学家身边的左右两根筷子都未被占用时,他才能拿起筷子(而且同时拿两根筷子)。这样才能避免这样一种情况:每位哲学家都拿起一根(譬如说右边的一根)筷子不放下,等待别人让步,而结果谁也吃不上。

比较复杂的建模问题,用高级Petri网建模

image-20241019164649327

到此第一章完结撒花~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/897449.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++ 游戏开发:从基础到进阶

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

【鸡翅Club】项目启动

一、项目背景 这是一个 C端的社区项目,有博客、交流,面试学习,练题等模块。 项目的背景主要是我们想要通过面试题的分类,难度,打标,来评估员工的技术能力。同时在我们公司招聘季的时候,极大的…

平衡相图在矿物加工中的广泛应用,含材料设计、性能预测等

平衡相图是描述在特定温度和压力下,不同相(如固体、液体、气体等)之间平衡关系的图表。在矿物加工领域,通过分析相图可以详细了解不同成分的矿物在特定温度和压力条件下的相变行为,从而设计出更高效的提取和分离方法&a…

EasyExcel自定义下拉注解的三种实现方式

文章目录 一、简介二、关键组件1、ExcelSelected注解2、ExcelDynamicSelect接口(仅用于方式二)3、ExcelSelectedResolve类4、SelectedSheetWriteHandler类 三、实际应用总结 一、简介 在使用EasyExcel设置下拉数据时,每次都要创建一个SheetWr…

文件误删并清空回收站:全面解析与高效恢复策略

一、文件误删并清空回收站的遭遇 在日常使用电脑或移动设备的过程中,我们难免会遇到一些令人懊恼的数据丢失问题,其中文件误删并清空回收站便是最为常见的一种。当你不小心删除了某个重要文件,并且随后又毫不留情地清空了回收站,…

flutter camera 插件相机不占满屏幕的问题

当 CameraPreview 超出屏幕范围时,可以通过以下几种方法来处理超出部分被裁剪的问题: 使用 FittedBox:FittedBox 可以自动调整子组件的大小和比例,使其适应父容器。使用 BoxFit 属性:在 FittedBox 中使用不同的 BoxFi…

Rust初踩坑

一、下载 到官网https://www.rust-lang.org/zh-CN/tools/install下载你需要的版本 二、安装 执行rustup-init 文件,选择1 按提示直到安装完成 可以通过以下命令测试: rustc -V # 注意的大写的 V cargo -V # 注意的大写的 V三、在VScode中…

python + mitmproxy 爬手机app (1)

起因, 目的: 想爬手机上某鱼。 mitmproxy 简介: 一句话: mitmproxy 就是中间人攻击. (只不过, 你安装,就代表你愿意承担风险。)源码:https://github.com/mitmproxy/mitmproxy文档: https://mitmproxy.org/ 安装过程: 见聊天记…

【Vue】Vue3.0(十五)Vue 3.0 中 hooks 的概念

🏡作者主页:点击! 🤖Vue专栏:点击! ⏰️创作时间:2024年10月22日21点50分 背景:在一些情况下,前台的组件是可以复用的,那这些复用的对象和数据,为…

cnn_lstm_kan模型创新实现股票预测

获取更多完整项目代码数据集,点此加入免费社区群 : 首页-置顶必看 1. 项目简介 A002-cnn_lstm_kan模型创新实现股票预测项目旨在通过结合卷积神经网络(CNN)、长短期记忆网络(LSTM)以及知识注意网络&#…

智和信通助力某大型服饰集团建设综合监控运维

某大型服饰集团成立于90年代,是广受认可的国民生活时尚品牌,近年来随着集团公司业务规模的不断扩大,信息化作为支撑集团公司业务发展的重要技术手段,信息系统无论在规模上还是在复杂程度上均有了很大程度的增加。 项目现状 当前信…

【嵌入式实时操作系统开发】智能家居入门4(FreeRTOS、MQTT服务器、MQTT协议、STM32、微信小程序)

前面已经发了智能家居入门的1、2、3了,在实际开发中一般都会使用到实时操作系统,这里就以FreeRTOS为例子,使用标准库。记录由裸机转到实时操作系统所遇到的问题以及总体流程。相较于裸机,系统实时性强了很多,小程序下发…

1 -《本地部署开源大模型》如何选择合适的硬件配置

如何选择合适的硬件配置 为了在本地有效部署和使用开源大模型,深入理解硬件与软件的需求至关重要。在硬件需求方面,关键是配置一台或多台高性能的个人计算机系统或租用配备了先进GPU的在线服务器,确保有足够的内存和存储空间来处理大数据和复…

Linux杀毒-KVRT

🚀目录 (一) 简介🚀(二) 下载地址😟方式一:访问官网下载方式二:wget下载 (三) 使用方式1.修改执行权限2.命令行下进行扫描动作全盘扫描扫描指定目录 可视化界面下进行扫描动作 (四)更多操作&…

使用Python抓取房源信息

1. 引言 在当今大数据时代,网络爬虫成为获取信息的重要手段之一。本文将以某家二手房为例,演示如何使用Python爬虫抓取房源信息,并将这些信息保存到Excel文件中。 目标网站 2. 准备工作 2.1 安装必要的库 在开始之前,请确保你…

QT日志库:log4Qt及Qt自带日志库使用

介绍 Log4Qt是使用Trolltech Qt Framework的Apache Software Foundation Log4j包的C 端口。它旨在供开源和商业Qt项目使用。所以 Log4Qt 是Apache Log4J 的Qt移植版,所以看Log4J的资料应该是最直接有效的(因为 Log4Qt的直接资料太少了)。 Log4Qt主要是用来记录日志(…

DCS项目调试踩坑记录

最近在调试一个DCS项目(集散控制系统),实际上就是一个新建厂区的控制系统。PLC用的是西门子1500,控制画面使用组态王7.5。 在调试过程中,发现给西门子DB块的变量转移到组态王太难了,因此记录一下&#xff0…

【IEEE独立出版 | 厦门大学主办】第四届人工智能、机器人和通信国际会议(ICAIRC 2024)

第四届人工智能、机器人和通信国际会议(ICAIRC 2024)定于2024年12月27-29日在中国厦门举行。会议旨在为从事“人工智能、机器人和通信”研究的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术,了解学术发展趋势&#xf…

TCRT5000红外循迹传感器指南

开始先发送红外线 当返回的红外线的信号量小于规定值时,D0输出0,反之输出1 黑色的物体吸收红外光比其他物体多,所以检测到黑色物体D0会输出0,可以以此来循迹 逆时针调节电位器可以使得规定值上升,需要接受更多信号才能输出1 顺…

【前端】如何制作一个自己的网页(15)

有关后代选择器的具体解释&#xff1a; 后代选择器 后代选择器使用时&#xff0c;需要以空格将多个选择器间隔开。 比如&#xff0c;这里p span&#xff0c;表示只设置p元素内&#xff0c;span元素的样式。 <style> /* 使用后代选择器设置样式 */ p span { …