【问题标题】:Petri nets modelisationPetri 网建模
【发布时间】:2019-11-11 17:36:46
【问题描述】:

我遇到了一个花了我很多时间但我还没有解决的问题,问题是用 Python 编写的应用程序的 Petri 网模型化如何?如果有任何代码和Petri网表示(建模)的例子,请告诉我,谢谢大家。

我知道 Petri 网由箭头、状态(位置)和转换(事件)组成

【问题讨论】:

  • 这个问题太宽泛了。您应该尝试将问题缩小到更具体的问题。不是“告诉我怎么做”而是“为什么这个特定的代码不起作用?”
  • 嗨!我有python代码,我想代表他在Petri网中的行为,请问我该怎么做?谢谢

标签: petri-net


【解决方案1】:

您不能只是将任何随机程序(无论是什么语言)翻译成 Petri 网模型。模型是抽象的,因此您必须决定程序的哪些状态足够重要以成为模型的一部分。然后你必须弄清楚如何在地方用标记来表示这些状态。然后你必须弄清楚如何用转换来描述状态变化。

这听起来对您来说太模糊了吗?那是因为你的问题太宽泛了。您的 Python 应用程序可以是文本编辑器、HTTP 服务器、粒子模拟器、国际象棋游戏。在不知道您要建模的内容的情况下,我们无法帮助您创建模型。

【讨论】:

    【解决方案2】:

    即使您已经使用编程语言对应用程序逻辑进行了编码,也可以将应用程序的逻辑建模为 Petri 网。还可以基于应用程序逻辑的 Petri 网模型创建计算机程序(例如 JavaScript)。

    将应用程序建模为 Petri 网的一种方法是将程序的变量视为位置标记、输入权重或输出权重;和计算作为输入、输出和转换的逻辑注释。

    Roland Weber 提出了一个非常好的问题:“程序的哪些状态足够重要,可以成为模型的一部分?”如果您认为每个变量和每个计算都很重要,那么您最终可能会得到一个对于本练习来说太大的模型。因此考虑应用程序的一部分,它对于这个练习来说足够小。

    A Petri Net Model for the Euclidean Algorithm”使用动态和交互式图表解释了最大公约数函数的变量与 Petri 网元素之间的关系,并讨论了与 Petri 网模型相关的各种注释。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多