Я не уверен, что такой инструмент на оболочке существует. Я бы посоветовал выбрать один инструмент моделирования, который
- поддерживает ваше моделирование (BPMN, Activity и др. c.),
- может быть расширен на язык, который вам удобен (Python, Java, C#, et c.).
В этом случае вы наверняка найдете несколько инструментов. Для забавы я выбрал Modelio (https://www.modelio.org/), сделал небольшой пример активности, и сценарий 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