Бесплатный инструмент для генерации всех путей из диаграммы - PullRequest
0 голосов
/ 11 февраля 2020

Добрый день всем,

Несмотря на множество исследований в Интернете, я не нашел решения, которое бы отвечало моим потребностям.

Мне нужно найти бесплатный инструмент для моделирования процесса (например, BPMN, диаграмма действий UML) и генерирования всех возможных путей / комбинаций из диаграммы.

У вас есть какие-либо идеи, которые могут помочь в работе? мне это сделать? Большое спасибо.

Обновление 1

enter image description here

1 Ответ

1 голос
/ 12 февраля 2020

Я не уверен, что такой инструмент на оболочке существует. Я бы посоветовал выбрать один инструмент моделирования, который

  1. поддерживает ваше моделирование (BPMN, Activity и др. c.),
  2. может быть расширен на язык, который вам удобен (Python, Java, C#, et c.).

В этом случае вы наверняка найдете несколько инструментов. Для забавы я выбрал Modelio (https://www.modelio.org/), сделал небольшой пример активности, enter image description here и сценарий Jython для него.

## return first initial node in the selected activity
def getInitialPoint(act):
   for  node in act.getOwnedNode():
      if isinstance(node, InitialNode):
         return node

## parcours activity nodes
def getPaths(currentPath, currentNode): 
  for outgoing in currentNode.getOutgoing():
    node = outgoing.getTarget()
    if isinstance(node, ActivityFinalNode):
       paths.append(currentPath)
       return;
    elif  isinstance(node, DecisionMergeNode):
       getPaths(currentPath, node)  
    else:           
       getPaths(currentPath + " - "  + node.getName(), node) 

 ##Init
 init = getInitialPoint(elt)
 currentPath = init.getName()
 global paths
 paths = []
 getPaths(currentPath, init)

 ##Print founded paths
 for p in paths:
   print p 

Надеюсь, это поможет, EBR

...