我正在Petri网上做一个项目。
我使用UML工具Umbrello生成了一个活动图(.xmi格式)。我需要将其转换为Petri网,然后使用Petrify工具进行合成。但是为了将其转换为Petri网,必须将活动图转换为XML格式。
为了使用petrify进行合成,Petri网必须转换为.g格式,然后才能转换为.xml格式。总之,我需要集成Umbrello,UML2owfn,Petrify和PIPE等工具。我怎么能用Python集成这些工具?
答案 0 :(得分:1)
方便的活动图或多或少都具有Petri网的语义。这是交易:您需要首先阅读并解析活动digram XML。 Python中有several good options个;除非你的活动图只是庞大的,否则你应该选择一个将整个XML元素树保存在内存中的文件。
然后将活动图转换为二分图。由于活动图可以具有相邻的活动节点(气泡)而没有过渡(线),因此将所有相邻活动节点折叠到Petri网中的一个位置。
还有several graph libraries in Python,但这很简单,可能更容易将图表表示为地点和过渡列表,以及边缘对的列表。
一旦你获得了patri net图,只需走它来生成Petrify输入就可以了。如果你真的需要那些中间表示,那么它也应该是SMOP来生成它们。