2015-10-01 5 views
2

У меня есть процесс BPMN, который должен обрабатывать 2 альтернативных сценариев:Как смоделировать параллельный поток, возвращающийся обратно в обычный поток?

Таска -> TaskB -> Последняя Задача
ИЛИ
Таска -> TaskX -> (Tasky и TaskB параллельно) -> Последняя Задача

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

Я разработал это решение, но для меня это выглядит не очень хорошо:
для первого сценария параллельный шлюз выглядит как вилка, а не соединение.

Как мне создать этот случай (без дублирования задач)?

BPMN process

+0

«(TaskY и TaskX параллельно)« Вы имели в виду «TaskY и TaskB параллельно»? Я не думаю, что вы можете сделать это так: вам, вероятно, придется либо дублировать задачу B, либо поставить другой охранник перед TaskY. Кроме того, важно ли, чтобы X выполнялся до B? Вы можете сделать как X, так и Y параллельными B с помощью инклюзивного или –

+0

Oups, да, вы правы, есть ошибка, и я исправлю это в вопросе. Я хочу избежать дублирования, и порядок важен :) О состоянии охраны, лучше ли после задачи Б? – Guillaume

+0

Проблема на вашей диаграмме заключается в том, что «Задача B» будет доступна только тогда, когда активны оба входящих перехода. Поскольку только один из них будет активирован из-за использования эксклюзива, которого никогда не произойдет. –

ответ

2

Я думаю, что следующая диаграмма делать только то, что вы хотите: Process diagram

Я использую инклюзивного шлюз, который всегда будет переход, который идет на «Задачу B» и, основываясь на состоянии также выполнить «Задача Y» параллельно. Такое же условие также используется для включения или пропуска «Задача X».

Я создаю runnable version of this process для Bonita BPM и, похоже, ведет себя так, как вы ожидаете.

+1

Мне нравится это решение, потому что оно довольно творческое и чистое в одно и то же время. Требование в вопросе «избегать дублирования задач» обычно не является чем-то, что мне нравится рассматривать как требование для диаграмм процесса, потому что читаемость на первом месте для меня ... Но, конечно, приятно избегать дублирования, если можно избежать без ущерба для удобочитаемости. Пальцы вверх! (Кстати, я склонен полагать, что это невозможно решить, не дублируя ничего, как в вашем случае выражение «дублированное» условие) –

+0

Привет Антуан, это хорошее решение. Какой дизайнер вы использовали для рисования вашего процесса? – Guillaume

+0

Привет, Гийом, я использовал [Bonita BPM Community Edition] (http://www.bonitasoft.com/downloads-v2), чтобы создать этот процесс –

Смежные вопросы