Это старая версия документа.
При построении диаграмм процессов, для которых в дальнейшем будет проведена имитация, необходимо придерживаться правил, описанных в данном разделе.
При построении диаграммы имитируемого процесса в нотации EPC необходимо разместить на ней обязательно и стартовое, и конечное события (Рис.1).
На диаграмме процесса в нотациях Процесс, Процедура, BPMN необходимо разместить стартовое событие, но конечное - необязательно.
В нотациях Процесс, Процедура, ЕРС, BPMN диаграмму процесса с параллельными ветками необходимо построить так, чтобы параллельные ветки выходили из одной операции, события или оператора, и сходились на одной операции, событии или операторе, либо не сходились нигде на диаграмме (Рис.3). В противном случае, если ветки процессов выходят из одной точки ветвления и лишь часть из них сходится в одной точке слияния, система не будет считать ветки параллельными, и вместо слияния мы получим ветвление.
Пример на диаграмме BPMN: диаграмму процесса с параллельными ветками необходимо построить так, чтобы параллельные ветки выходили из одной задачи, события или шлюза, и сходились на одном шлюзе (Рис. 4), либо не сходились нигде на диаграмме (Рис. 5.).
При имитации процесса в нотации ЕРС, декомпозированного на несколько уровней, связь уровней осуществляется по событиям. Имитация процеса в нотации EPC, дойдя до декомпозированного подпроцесса, переходит на его диаграмму, имитирует его выполнение, возвращается обратно и продолжает имитацию по диаграмме процесса. Переход на диаграмму декомпозированного подпроцесса осуществляется только в том случае, если событие, активизирующее декомпозированный подпроцесс на диаграмме процесса (Рис.6), и хотя бы одно стартовое событие диаграммы декомпозированного подпроцесса (Рис.7) совпадают. Если совпадающих событий нет, имитация останавливается. Возвращение обратно на диаграмму осуществляется по совпадающим событиям. Если совпадений не обнаружено, то имитация останавливается.
Invalid Link | Invalid Link |
При имитации процесса в нотациях Процесс, Процедура, декомпозированного на несколько уровней, связь уровней осуществляется по стрелкам «Связь предшествования». Если на диаграмму процесса в нотации Процесс или Процедура добавлены декомпозированные подпроцессы, то имитация, дойдя до декомпозированного подпроцесса, переходит на него, имитирует его выполнение, возвращается обратно и продолжает имитацию по диаграмме процесса. Переход на диаграмму декомпозированного подпроцесса осуществляется только в том случае, если стрелка «Связь предшествования», входящая в подпроцесс на диаграмме процесса (Рис.8), и хотя бы одна из стрелок, запускающих выполнение диаграммы декомпозированного подпроцесса (Рис.9), совпадают. Если совпадающих стрелок «Связь предшествования» нет, имитация останавливается. Возвращение обратно осуществляется по тому же принципу – совпадение стрелок. Если совпадений не обнаружено, то имитация останавливается.
Invalid Link | Invalid Link |
При имитации процесса, декомпозированного на несколько уровней, связь уровней осуществляется по потокам управления.
Если на диаграмме процесса в нотации BPMN есть декомпозированные подпроцессы, то имитация, дойдя до декомпозированного подпроцесса (Рис. 10), переходит на его диаграмму (Рис. 11), имитирует ее выполнение, возвращается обратно и продолжает имитацию по диаграмме процесса.
Invalid Link | Invalid Link |
В состав подпроцесса может входить стартовое событие лишь одного типа: «Неопределенное». В случае, если подпроцесс содержит стартовые события с триггерами, имитация игнорирует эти стартовые события.
Запуск декомпозированного подпроцесса осуществляется по всем стартовым событиям неопределенного типа, а также по всем элементам потока (события, процессы, шлюзы), не имеющим входящих потоков управления.
Выход обратно из подпроцесса происходит после каждого срабатывания финального события/событий, поскольку их может быть одно или несколько. Если нет финального события, то выход осуществляется по завершению очередного потока. Выход также возможен по альтернативной ветке, если на диаграмме процесса к подпроцессу присоединено событие-обработчик, а на диаграмме подпроцесса сработало совпадающее событие. При этом граничное событие может прервать выполнение основного потока, если оно с типом Прерывающее (двойная сплошная линия), или не прерывать основной поток, если оно с типом Непрерывающее (двойная линия, одна из которых прерывистая)
Событие, прерывающее процесс, должно присутствовать на диаграмме подпроцесса в виде инициатора.
При имитации, дойдя до декомпозированного подпроцесса с граничными прерывающими событиями, система переходит на его диаграмму и выполняет подпроцесс. Если возникло одноименное конечное событие-инициатор, то, вернувшись на вышележащую диаграмму, система ищет, присоединено ли такое событие на диаграмме. Если событие найдено, то система двигаемся по потоку управления, исходящему от него. Если событие не найдено, то имитация данного экземпляра процесса останавливается. На диаграмме декомпозиции граничные события никаким особенным способом не обозначаются. Событие, присоединенное к процессу, и событие на его диаграмме - это одно и то же событие с точки зрения используемого объекта. Оно может быть и конечным, и промежуточным.
Основной принцип перехода на подпроцесс, выполненный в другой нотации: в декомпозированном подпроцессе стартуют все стартовые события, которые система посчитает возможными стартовать. Например, в EPC не стартует стартовое событие, присоединенное к Интерфейсу процесса, в BPMN стартуют те события, которые имеют тип "Неопределенный", а также начнут исполняться все элементы потока (события, процессы, шлюзы), не имеющие входящих потоков управления.
Выход из имитируемого подпроцесса произойдет, когда все маркеры подпроцесса на всех его уровнях закончат свое существование.
Если диаграмма процесса описана в нотации Процесс или Процедура (Рис.14), а диаграмма одного из его подпроцессов - в нотации ЕРС (Рис.15), то, при переходе к имитации подпроцесса, возникнут все стартовые события диаграммы, кроме тех, у которых есть входящие связи с элементом "Интерфейс процесса".
Возврат на диаграмму процесса в нотации Процесс или Процедура произойдет только после того, как все потоки, запущенные на диаграмме ЕРС (или BPMN) будут завершены.
Invalid Link | Invalid Link |
Если диаграмма процесса описана в нотации Процесс или Процедура (Рис.16), а диаграмма одного из его подпроцессов - в нотации BPMN (Рис.17), то при переходе к имитации диаграммы BPMN возникнут все элементы без входящих связей (кроме исключений: событийный подпроцесс и т.п.) и все стартовые события диаграммы, кроме тех, у которых есть входящие потоки сообщений с элементом внешний «Пул». Возврат на диаграмму процесса в нотации Процесс или Процедура произойдет только после того, как все потоки, запущенные на диаграмме BPMN, будут завершены.
Если диаграмма процесса описана в нотации EPC, а диаграмма одного из его подпроцессов - в нотации BPMN, то событие на диаграмме EPC и стартовое событие, запускающее процесс BPMN, должны совпадать (в противном случае - выдается предупреждение без остановки имитации). Конечное событие процесса BPMN и событие, идущее после процесса на диаграмме EPC, тоже должны совпадать.
При имитации диаграммы процесса в нотациях Процесс, Процедура, ЕРС, BPMN окончание выполнения одного подпроцесса диаграммы приводит к запуску следующего подпроцесса. При имитации набора отдельных процессов каждый процесс имитируется отдельно от других процессов и запускается на выполнение по своим законам. Если же необходимо передать управление из одного процесса в другой процесс, элементы на диаграммах этих процессов необходимо связать.
Для связи элементов диаграмм различных процессов используются междиаграммная ссылка (МДС) для нотации Процесс и Процедура, интерфейс процесса для нотации EPC и свернутый пул для нотации BPMN.
Если необходимо связать элементы на диаграммах разных процессов, в нотациях Процесс, Процедура используются МДС (Рис.18, Рис.19). При этом переход осуществляется по стрелке «Связь предшествования» (стрелки должны совпадать).
Invalid Link | Invalid Link |
Элементы на диаграммах процессов в нотации ЕРС связываются при помощи Интерфейса процесса (Рис.20, Рис.21). При этом переход осуществляется по событию (события на диаграммах должны совпадать).
Invalid Link | Invalid Link |
Также можно связать элемент диаграммы процесса в нотации ЕРС с элементом диаграммы процесса в нотациях Процесс или Процедура. Для этого необходимо, чтобы на диаграмме процесса в нотации ЕРС (Рис.22) в качестве Интерфейса процесса, который активизируется конечным событием, был отображен Интерфейс Процесса или Процедуры, куда необходимо перейти (Рис.23). При этом конечное событие диаграммы ЕРС и стартовое событие диаграммы Процесса или Процедуры должны совпадать.
Invalid Link | Invalid Link |
Элемент на диаграммах процессов в нотации BPMN можно связать с элементом на диаграмме процесса в нотациях Процесс, Процедура или EPC. Для этого необходимо, чтобы на диаграмме процесса в нотации BPMN (Рис.24) в качестве пула был отображен Процесс, Процедура или EPC, куда необходимо перейти.
На диаграмме Процедуры должно присутствовать событие, совпадающее по имени с событием на диаграмме процесса BPMN (Рис.25).
Событие, из которого выходит поток сообщения на диаграмме BPMN, и стартовое событие диаграммы Процесса, Процедуры или EPC должны совпадать. Присутствие интерфейса (ссылающегося на BPMN) на диаграмме EPC не обязательно.
Имитация функциональной диаграммы, описанной в нотации IDEF0, имеет неоднозначную интерпретацию, поскольку в самой нотации нет стартовых событий, и потому нет возможности что-либо стартовать. Можно использовать функции IDEF0 как контейнеры для хранения диаграмм процессов, описанных в нотациях, где есть стартовые события. Тогда при имитации диаграммы в нотации IDEF0 среди всех еe функций система ищет те из них, что описаны (декомпозированы) в нотациях Процесс, Процедура, ЕРС, BPMN и при этом имеют стартовые события. Если такие функции найдены, система представляет функциональную диаграмму IDEF0 в виде набора отдельных процессов в нотациях Процесс, Процедура, ЕРС, BPMN. При этом найденные процессы могут выполняться как последовательно (передавая управление друг другу), так и независимо друг от друга.
Для задания последовательности выполнения подпроцессов в разных нотациях (Процесс/Процедура, ЕРС и BPMN) их необходимо связать по правилам, описанным в разделе «Правила связи диаграмм отдельных процессов».
Подпроцессы, которые не связаны между собой, запускаются на выполнение независимо друг от друга, каждый по своим законам, и будут выполняться параллельно.
Если среди функций IDEF0 есть недекомпозированные функции IDEF0, производится псевдоимитация этих функций.
Имитация выполнения процесса-ссылки производится, если соответствующий ему типовой процесс описан в одной из нотаций: Процесс, Процедура, ЕРС и BPMN. При этом должны соблюдаться следующие правила моделирования: