Изображения дополнительных элементов
Изображения дополнительных элементов
Замечание о различных вариантах определения Действия
Действие соответствует понятию действие глоссария. В предлагаемом описании существует следующая классификация действий (в скобках даны значки, обозначающие текущий вариант):
- Атомарное действие – Подпроцесс (
) – Композиция (+) - Действие с синхронизацией - Действие без синхронизации (&)
- Последовательное действие - Параллельное действие (*)
Также в настоящем описании существует такое понятие как Мульти-действие.:
- Единичный экземпляр действия - Мульти-действие
Композиция соответствует сокрытию части бизнес-процесса в одном элементе (Программные средства, реализующие нотацию должны давать возможность как скрывать, так и показывать эту часть бизнес-процесса). Композиция похожа на подпроцесс, однако является более «легкой» конструкцией, т.к. для композиции не порождается нового экземпляра процесса, следовательно у нее нет своих собственных переменных, инициализаторов ролей и т.д.
Мульти-действие обозначается специальной иконкой (см. ниже). Предполагается, что для всех случаев, в которых «Мульти-действие» специально не оговорено или не изображено в виде иконки «мультидействия», действие является «единичным экземпляром действия»
То есть всего возможно 24 варианта Действия. В последующих пунктах будут приведены некоторые типичные варианты Действий.
Настоящее описание предполагает, что имя действия или процесса (подпроцесса) должно начинаться с глагола в неопределенной форме (неявное повелительное наклонение).
Параллельное действие
UML термин. – Expansion region with only one action
Вид Действия. Если одна точка управления «догоняет» другую в параллельном действии, то в рамках данного действия организуется несколько независимых экземпляров действия с соответствующими локальными переменными (см. определение перспективы данных). Изменение глобальных переменных экземплярами действия происходят в соответствии со специальными правилами. В данном случае точки управления независимы. После выполнения обоих экземпляров действия количество точек управления не изменяется, они опять «идут» одна за другой.
Рис. Обозначение параллельного атомарного действия с синхронизацией.
Подпроцесс с синхронизацией
Вид действия. Если точка управления попадает в подпроцесс с синхронизацией, то запускается соответствующий подпроцесс, точка управления ждет его окончания и далее покидает действие по исходящему переходу. Если во время выполнения подпроцесса к узлу подходит другая точка управления, то она становится в очередь перед данным действием и переходит в него только после того, как предыдущая точка управления его покинет.
Рис. Обозначение действия – последовательного подпроцесса с синхронизацией.
Подпроцесс без синхронизации
Вид действия. Если точка управления попадает в подпроцесс без синхронизации, то запускается соответствующий подпроцесс, который выполняется независимо от «родительского» процесса. Сразу же после запуска подпроцесса точка управления покидает действие по исходящему переходу. Если во время выполнения действия к узлу подходит другая точка управления, то она становится в очередь перед данным действием и переходит в него только после того, как предыдущая точка управления его покинет
Рис. Обозначение действия – последовательного подпроцесса без синхронизации.
Рис. Обозначение действия – параллельного подпроцесса без синхронизации.
Мульти-действие
Понятие Мульти-действие расширяет понятие Действие глоссария. Мульти-действие – специальный вид Действия. В момент прихода управления в Мульти-действие создается известное к этому моменту времени количество экземпляров этого действия, для каждого узла организуется своя точка управления и далее для каждой точки управления параллельно и независимо выполняются действия разных экземпляров этого узла. После того, как действия всех точек управления выполнены, управление переходит к следующему узлу по исходящему переходу.
Рис. Обозначение конструкции «Мульти-действие».
Замечание. Количество экземпляров мульти-узла определяется значением специальной «присоединенной» переменной в момент прихода управления в это действие. В настоящее время еще не решен вопрос о поведении действия в случае изменения значения этой переменной в процессе исполнения экземпляров мульти-узла.
Простое соединение
UML термин - MergeNode
Вид маршрутного узла. Обозначается ромбом. Должен иметь несколько входящих и один исходящий переход. Соответствует WF-паттерну «простое соединение». В графической нотации обозначается также как и Ветвление («исключающий выбор»)
Дискриминатор
Вид маршрутного узла. Соответствует WF-паттерну «дискриминатор». Обозначается черным прямоугольником, над верхней частью прямоугольника в квадратных скобках располагается надпись «Discriminator». Черный прямоугольник должен иметь несколько входящих и один исходящий переход.
Для пришедшей в узел точки управления поведение узла следующее: Организуются «транши управления». Каждый транш является подмножеством подошедших к узлу точек управления, причем для каждого входящего перехода в транш не может входить более одной точки. В первый транш входят точки управления, подошедшие первыми по «своему» переходу, во второй – вторыми и т.д. В момент прихода первой точки управления каждого транша для исходящего перехода сразу генерируется одна точка управления. Далее ожидается приход всех точек управления в рамках первого транша (т.е. по всем входящим переходам). При этом событии точки управления первого транша уничтожаются, , второй транш становится первым, третий вторым и т.д.
Альтернативное описание поведения дискриминатора:
1. Для элемента «Дискриминатор» в графе бизнес-процесса всегда должен существовать единственный парный элемент «Разделение».
2. Для пришедшей в узел точки управления поведение узла следующее: Если в дискриминатор пришла первая точка управления, сгенерированная соответствующим парным элементом «Разделениее», то для исходящего перехода генерируется одна точка управления. Если пришла не первая точка управления, то ничего не происходит. В момент прихода последней точки управления из сгенерированных соответствующим «Разделением», все эти точки управления уничтожается.
Рис. Обозначение конструкции «Дискриминатор».
Область с прерыванием
UML термин - InterruptibleActivityRegion
Специальная конструкция языка. Представляет собой область с пунктирной границей. В области могут располагаться узлы бизнес-процесса, в область могут входить и выходить переходы управления (стрелки). В случае, если какая-либо точка управления покидает область с прерыванием, происходит прерывание: все остальные точки управления, находящиеся внутри области, уничтожаются. Соответственно останавливаются все подпроцессы как с синхронизацией, так и без синхронизации.
Рис. Обозначение конструкции «Область с прерыванием».
Сигнал
Особый вид маршрутного узла. Содержит один исходящий переход, и один или несколько входящих переходов. Сигналу в данном или каком-то другом бизнес-процессе должен соответствовать элемент «Приемник сигнала». В момент прихода управления в Сигнал отправляется сигнал (специальное сообщение) Приемнику сигнала, после чего точка управления «идет» дальше.
Рис. Обозначение конструкции «Сигнал».
Приемник сигнала
Особый вид маршрутного узла. Содержит один исходящий переход, и один или ни одного входящего перехода. Приемнику сигнала в данном или каком-то другом бизнес-процессе должен соответствовать элемент "Сигнал". Если узел содержит входящий переход, то пришедшая в узел точка управления «идет» дальше, только если в приемник сигнала пришел сигнал (специальное сообщение), в противном случае управление «останавливается» в этом узле и «ждет» сигнала. Если узел не содержит входящий переход, то пришедший сигнал порождает новую точку управления.
Рис. Обозначение конструкции «Приемник сигнала».









