Search
Write a publication
Pull to refresh

Comments 13

Спасибо автору, очень интересно изложен материал по BPMN. Собираюсь погрузиться и попробовать описать действующий портал этим инструментом.

Прикладываю решение для Процесса ловли зайца :)

Верхний уровень
Подпроцесс «Подготовка»
Подпроцесс «Ловля зайца»

Статья понравилась. Простым языком объясняются базовые элементы и принципы.
Замечание: непрерывающий аттач таймер и Message Task Иди работай - куда придет это сообщение? Скорее тут user task обычный - и не выдумывать межпроцессные взаимодействия
В процессе подготовки к ловле зайца получение сигнала неоднозначно. Откуда придет сигнал? Кто поймет, что Петр зациклился и остановит бедолагу? Тут было бы правильным поставить после развилки по событиям второй таймер: если Петр не обнаружил перца до вечера, то отпустить уже его спать (завтра ему в 6 утра опять за кирпичом идти:))). Способ не единственный, можно и без этой развилки обойтись, циклом, например. Но если с развилкой, то сигнал тут не совсем то.
А в процессе "Ловля зайца" событие "Появился заяц" - это, скорее, Conditional Event. Так как сигнал нужно откуда-то получить, он сам не матеериализуется.

Спасибо за ваш комментарий и интересные замечания! Вы абсолютно правы — в предложенных схемах действительно есть спорные моменты. История про Петю и зайца хороша тем, что её можно додумывать и интерпретировать по-разному — хоть как бытовую байку, хоть как метафору системных процессов.

По поводу сигнала в цикле ожидания перца:
Да, это не классическая трактовка Signal Event. Но именно поэтому она и была выбрана: здесь «сигнал» — это способ показать внешнее, неявное вмешательство. Пётр сам ничего не делает, перец появляется не по его инициативе, и он даже не знает, кто и когда это сделает. Формально, можно было бы использовать таймер или Conditional Event, но Signal тут подчёркивает разрыв между действием и причиной — Пётр пассивен, результат зависит от «внешней магии» (в лице Зинаиды).

Насчёт завершения цикла — «вечером отправить Петра спать»:
Вы правы — с точки зрения корректного моделирования в BPMN действительно стоило бы предусмотреть прерывание процесса: например, таймер, который по наступлении определённого времени завершает цикл ожидания и отправляет бедного Петю домой. Но в рамках условий нашей «шутливой» задачи я сознательно оставила этот момент открытым, чтобы подчеркнуть идею зацикливания и зависимость от внешнего вмешательства. Это добавляет процессу гротеска и подчёркивает, как легко в реальности упустить точку выхода, если её явно не задать.

По поводу события «Появился заяц»:
Согласна, по нотации это скорее Conditional Event. Но и Signal Event тут выбран осознанно. В реальности Пётр не может определить условия появления зайца — для него это просто неожиданное событие извне. Он может сколько угодно сидеть в засаде, но не знает, по каким признакам заяц появится. Это вполне укладывается в концепцию Signal Event: неконтролируемое внешнее событие, не зависящее от действий участника процесса.

Спасибо ещё раз за интерес к статье и схеме — такие замечания очень помогают лучше осмыслить, как техника и форма взаимодействуют с содержанием, и как даже шутливые процессы могут натолкнуть на серьёзные выводы.

Отличная статья!) прям очень круто и понятно раздевала всё) спасибо огромное 🔥✨

Подписался)

А где можно проверять как будут двигаться токены? Чтобы прямо бегали по схеме как в статье?

Для Camunda Modeler есть бесплатный плагин Token simulation

О, спасибо большое! Попробую )

Это прям целый курс: надо в течение недели перечитывать и практиковаться, практиковаться и перечитывать!

Это мини, мини курс :)

Хотя, когда я объясняла это ребятам, у нас уходило больше 15 минут (как заявлено в статье). Мы разбирали всё до мелочей и тренировались на примерах. Но я уверена: если понять основы, всё остальное придёт с опытом. А из этой статьи можно почерпнуть как раз эти основы — и сделать первый шаг вперёд уже сейчас.

Когда-то мне самой повезло попасть на курсы Георгия Ржавина — он объяснял сложные вещи просто и ясно. Огромное ему спасибо за это!

И вам спасибо, что нашли время прочитать статью. Надеюсь, она окажется полезной и поможет вам двигаться дальше! 

Спасибо! Хорошая базовая статья по данной нотации. Попробую нарисовать процесс с ловлей зайца с помощью нейросети. Сейчас пробую описание диграмм UML с помощью неё, они получаются неплохо, а с BMPN ещё не пробовал

Sign up to leave a comment.

Articles