gpt4 book ai didi

automation - Petri网绘图和代码生成

转载 作者:行者123 更新时间:2023-12-04 07:59:01 26 4
gpt4 key购买 nike

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

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

谢谢

最佳答案

我正在用Ruby开发 y_petri 。目前,YPetri可以处理可视化(YPetri::Net类具有使用Graphviz绘制网络的#visualize方法),但是您似乎没有想到的GUI编辑。仅供引用,首先,Petri网中的GUI编辑没有看起来那么重要。

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

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

Petri网弧被理解为过渡和位置之间的关系(它们属于y_petri中的过渡。我发现,有一种方法也可以表达Petri网节点(位置/过渡)之间的关系,而不仅仅是弧。为此, I use Ted Nelson's ZZ structure (ZigZag) basically as a replacement for a relational database

至于仿真(Petri网执行),一般的混合Petri网没有比隐式Euler方法(我称其为伪Euler)更快的仿真方法。这是因为可以使用Petri网实现图灵机,因此无法实现一般的加速。

如果您愿意使用Ruby进行操作,则可以使用y_petriy_nelson DSL代码来描述Petri网。我不提供到XML的转换,因为我认为它不优于源DSL。可以编写这样的导出例程,但是我建议您改用DSL。

关于automation - Petri网绘图和代码生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4946213/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com