我遇到了一个花了我很多时间但我还没有解决的问题,问题是用 Python 编写的应用程序的 Petri 网的建模看起来如何?如果有任何代码和Petri网表示(建模)的例子,请告诉我,谢谢大家。
我知道 Petri 网由箭头、状态(位置)和转换(事件)组成
我遇到了一个花了我很多时间但我还没有解决的问题,问题是用 Python 编写的应用程序的 Petri 网的建模看起来如何?如果有任何代码和Petri网表示(建模)的例子,请告诉我,谢谢大家。
我知道 Petri 网由箭头、状态(位置)和转换(事件)组成
您不能只是将任何随机程序(无论是什么语言)翻译成 Petri 网模型。模型是抽象的,因此您必须决定程序的哪些状态足够重要以成为模型的一部分。然后你必须弄清楚如何在地方用标记来表示这些状态。然后你必须弄清楚如何用转换来描述状态变化。
这听起来对你来说太模糊了吗?那是因为你的问题太宽泛了。您的 Python 应用程序可以是文本编辑器、HTTP 服务器、粒子模拟器、国际象棋游戏。在不知道您要建模的内容的情况下,我们无法帮助您创建模型。
即使您已经用编程语言对应用程序逻辑进行了编码,也可以将应用程序的逻辑建模为 Petri 网。还可以基于应用逻辑的 Petri Net 模型创建计算机程序(例如 JavaScript)。
将应用程序建模为 Petri 网的一种方法是将程序的变量视为位置标记、输入权重或输出权重;和计算作为输入、输出和转换的逻辑注释。
Roland Weber 提出了一个非常好的问题“你的程序的哪些状态足够重要,可以成为模型的一部分?” 如果您认为每个变量和每个计算都很重要,那么您最终可能会得到一个对于本练习来说太大的模型。因此,考虑对于这个练习来说足够小的应用程序的一部分。
“欧几里得算法的 Petri 网模型”使用动态和交互式图表解释了最大公约数函数的变量与 Petri 网的元素之间的关系,并讨论了与 Petri 网模型相关的各种注释。