3. ГОСТ 24.703-85 .ЕДИНАЯ СИСТЕМА СТАНДАРТОВ АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ. ТИПОВЫЕ ПРОЕКТНЫЕ РЕШЕНИЯ В АСУ
Приложение 1. описание ДЕЯТЕЛЬНОСТЕЙ в нотации BPMN 2.0
Деятельность (activity) есть работа, которая выполняется в ходе бизнес-процесса. Деятельность может быть атомарной или составной. Деятельность бывает следующих типов: задача, подпроцесс, вызывающая деятельность. Вызывающая деятельность позволяет включать в процессы, повторно используемые задачи и процессы.
Задача это атомарная деятельность внутри процесса.
Пример обозначения абстрактной задачи представлен на рис. П1.1.
Рис. П1.1. Пример обозначения абстрактной задачи
В нотации BPMN определены три типа маркера для задачи (рис. П1.2.):
- маркер цикла;
- маркер нескольких экземпляров;
- маркер компенсации.
Рис. П1.2. Примеры маркеров абстрактной задачи
Маркер стандартного цикла и нескольких экземпляров задаются в EA в свойствах задачи BPMN2 Loop заданием значения атрибута loopCharacteristics равным Standart или MultiInstance.
В цикле по многим экземплярам экземпляры деятельности могут выполняться последовательно или параллельно. Для задания последовательной обработки в свойствах задачи BPMN2 Loop значение атрибута isSequential должно быть равным true.
Маркеры стандартного цикла и многих экземпляров используются для отображения повторно выполняемой деятельности.
В нотации BPMN2.0 поддерживаются циклы двух видов - стандартный и цикл по многим экземплярам.
Стандартный цикл основан на логическом условии. Деятельность повторяется до тех пор, пока логическое условие истинно.
Цикл по многим экземплярам позволяет создавать желаемое количество экземпляров деятельности. Число повторов цикла известно до его начала
Экземпляры деятельности могут выполняться последовательно или параллельно
Пример выполнения экземпляров деятельности параллельно и последовательно для цикла по многим экземплярам представлен на рис. П1.3.
Рис. П1.3. Примеры маркеров абстрактной задачи для параллельной и последовательной деятельности
Маркер компенсации задается в ЕА в свойствах задачи BPMN2 Activity заданием значения атрибута isForCompensation равным true.
Маркер цикла может быть использован с маркером компенсации.
Маркер нескольких экземпляров может быть использован с маркером компенсации.
Компенсация есть механизм для отработки ошибок и сбоев в процессах. Компенсация используются в том случае, если необходимо отменить (откатить) какие-то действия путем выполнения других действий. Компенсирующее действие (задача или подпроцесс), помеченное маркером компенсации, находится вне потока нормального выполнения процесса и связано с соответствующим «нормальным» действием посредством ассоциации.
Компенсирующее действие не может иметь входящих или исходящих связей потока.
Компенсация запускается событием компенсации, которое обычно возникает при обработке ошибок
Пример отображения компенсации представлен на рис. П1.4.
Рис. П1.4. Пример отображения компенсации
Компенсация используется только в подпроцессах типа транзакция.
Задачи в нотации BPMN2.0 бывают следующих типов (рис. П1.5):
- абстрактная задача;
- задача, выполняемая вручную;
- задача, выполняемая с использованием программного обеспечения;