如何将活动图转换为petri网,合成它然后进行分析?

时间:2011-05-14 16:46:27

标签: python activity-diagram tool-uml petri-net umbrello

我正在Petri网上做一个项目。

我使用UML工具Umbrello生成了一个活动图(.xmi格式)。我需要将其转换为Petri网,然后使用Petrify工具进行合成。但是为了将其转换为Petri网,必须将活动图转换为XML格式。

为了使用petrify进行合成,Petri网必须转换为.g格式,然后才能转换为.xml格式。总之,我需要集成Umbrello,UML2owfn,Petrify和PIPE等工具。我怎么能用Python集成这些工具?

1 个答案:

答案 0 :(得分:1)

方便的活动图或多或少都具有Petri网的语义。这是交易:您需要首先阅读并解析活动digram XML。 Python中有several good options个;除非你的活动图只是庞大的,否则你应该选择一个将整个XML元素树保存在内存中的文件。

然后将活动图转换为二分图。由于活动图可以具有相邻的活动节点(气泡)而没有过渡(线),因此将所有相邻活动节点折叠到Petri网中的一个位置。

还有several graph libraries in Python,但这很简单,可能更容易将图表表示为地点和过渡列表,以及边缘对的列表。

一旦你获得了patri net图,只需走它来生成Petrify输入就可以了。如果你真的需要那些中间表示,那么它也应该是SMOP来生成它们。