Automation Petri网的绘制与代码生成

Automation Petri网的绘制与代码生成,automation,code-generation,metaprogramming,petri-net,Automation,Code Generation,Metaprogramming,Petri Net,有没有软件可以绘制Petri网并从中生成源代码?源代码可以是任何已知的编程语言 稍微不太理想的选择是以某种开放格式(如XML或任何其他数据语言)在基于文本的文件中输出一个仅包含Petri网图描述的文件。然后我可以自己编写代码生成器,但至少我希望避免gui/图形开发部分;)) 感谢检查它是用Java开发的,您可以绘制和模拟简单的/彩色的/定时的Petrinet。它没有几个例子。您可以在Java中扩展弧和节点约束。最后,您可以看到生成的petri网的java类 您可以从github中获取源代码,我将

有没有软件可以绘制Petri网并从中生成源代码?源代码可以是任何已知的编程语言

稍微不太理想的选择是以某种开放格式(如XML或任何其他数据语言)在基于文本的文件中输出一个仅包含Petri网图描述的文件。然后我可以自己编写代码生成器,但至少我希望避免gui/图形开发部分;))

感谢

检查它是用Java开发的,您可以绘制和模拟简单的/彩色的/定时的Petrinet。它没有几个例子。您可以在Java中扩展弧和节点约束。最后,您可以看到生成的petri网的java类

您可以从github中获取源代码,我将查看。它们提供各种构造、分析、有色Petri网模拟和索赔代码生成功能。

我正在Ruby中开发。目前,YPetri可以处理可视化(
YPetri::Net
class有
#visualize
方法使用Graphviz绘制网络),但不能处理您心目中的GUI编辑。仅供参考,首先,Petri网中的GUI编辑没有看上去那么重要

使用的数据语言是Ruby本身(更准确地说,是用Ruby编写的内部DSL)

Petri网的一个主要问题是,存在的Petri网种类太多了
YPetri
试图成为一个通用的Petri网框架,具有1种位置(任意标记类型)和4种基本类型的转换(定时/无时间x化学计量/非化学计量)。此外,还有第五种转换,即赋值转换,它用函数的返回值替换目标位置的标记。我相信,这可以用来描述任何动态系统,同时尽我所能做到节约

Petri网弧被理解为转换和位置之间的关系(它们属于
y\u Petri
中的转换)。我发现,有一种方法可以表达Petri网节点(位置/转换)之间的关系,而不仅仅是弧。为此目的

至于模拟(Petri网执行),一般的混合Petri网没有比隐式Euler方法(我称之为伪Euler)更快的模拟方法。这是因为Petri网可以用来实现图灵机,而一般的加速是不可能的


<>如果您愿意在Ruby中操作,您可以在 ypepetri 或<代码> yyelns DSL代码中描述Petri网。我不提供转换为XML,因为我不认为它优于源DSL。可以编写这样的导出例程,但我鼓励您使用DSL代替。< /P>我找到了一长串RE。相关软件在我会评论,如果我发现一些有用的,这也是伟大的