Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ПИС / BPMN / bpmn_2_0(перевод).pdf
Скачиваний:
251
Добавлен:
14.05.2016
Размер:
10.27 Mб
Скачать

Графический язык моделирования бизнес-процессов BPMN. Версия 2.0

формируются при его сбросе. РЕКОМЕНДУЕТСЯ выбрать, будут ли токены формироваться для каждого из Исходящих Потоков Операций при активации Шлюза или при его сбросе, но не одновременно. По-меньшей мере один Исходящий Поток Операций должен получить токен при активации, но в таком случае при сбросе Шлюза токен формироваться НЕ ДОЛЖЕН.

На фигуре 10.114 отображена диаграмма класса ComplexGateway.

Фигура 10.114 – Диаграмма классов элемента ComplexGateway

Элемент ComplexGateway наследует атрибуты и ассоциации элемента Gateway (см. таблицу 8.46). Таблица 10.125 содержит информацию о дополнительных ассоциациях элемента ComplexGateway.

Таблица 10.125 Ассоциации элемента ComplexGateway

Название атрибута

Описание/использование

 

 

activationCondition: Expression [0..1]

Определяет, токены каких Входящих Потоков

 

Операций будут синхронизированы для

 

активации Шлюза.

 

 

default: SequenceFlow [0..1]

Указывает на Поток Операций, который получит

 

токен в случае, если ни одно из условных

 

выражений других Потоков Операций не равно

 

«true». Поток Операций по умолчанию не

 

должен содержать условного выражения.

 

Любые такие выражения ДОЛЖНЫ БЫТЬ

 

проигнорированы.

 

 

activationCount: integer

В ходе выполнения ссылается на количество

 

токенов Входящего Потока Операций,

 

направленного к Комплексному Шлюзу.

 

 

waitingForStart: boolean = true

Указывает на внутреннее состояние

 

Комплексного Шлюза, который может

 

находиться в ожидании активации (=true) или

 

сброса (=false).

 

 

10.5.6. Шлюз, основанный на Событиях

282

http://www.elma-bpm.ru

Графический язык моделирования бизнес-процессов BPMN. Версия 2.0

В Процессе Шлюзы, основанные на Событиях, представляет собой точку ветвления, в которой направления альтернативных маршрутов зависят от происходящих Событий, а не от определения значений выражений, использующих данные Процесса, как это происходит при использовании Эксклюзивного и Неэксклюзивного Шлюзов. Определенное событие, чаще всего – получение сообщения, определяет то, какой из маршрутов будет выбран в данном случае. В основном, решение принимается одним из Участников Процесса на основании данных, которые в самом Процессе не видны. В этом случае и становится нужен

Шлюз, основанный на Событиях.

Например, компания ждет подтверждения заказчиком выполнения ряда Действий. В случае положительного ответа эти Действия будут выполнены. В случае отрицательного ответа компания выполнит ряд других Действий. Ответ заказчика – Сообщение определенного рода - определяет выбор необходимого маршрута. Таким образом, сообщения «Да» и «Нет» являются разными, а не просто одинаковыми сообщениями с разными значениями свойства. Получение сообщения может быть выполнено посредством Промежуточного события Сообщение или Задачи Получение. Кроме триггера Сообщения могут использоваться и другие триггеры

Промежуточного события, например, Таймер.

Как и все остальные типы Шлюзов, Шлюз, основанный на Событиях, отображается на диаграмме Процесса

ввиде ромба, внутри которого расположен соответствующий маркер.

Шлюз, основанный на Событиях, представляет собой ромб, который ДОЛЖЕН БЫТЬ выполнен одинарной тонкой линией.

o Текст, цвет, размер, а также линии, используемые для изображения Шлюза, ДОЛЖНЫ соответствовать правилам, указанным в разделе «Использование Текста, Цвета и Линий в Моделировании Диаграмм».

Графический элемент Шлюз, основанный на Событиях, содержит внутренний маркер, который ДОЛЖЕН быть идентичным маркеру обрабатывающего триггер Промежуточного события (см.

фигуру 10.115).

10.115 – Графический элемент Шлюз, основанный на Событиях

В отличие от поведения других типов Шлюзов, поведение Шлюза, основанного на Событиях, определяется не его типом, а конфигурацией элементов.

Шлюз, основанный на Событиях, ДОЛЖЕН содержать два или более Исходящих Потоков Операций.

o Исходящие Потоки Операций, направленные от Шлюза данного типа, НЕ ДОЛЖНЫ

содержать условных выражений.

Элементы, являющиеся целью направленных от Шлюза Исходящих Потоков Операций, являются частью конфигурации Шлюза.

Конфигурация Шлюза, основанного на Событиях, задается посредством Исходящих потоков операций, целями которых являются Промежуточные события или Задачи Получение в любых комбинациях (см. фигуры 10.116 и 10.117). Исключениями являются ситуации, когда:

o Для конфигурации используются Промежуточные события Сообщение. В данном случае для конфигурации Шлюза Задачи Получение использоваться НЕ ДОЛЖНЫ (и наоборот).

Задачи Получение, используемые для конфигурации Шлюза, НЕ ДОЛЖНЫ быть соединены с какими-либо Промежуточными событиями.

283

http://www.elma-bpm.ru

Графический язык моделирования бизнес-процессов BPMN. Версия 2.0

oТолько следующие типы Промежуточных событий верны для Шлюза, основанного на

События: Сообщение, Сигнал, Таймер, Условие, Множественный (включающий лишь вышеуказанные триггеры). Таким образом, для данного Шлюза не используются

Промежуточные события следующих типов: Ошибка, Отмена, Компенсация, Связь.

Элементы, являющиеся целями в конфигурации Шлюза, основанного на Событиях, НЕ ДОЛЖНЫ иметь дополнительных Входящих потоков операций (исходящих не от данного Шлюза).

Фигура 10.116 – Пример Шлюза, основанного на Событиях, использующего Промежуточные события Сообщение

Фигура 10.117 – Пример Шлюза, основанного на Событиях, использующего Задачи Получение

Когда запускается первое Событие, входящее в состав конфигурации Шлюза, основанного на Событиях, используется отходящий от этого События маршрут (в данном случае токен отсылается с исходящим от События Потоком операций). После этого все остальные маршруты конфигурации Шлюза являются неверными. В общем, конфигурация такого Шлюза представляет собой подобие состязания, где побеждает Событие, запущенное раньше остальных.

Существуют различные типы Шлюзов, основанных на Событиях, которые могут быть использованы в начале Процессе. Поведение Шлюза и, соответственно, его маркер будут изменяться.

Шлюзы, основанные на Событиях, могут быть использованы для запуска экземпляра Процесса. Значение атрибута instantiate Шлюза по умолчанию равно «false». Однако если оно изменяется на «true», то при запуске первого в конфигурации Шлюза События запускается и экземпляр Процесса.

В случае, если значение атрибута instantiate Шлюза равно «true», то данный Шлюз будет иметь маркер, идентичный маркеру Стартового события Множественного типа (см. фигуру 10.118).

284

http://www.elma-bpm.ru

Графический язык моделирования бизнес-процессов BPMN. Версия 2.0

Фигура 10.118 – Эксклюзивный, основанный на Событиях Шлюз, используемый для запуска экземпляра Процесса.

Для того, чтобы данный Шлюз мог инициировать запуск экземпляра События, НЕ ДОЛЖЕН быть соединен ни с одним Входящим Потоком Операций.

В некоторых случаях разработчик модели может инициировать запуск экземпляра Процесса посредством одного сообщения из набора, хотя для выполнения этого экземпляра Процесса необходим весь набор сообщений. В такой ситуации используется другой тип Шлюза, основанного на Событиях.

В случае, если значение атрибута instantiate Шлюза равно «true», а значение атрибута eventGatewayType – «Parallel», то данный Шлюз будет иметь маркер, идентичный маркеру

Стартового события Параллельного Множественного типа (см. фигуру 10.119).

o Для того, чтобы значение атрибута eventGatewayType было равно «Parallel», значение атрибута instantiate Шлюза ДОЛЖНО БЫТЬ равно «true». Это означает, что для Шлюза, основанного на Событиях, который не используется для запуска экземпляра Процесса, значение атрибута eventGatewayType ДОЛЖЕН БЫТЬ равно «Exclusive», как для стандартного Параллельного Шлюза, используемого для объединения параллельных

Событий в середине Процесса.

Фигура 10.119 – Параллельный, основанный на Событиях Шлюз, используемый для запуска экземпляра Процесса.

Параллельный Шлюз, основанный на Событиях, также представляет собой подобие состязания, где, однако, при запуске первого События и экземпляра Процесса остальные События конфигурации Шлюза с дистанции не снимаются. Эти оставшиеся События продолжают ждать своего запуска до момента успешного завершения Процесса. В данном случае, Сообщение, запускающее События конфигурации Шлюза, ДОЛЖНО обладать той же корреляционной информацией.

285

http://www.elma-bpm.ru

Соседние файлы в папке BPMN