4

我在 Petri 网上做一个项目。

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

为了使用 petrify 进行合成,必须将 Petri 网转换为 .g 格式,然后才能转换为 .xml 格式。简而言之,我需要集成工具 Umbrello、UML2owfn、Petrify 和 PIPE。如何使用 Python 集成这些工具?

4

1 回答 1

1

无论如何,活动图或多或少都具有 Petri 网的语义。这是交易:您需要首先阅读并解析活动图 XML。在 Python中有几个很好的选择;除非您的活动图非常庞大,否则您可能应该选择一个将整个 XML 元素树保存在内存中的图。

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

Python 中也有几个图形库,但这相当简单,将图形表示为位置和转换列表以及边对的列表可能更容易。

一旦你得到了 patri 网络图,只需遍历它以生成 Petrify 输入,你就应该设置好了。如果你真的需要那些中间表示,它也应该是一个SMOP来生成它们。

于 2011-05-14T17:03:32.937 回答