Petri网建模

时间:2019-11-11 17:36:46

标签: petri-net

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

我知道Petri网由箭头,状态(位置)和过渡(事件)组成

2 个答案:

答案 0 :(得分:1)

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

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

罗兰·韦伯(Roland Weber)提出了一个很好的问题:“程序的哪些状态足够重要,可以成为模型的一部分?”如果您认为每个变量和每个计算都很重要,那么最终可能会得出一个模型,该模型对于此练习而言太大了。因此,请考虑应用程序的一部分,该部分足够小。

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

答案 1 :(得分:0)

您不能仅将任何随机程序(无论使用哪种语言)转换为Petri网络模型。模型是抽象的,因此您必须确定程序的哪些状态足够重要才能成为模型的一部分。然后,您必须弄清楚如何用标记来表示这些状态。然后,您必须弄清楚如何用过渡来描述状态变化。

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