Как преобразовать диаграмму деятельности в петринет, синтезировать ее и затем проанализировать? - PullRequest
4 голосов
/ 14 мая 2011

Я работаю над сетями Петри.

Я сгенерировал диаграмму активности (в формате .xmi), используя инструмент UML Umbrello. Мне нужно преобразовать его в сеть Петри, а затем синтезировать его с помощью инструмента Petrify. Но чтобы преобразовать его в сеть Петри, диаграмму деятельности нужно преобразовать в формат XML.

Чтобы синтезировать с помощью petrify, сеть Петри должна быть преобразована в формат .g, и только потом в формат .xml. Короче мне нужно интегрировать инструменты Umbrello, UML2owfn, Petrify и PIPE. Как я могу интегрировать эти инструменты, используя Python?

1 Ответ

1 голос
/ 14 мая 2011

Удобно, диаграммы деятельности более или менее имеют семантику сетей Петри в любом случае.Вот в чем дело: сначала вам нужно прочитать и проанализировать XML-диаграмму активности. несколько хороших вариантов для этого в Python;если ваши диаграммы действий не являются просто массивными, вам, вероятно, следует выбрать диаграмму, которая хранит все дерево элементов XML в памяти.

Затем преобразуйте диаграмму действий в двудольный граф.Так как диаграмма активности может иметь смежные узлы активности (пузырьки) без переходов (линий), сверните все смежные узлы активности в одно место в сети Петри.

В Python также есть несколько библиотек графов, но это довольно просто, и может быть проще представить граф в виде списков мест и переходов, а также списка пар дляребра.

Как только вы получите график патриотизма, просто пройдитесь по нему, чтобы сгенерировать вход Petrify, и вы должны быть настроены.Если вам действительно нужны эти промежуточные представления, то для их генерации должен быть SMOP .

...