问题标签 [petri-net]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4314 浏览

workflow - 理论上的 petri 网和 BPMN 工作流之间究竟有什么区别?

有理论上的 petri 网: http ://en.wikipedia.org/wiki/Petri_net

然后是表示为 BPMN 2.0 的工作流。

究竟有什么区别?我问的原因是我们想要简化以 BPMN 建模的业务流程(普通人不会关心/使用它),并使其更加“一维”,以便在智能手机上使用(如清单),并增加大量额外功能与清单中其他步骤的基于图形的挂钩。我们的企业名为 Tallyfy - https://tallyfy.com

此外——我们想看看我们是否可以使用 petri 网作为在我们的应用程序中执行流程的更严格的方式

0 投票
2 回答
981 浏览

uml - 是否有同时具有状态和活动的标准图表类型?

我知道 UML 活动图描述了一种算法,因此从某种意义上说,它是流程图的现代版本,而 UML 状态图显示了对象或系统可以找到的所有可能(或有趣)状态,并显示了所有这些状态之间可能的转换。

我也理解它们是正交模型:在状态图中连接两个状态的箭头代表一个算法,或者一个活动图;活动图的两个活动之间的一些(如果不是全部)箭头表示对象在连续动作之间发现的状态。

是否有标准图表类型(UML 或其他传统)为动作(算法步骤,包括分支、分叉/连接等)和动作之间的状态(仅设计者希望命名的那些状态)赋予不同的形状?

像这样的东西:

0 投票
2 回答
442 浏览

graphviz - 如何在圆(形状)内嵌套点(形状)?

我很想去: 在此处输入图像描述

我尝试了这样的图表的变化:

可在此在线表格中进行测试,结果是:

在此处输入图像描述

我应该怎么做才能将点 ( token) 放在圆圈 ( place)内

0 投票
1 回答
650 浏览

reset - 带复位弧的 Petri 网

如何找到一个普通的Petri网等价于带有复位弧的Petri网?这个普通的网络必须尊重重置 Petri 网络的语义。

此致。

0 投票
0 回答
419 浏览

c - 带有 USART(UDRE0 位)的 Atmel Studio 6.2 模拟器

这是我第一次在这个论坛发帖,希望你能帮助我。

对于我的研究项目,我需要用 C 语言实现一个 Petri 网络执行器,以使用微控制器的所有子系统。我一直在使用 Atmel Studio 6.2 来模拟我的网络的结果。

尤其是 UART 系统,我遇到了很多问题。

这是我发送UART系统的功能。但是当我尝试将数据分配给 UDR0 时,它不会分配,因为 UDRE0 位仍然设置在 UCSR0A 寄存器中,并且模拟器不会让我关闭该位。

有什么解决办法吗?如果这是一个相当基本的问题,我深表歉意,但我尝试了所有不同类型的解决方案和模拟教程,但我似乎无法弄清楚为什么它不起作用。

0 投票
0 回答
642 浏览

petri-net - CPN 工具、ML 语言:生成代码时出现编译错误

我正在尝试使用 CPN 工具来实现令牌桶算法。我必须说,我对它提供的工具和结果感到非常满意。

现在,关于我的问题。

首先,我尝试仅使用黑色令牌和整数来构建令牌桶模型。到目前为止,它完美无缺。

其次,我尝试用要发送的实际数据更改黑色令牌(我使用发送消息的简单协议示例:“通过彩色 Petri 网进行建模和分析。)我遇到的问题是当我尝试发送多个数据包时(见我附上的模型图像)从地方“桶”到传输k”的弧线和从“桶”到“传输n”的弧线是出现问题的地方,我不知道如何解决它。在弧上,我有发送多个数据包的铭文(k x to send k packets and nx 发送 n 个数据包)

有时我会收到错误“无法从大颜色集绑定”或“生成代码时出现内部错误编译错误......”图片:http: //i.imgur.com/O5gGIW1.png

两个错误都出现在“Transmit n”和“Transmit k”的转换中。

仅供参考,我还附上了图片,其中我将弧形铭文从放置桶更改为传输转换,因此我只发送一个数据包。然后它可以工作,但它不再是 TokenBucket 了。图片:http: //i.imgur.com/0IDfROf.png

如果您能提供帮助,我将不胜感激。

如果您想亲自查看,我也可以上传我的 CPN 模型。

0 投票
2 回答
120 浏览

petri-net - 为什么不添加令牌?

这篇文章它说:

启用转换的触发会从每个输入位置移除一个标记,并向每个输出位置添加一个标记。

现在,如果我有以下网,所有单弧

在此处输入图像描述

触发 T1 后,我希望 P2 包含 2 个令牌 - 来自 P1 和 P4。但结果是 P2 中的一个令牌。不深入数学,怎么可能解释呢?

0 投票
2 回答
120 浏览

go - 检查同步通道是否准备就绪

我想知道 go 语言是否允许同时检查多个通道是否准备就绪。

这是我正在尝试做的一个有点做作的例子。(实际原因是看能不能在go中原生实现petrinet)

如图所示,这不会编译。它可以通过仅检查一个通道来编译,但是如果该通道准备好而另一个通道没有准备好,它可能会很容易死锁。

在一般情况下,我可能有多个案例在同一个频道上等待,例如

所以当一个值在通道 a 上准备好时,我不能提交到任何一个分支:只有当所有值都准备好时。

0 投票
2 回答
391 浏览

model - 如果 Petri-Net 模型状态处于循环中,可达状态的数量是多少

如果我有一个 8 个地方和 8 个事务的 Petri 网模型。这个模型中没有任何死状态,因为令牌处于循环中并且在第一个循环中经过所有 8 个地方。在第二个和剩余的循环中,它将经过 6 个位置,因为执行 T5 时令牌将到达 Place3。在这里,我想知道可达状态的数量。可达状态是无限的(因为循环)还是什么?在此处输入图像描述

0 投票
1 回答
153 浏览

list - 比较具有不同结构的两个列表

我正在尝试使用 SML 在 CPN 工具中执行模式匹配功能。我已经定义了一个颜色集事件:colset EVENT = product EVENTTYPE * EVENTTIME timed;

在比较列表时,我只对事件类型感兴趣,所以我试图比较例如[a,b]to [ (a,0), (b,1) ]- 所以我编写了以下 SML 函数来比较两个列表:

这只会在 evalloop.sml 中给我一个未指定的编译器错误因为我对 SML 还很陌生,所以我的猜测是 SML 不支持 CPN-Tools #-operator。不幸的是,我不知道如何从我真正感兴趣的第一个列表中只提取元组的一部分。对此有什么帮助吗?