【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

到此第一章完结撒花~~

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电能表预付费系统-标准传输规范(STS)(13)

6.3 Token data elements 令牌数据元素 6.3.1 Data elements used in tokens 使用在令牌上的数据元素 The data elements given in Table 1 3 are used in tokens in various combinations and are all encoded in binary format. 表13中给出的数据元素以各种组合用于令牌中&…

DISTINCT 去重

1. 单字段去重 以表 student_course 和 表 student 链接为例: SELECT * FROM student_course a INNER JOIN student b ON a.student_idb.id;查询结果如下图: 上图查询结果中,若只需要学生信息,则需要对结果进行去重:…

从零开始学PHP之helloworld

前言 每一门编程语言的第一个程序就是输出hell world(别杠,杠就是你对) 开始 上一篇讲完了开发环境的安装,这次讲编辑器的安装,顺带完成上一篇的作业(输出hello world) 安装PHPstorm 我用的…

分布式介绍

CAP理论 CAP理论是分布式架构中提出来的一种设计思想模型,全称是由Consistency、Availability、Partition Tolerance三个词组成。 C(Consistency,一致性):总能读到最新的写操作的结果A(Availability,可用性):每个请求都要在合理的时间内给出…

如何将本地 Node.js 服务部署到宝塔面板:完整的部署指南

文章简介: 将本地开发的 Node.js 项目部署到线上服务器是开发者常见的工作流程之一。在这篇文章中,我将详细介绍如何将本地的 Node.js 服务通过宝塔面板(BT 面板)上线。宝塔面板是一个强大的服务器管理工具,具有简洁的…

使用 Go 语言实现 WebSocket的核心逻辑

文章目录 WebSocket 简介时序图核心逻辑Client 结构与功能创建新客户端消息读取逻辑 (ReadPump)发送消息逻辑 (Send)客户端管理器 (ClientManager)WebSocket 处理器处理心跳与长连接 总结 本文将基于 Go 语言,通过使用 gorilla/websocket 库来实现一个简单的聊天应用…

教电脑“看”图片

教电脑“看”图片 计算机视觉简介 上一篇:《自己DIY首个人工智能模型》 序言:人是如何“看”图片的?人类感知周围世界,主要依赖看、听、闻、触这些感官,而“看”是最普遍和直观的方式。计算机视觉,就是对…

前端html,css 样式巩固1

想做这样 一个效果 点击图片切换 当前的选中图片 我们使用 原生的js html 来开发这个 直接粘贴代码 相信大家 都能看懂的 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" …

力扣动态规划基础版(斐波那契类型)

70. 爬楼梯https://leetcode.cn/problems/climbing-stairs/ 70.爬楼梯 方法一 动态规划 考虑转移方程和边界条件&#xff1a; f&#xff08;x&#xff09; f&#xff08;x -1&#xff09; f&#xff08;x - 2&#xff09;;f&#xff08;1&#xff09; 1&#xff1b;f&…

CNN-BiLSTM回归预测 | MATLAB实现CNN-BiLSTM卷积双向长短期记忆神经网络多输入单输出回归预测

回归预测 | MATLAB实现CNN-BiLSTM(卷积双向长短期记忆神经网络)多输入单输出 目录 回归预测 | MATLAB实现CNN-BiLSTM(卷积双向长短期记忆神经网络)多输入单输出效果一览基本介绍程序设计学习总结参考资料效果一览 基本介绍 提出一种同时考虑时间与空间因素的卷积-双向长短期记…

UART协议

文章目录 UART 协议主要特点UART控制器组成部分工作流程 UART寄存器(fs4412)输入输出重定向 UART 协议 UART&#xff08;Universal Asynchronous Receiver/Transmitter&#xff0c;通用异步收发传输器&#xff09;是一种串行通信协议&#xff0c;用于在计算机或外设之间进行数…

java集合进阶篇-《Collection集合》

个人主页→VON 收录专栏→java从入门到起飞 目录 一、前言 二、Collection集合简要概述 Collection的主要实现 Collection的方法 迭代器&#xff08;Iterator&#xff09; 三、单列集合顶层接口Collection CollectionDemo01 CollectionDemo02 CollectionDemo03 Collec…

问题记录:matlab中spatial contact force模块下关于stiffness(刚度)的设定

最近在搞一阶倒立摆&#xff0c;在matlab仿真时遇到这样的问题&#xff1a;stiffness设置为10e5就会发生碰撞后穿透&#xff0c;&#xff08;四个spatial contact force模块是分别连接小车四个轮子和地面的&#xff09; 而设置成10e6就不会有问题&#xff0c; 由于本人也是第一…

微信小程序上传组件封装uploadHelper2.0使用整理

一、uploadHelper2.0使用步骤说明 uploadHelper.js ---上传代码封装库 cos-wx-sdk-v5.min.js---腾讯云&#xff0c;对象存储封装库 第一步&#xff0c;下载组件代码&#xff0c;放置到自己的小程序项目中 第二步、 创建上传对象&#xff0c;执行选择图片/视频 var _this th…

【H2O2|全栈】关于CSS(14)如何完成常规的页面布局

目录 基本布局方式 前言 准备工作 管理系统界面 APP界面 区域内的滚动条 结束语 基本布局方式 前言 通过上一次学习如何让页面适应任意屏幕的学习&#xff0c;我们就可以开始学习如何用代码“画”出基本的框架了。本期主要分享如何绘制基本的PC端管理系统和移动端APP的…

新颖的 setTimeout() 替代方案

在前端开发中&#xff0c;长时间运行的JavaScript任务一直是一个棘手的问题。它们会导致页面无响应&#xff0c;影响用户体验。传统上&#xff0c;开发者使用setTimeout()来分割长任务&#xff0c;但这种方法存在明显的缺陷。最近&#xff0c;Chrome 129引入了一种新的、更高效…

机器学习面试笔试知识点-线性回归、逻辑回归(Logistics Regression)和支持向量机(SVM)

机器学习面试笔试知识点-线性回归、逻辑回归Logistics Regression和支持向量机SVM 一、线性回归1.线性回归的假设函数2.线性回归的损失函数(Loss Function)两者区别3.简述岭回归与Lasso回归以及使用场景4.什么场景下用L1、L2正则化5.什么是ElasticNet回归6.ElasticNet回归的使…

视频云存储/音视频流媒体视频平台EasyCVR视频汇聚平台在欧拉系统中启动失败是什么原因?

视频监控/视频集中存储/磁盘阵列EasyCVR视频汇聚平台具备强大的拓展性和灵活性&#xff0c;支持多种视频流的外部分发&#xff0c;如RTMP、RTSP、HTTP-FLV、WebSocket-FLV、HLS、WebRTC、fmp4等&#xff0c;这为其在各种复杂环境下的部署提供了便利。 安防监控EasyCVR视频汇聚平…

分布式数据库安全可靠测评名录之平凯数据库(TiDB企业版)

作者&#xff1a; 数据源的TiDB学习之路 原文来源&#xff1a; https://tidb.net/blog/d052ee0b 2024 年 9 月 30 日&#xff0c;中国信息安全测评中心公布安全可靠测评结果公告&#xff08;2024年第2号&#xff09;&#xff0c;其中包含 6 款集中式数据库和 11 款分布式数据…

鸿蒙网络编程系列30-断点续传下载文件示例

1. 断点续传简介 在文件的下载中&#xff0c;特别是大文件的下载中&#xff0c;可能会出现各种原因导致的下载暂停情况&#xff0c;如果不做特殊处理&#xff0c;下次还需要从头开始下载&#xff0c;既浪费了时间&#xff0c;又浪费了流量。不过&#xff0c;HTTP协议通过Range…