4

私はペトリネットでプロジェクトを行っています。

UMLツールUmbrelloを使用して、アクティビティ図(.xmi形式)を生成しました。それをペトリネットに変換してから、Petrifyツールを使用して合成する必要があります。ただし、ペトリネットに変換するには、アクティビティ図をXML形式に変換する必要があります。

ペトリネットを使用して合成するには、ペトリネットを.g形式に変換し、その後で.xml形式に変換する必要があります。つまり、ツールUmbrello、UML2owfn、Petrify、PIPEを統合する必要があります。Pythonを使用してこれらのツールを統合するにはどうすればよいですか?

4

1 に答える 1

1

都合の良いことに、アクティビティ図は多かれ少なかれペトリネットのセマンティクスを持っています。これが取り引きです。最初に、アクティビティダイグラム XML を読み取って解析する必要があります。Python には、これに適したオプションがいくつかあります。アクティビティ図が大規模でない限り、XML 要素ツリー全体をメモリに保持するものを選択する必要があります。

次に、アクティビティ図を 2 部グラフに変換します。アクティビティ図には、遷移 (線) なしで隣接するアクティビティ ノード (バブル) を含めることができるため、隣接するすべてのアクティビティ ノードをペトリネット内の 1 つの場所にまとめます。

Python にもいくつかのグラフ ライブラリがありますが、これはかなり単純で、場所と遷移のリスト、およびエッジのペアのリストとしてグラフを表す方が簡単かもしれません。

パトリネット グラフを取得したら、それを歩いて Petrify 入力を生成するだけで、設定が完了します。これらの中間表現が本当に必要な場合は、SMOPでそれらを生成する必要もあります。

于 2011-05-14T17:03:32.937 に答える