«Математик – это машина по переработке кофе в теоремы» (Альфред Реньи, Пауль Эрдёш)
«Математик – это машина по переработке кофе в теоремы» (Альфред Реньи, Пауль Эрдёш)

Формализация бизнес-процессов алгебраическими выражениями полвека будоражит умы математиков и методологов BPM (Business Process Management, ранее называемое CASE). Однако появление разнообразных алгебр процессов не добавили в практику BPM алгебраического формализма.

Алгебра алгоритмов (алгоритмическая алгебра Глушкова [GLU78], включая формализацию параллелизма), Алгебра \ исчисление процессов (CCS \ pi-calculus, CSP, ACP и др.), «Исчисление функций» (УФО, [UFO14]) не позволяют говорить о формальной (математической) теории BPM, а также инструменте, применимым бизнес-аналитиком на практике, т.е. об Алгебрах \ исчислениях бизнес-процессов - как математических абстракциях, формализующих workflow \ docflow и другие составляющие бизнес-процессов (Алгебре \ исчислении workflow).

0. Место исчислений процессов в бизнес-процессах

«Место» алгебр процессов в моделировании бизнес-процессов демонстрирует сравнительная таблица рис. 14.20 [GROM18], оригинал см. [SBPM12].

Рис. 14.20. Таблица возможностей различных методов и подходов в моделировании бизнес-процессов
Рис. 14.20. Таблица возможностей различных методов и подходов в моделировании бизнес-процессов

Историю возникновения алгебр (исчислений, теорий) процессов см. [Baet04], [MIR]. В ее основе лежат CCS Милнера [Rocco] и CSP (Communicating Sequential Processes) Хоара [HOAR89]. Оценку обоих направлений советскими учеными см. [ERSH84], отечественную CCS-модификацию «УФО»: [UFO14],[UFO15], [MAMI16]. В целом ставится задача математического описания и анализа взаимосвязанных - взаимодействующих (обменивающихся информацией) систем (процессов, функций), т.е. параллельных (узлы рядом) или распределённых (узлы системы разнесены) систем с конкуренцией за разделяемый системный (инструментальный, трудовой, иной) ресурс.

«Бизнес – процесс» - это: а) просто процесс см. [BPM23]; б) динамическая система, т.к. процесс –  набор действий (подпроцессов), которые в общем случае выполняются параллельно.

Поэтому бизнес-процессы – как динамические процессы с параллелизмом - такие же распределённые \ параллельные системы (Parallelism & Concurrency) и к ним применимы методы описания, анализа и формальной верификации параллельных конструкций, включая формализм алгебраическими методами. Обзор подходов к описанию и верификации распределенных систем см. [BURD06]. Проблема в том, что пока нет таких удобных (хороших) инструментов.

1. CCS: Кофе-машина-теорема

Алгебра процессов содержит формализм, который определяет три комбинатора: альтернативную «+» (выбор), последовательную «;» (упорядочивание) и параллельную «|» композиции, при этом мы можем рассуждать о таких системах, используя алгебру, то есть «формульные» рассуждения [Baet04].

Для демонстрации идей алгебры процессов / исчисления процессов / теории процессов часто используется пример: Кофе машина и ученый (Кофе машина и два ученых).

Изложение сценария и формализма «Кофе машина и ученый» («Кофе машина и два ученых») приведено в [CCS1], [CCS2], [CCS3] – это классический пример описания параллелизма и конкуренции в алгебре процессов Calculus of Communicating Systems (CCS) на зыке операционной семантики Labeled Transition Systems (LTS).

Есть и другие примеры CCS: машина «кофе и чай», машина «большая и малая шоколадки. Определение «Ученого» (математик, Computer Scientist и т.п.), данное в эпиграфе, – это про сценарий «Кофе машина ученый» (запятую можно расставить по-разному: кофе и device «Математик») - как элемент парадигмы «publish or perish» естественного отбора в суровом мире животных ученых.

Пример «кофе машина и ученый» в литературе часто искажается: процесс почему-то начинают с «pub» (начинают с публикации статьи), а не с «coin» (монеты), хотя очевидно, что цикл завершается публикацией (см. эпиграф), а не начинается с нее: Утром – деньги (coin) вечером – стулья \ теоремы (pub). Тут (для удобства набора в html, word.doc, граф. редакторах и др.) подчеркнутая черта имеет смысл, как надчеркнутая в CCS (LTS), т.е. метка «выход». Иногда применяются также альтернативные обозначения: вход «coin?», выход «coin!». Вместо «def» используется «:=».

Для варианта «Кофе машина и один ученый» логика такая [CCS4]: рука ученого подносит (бросает) монету – хендшейк -  мех-рука машины забирает монету; мех-рука машины выдает кофе – хендшейк – рука ученого берет кофе; ученый выпивает кофе (вдохновляется) и после этого публикует теорему (см. эпиграф) и далее рекурсия (лат. recursio возвращение).

Комплементарные порты / действия, «химический котел процессов» (взаимодействие, реакции в составе Абстрактной Химической Машины) и т.п. отражает формализм CCS, описанный в [CCS1], см. рис 1.1.

Рис. 1.1 Кофе машина и ученый. Общее описание (CCS, EPC)
Рис. 1.1 Кофе машина и ученый. Общее описание (CCS, EPC)

Общая запись:

Computer Scientist (CS),

CS: = coin.coffee.pub.CS - выдал монету, взял кофе, выдал публикацию, рекурсия (отличается от оригинала, т.е. начинается не с pub);

Coffee Machine (СМ), 

CM: = coin.coffee.CM   - взял монету, выдал кофе, рекурсия.

SmUni: = CM|CS \ coin \ coffee - т.е. процессы CS и CM выполняются независимо и взаимодействуют через порты (комплементарные каналы).

Для понимания приведен процесс в нотации ЕРС (Event-Driven Process Chain): подробный 1.1в и сокращенный 1.1г.

На рис. 1.2 выполнена разбивка CS на CS0, CS1, CS2, а CM на CM0 и CM1 (добавлен «0»). В источниках такой разбивки часто нет, поэтому может возникнуть путаница: формулы приводятся без конкретизации «CS» (СМ), в то время как они будут разные для общего и детального варианта модели.

Рис. 1.2 Кофе машина и ученый. Формализм с наложением на граф
Рис. 1.2 Кофе машина и ученый. Формализм с наложением на граф

Рис. 1.2 сводится к системе выражений, приведенными на рис. 1.3 [CCS1] (2.2. CCS, FORMALLY), проведена замена CS на CS0, а CM на CM0.

Рис. 1.3 Кофе машина и ученый. Формальное детальное описание CCS (LTS)
Рис. 1.3 Кофе машина и ученый. Формальное детальное описание CCS (LTS)

Интерпретировать запись процесса рис. 1.3 можно так:

Proc (processes) – это процедуры (операции, процессы), состояния (сети Петри);

Act (actions) – это действия, но в понимании как переходы (сети Петри) или условия/ события (WF2M).

Таким образом, есть четыре состояния (вкл. начальное, все разделены запятой) и четыре перехода: два варианта перехода типа «pub» и два варианта перехода типа «r». Каждый элемент формального описания рис. 1.3 легко идентифицируется на графе переходов рис. 1.2.

Приведенные выражения относятся только к паре «Машина – Ученый», вариант с двумя учеными будет значительно сложнее.

Если есть альтернативный выбор, например, прием монеты и альтернатива выдачи «кофе горячий» или (точнее «исключающее ИЛИ», т.е. XOR) «кофе холодный», то можно записать [CCS1], [CCS4]:

CM: = coin.(hot-coffee.CM  + iced-coffee.CM) . 

2. Сомнения в состоятельности текущего «workflow to calculus»

Добавление в модель CCS механизма (на приведенных здесь примерах это не принципиально, например, из формулы рис. 2.1 можно опустить (х) и <х>) порождения новых имен (ν-оператор) и возможности передачи по каналам связи имен каналов связи определили новое исчисление: исчисление мобильных процессов, пи-исчисление (pi-calculus) [ABBAS18], [SMITH04]. Пи-исчисление, в отличие от CCS, является полной по Тьюрингу моделью вычислений.

Пример математического описания процесса в нотации BPMN алгебраическим аппаратом pi-calculus приведен в [MAMI16]. Граф и pi-calculus выражение продублирован на рис. 2.1. Не очевиден переход от схемы BPMN в граф. Подобное по кластерной тематике см. [YANCH17].

Рис. 2.1 Граф процесса и его pi-calculus выражение
Рис. 2.1 Граф процесса и его pi-calculus выражение

Не понятно, как вообще хоть немного сложный workflow (вкл., join «не исключающее ИЛИ») можно формализовать через CCS или pi-calculus. Однако ситуация на мой взгляд напоминает: «Смешались в кучу кони, люди, И залпы тысячи орудий», т.е. происходит подмена docflow на workflow. Полагаю, что система «комплементарных портов» \ каналов была введена в алгебраические модели не для формализации workflow, а как попытка дополнить, но не заменить ее. Т.е. каналы связи в CCS \ pi-calculus – это фактически каналы docflow.

Каналы workflow и каналы docflow должны формализовываться раздельно: первые на рис 1.1в и г (ЕРС) показаны синими стрелками, вторые – черными с подписью in / out.

Сомнения (точнее обвинения в спекуляциях) в эффективности формализации workflow как pi-calculus, так и сетями Петри приведены в [pihype], в том числе: «Pi-calculus - это язык для экспертов, где простые вещи внезапно становятся очень сложными». Указанный в [pihype] «Pi-hype» начался c утверждения, что Workflow – это просто процесс Pi [SMITH04]. Указанным выше (кони-люди) «сваливанием в одну кучу» с названием «процесс» и «пропитан» текст [SMITH04]: список задач, каталог, ресурс – это как бы тоже «процесс».

Сформулируем проблему. Необходимо известные Workflow Patterns и конфигурации на их основе формализовать алгебраическим языком (абстракцией). Словесные и программные (скриптовые, XML) описания не обеспечивают необходимый абсолютизм (абсолютную однозначность). В терминах функционального подхода: необходимо выражение (формула, функция), которое описывает каждый шаблон (паттерн), а алгоритм строится на сочетании таких выражений (система уравнений).

Никто не будет спорить с формулой «корень числа» или «квадрат числа», но пока нет подобного формализма при реализации Workflow шаблонов (в частности) и шаблонов бизнес-процессов (в общем случае). Поэтому различные реализации Workflow-engine могут давать разные результаты одного сценария (шаблона). Это уже следствие ключевой проблемы – формализации алгоритмов функциями (по всей видимости алгебраическими).    

При решении этой проблемы через pi-calculus выявлено:

а) формализуемы только простые паттерны;

б) «Даже простые процессы pi-исчисления трудны для анализа», что выражается прямо в заголовке статьи [ABBAS18].

Поэтому формализация алгоритмов аналитическими выражениями pi-calculus, эквивалентными графическому представлению workflow, пока не оправдана ввиду как сложности, так и недостаточной мощности (or-join, сложные Workflow Pattern). 

«Метамодельно». [BABKIN07]:

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

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

Чтобы подчеркнуть особое положение этого второго языка по отношению к исходному языку модели используется приставка «мета-», которая указывает на то, что «мета-язык» находится выше в иерархии по отношению к исходному понятию «язык».

Таким образом, сами Workflow Pattern и спецификации bpmn, yawl, xpdl, bpel и т.п., которые и определяют реализацию этих WF-паттернов, должны быть сами формализованы через более верхнеуровневую модель (язык), которая обладала бы абсолютным формализмом, например, через алгебраический аппарат (более мощный чем CCS\ pi-calculus). Более того, такая метамодель (хотя бы ее базовая часть, т.е. «WF-арифметика») должна быть не сложной и понятной не математику и не программисту. Иного это называют «унифицированная платформа процессов».

Пример стека:

1 Мета-модель \ язык \ алгебра бизнес-процессов – как новая модификация класса алгебры \ исчисления процессов;

2 Workflow Pattern - в общем случае, с дополнением docflow-составляющей (Docflow \ material_flow Pattern) и др.;

3 Спецификация «прикладного языка» для документального описания (неисполняемая нотация), имитационного моделирования \ исполнения (программирования) процесса (bpmn, yawl, xpdl, bpel). Такая спецификация определяет реализацию Workflow \ Docflow Pattern.

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

Попытки «математизировать» workflow (процессы) проводятся регулярно, примеры сочетания workflow и алгебр процессов:

1 Метамодель Liesbet (CCS-YAWL): Formalising Workflow: A CCS-inspired Characterisation of the YAWL Workflow Patterns 

2 Workflow Patterns: Pi calculus versus Petri nets [pihype]

3 UML2AD - CSP: A UML 2.0 Activity Diagrams/CSP Integrated Approach for Modeling and Verification of Software Systems

Хорошая подборка по технологиям формализации, вкл. BPMN, S-BPM (вкл. BPMN – OWL - S-BPM), actor model и др.: An Ontological Analysis of Business Process Modeling and Execution

Заключение

Попытки математической формализации прикладных BPMN \ YAWL через сети Петри и алгебры процессов (CCS, CSP, ACP, pi-calculus, actor model и др.) или другим математическим аппаратом на данный момент нельзя считать успешными:

«Очевидно, что управление бизнес-процессами до сих пор не имеет прочной научной основы …

Можно показать, что реальные концепции, такие как BPMN 2.0, или концепции, разработанные научным сообществом, такие как сети Петри, не соответствуют потребностям бизнеса и организаций». Process Algebra and the Subject-Oriented Business Process Management Approach

Однако и сам s-BPM, одно время позиционированный маркетингом как «BPM 2.0», также не прошел «тест на математику», да и сам не долго продержался «на плаву» (Metasonic, включая стол Metasonic Touch).

На сегодня нет общепринятого математического аппарата, способного описывать не тривиальные workflow, например, конструкции or-join [WF2M23] (однако указывают на такие расширения, например, к pi-calculus [SMITH04]). Такой формализм позволил бы говорить об Алгебре Workflow как составной части Алгебры бизнес-процессов.

XML-языки Workflow типа bpmn, yawl, xpdl, bpel «далеки» от математики (как бы ни заявлялось, что внутри них CCS\ pi-calculus\ Petri net), т.е. от формализма алгебраическими методами, включая формальную верификацию. Мета-модель должна обеспечить трансляцию workflow-составляющей в некую математическую абстракцию (в идеале дополненную docflow-составляющей), что в целом позволит иметь понятное рядовым бизнес-аналитикам алгебраическое представление алгоритма бизнес-процесса в увязке с его графическим представлением (графоаналитическое). В примере с кофе более подходит вместо docflow название material flow (суть такая же), моделируемое в CCS \ LTS через комплементарные порты Sender \ Receiver.

Пока для описания бизнес-процессов отсутствуют как понятная не программисту нотация, так и формализм, понятный не математику. Для реализации «Арифметика бизнес-процессов» (то, что проще Алгебры бизнес-процессов) необходима как более простая по сравнению с BPMN2 (UML2-AD) \ YAWL нотация, так и более простой по сравнению известными алгебрами процессов математический формализм.

«Есть вещи, которые кажутся невероятными большинству людей, не изучавших математику» (Архимед). Какой алгебраический формализм применим для бизнес-процессов? Какая она «Алгебра\  Арифметика\ Исчисление бизнес-процессов»?

Ссылки (не все)

[GLU78] Глушков В.М., Цейтлин Г.Е., Ющенко Е.Л. Алгебра. Языки. Программирование. // 2-е изд., перераб. — Киев: Наукова думка, 1978. — 318 с. Помещена в музей с разрешения родных автора

[UFO14] Зимовец О.А., Маторин С.И., Цоцорина Н.В., Гуль С.В. Исчисление функций ─ алгебраический аппарат процессного подхода

[UFO15] Маторин С.И., Жихарев А.Г., Зайцева Н.О. Имитационное моделирование с использованием системно-объектного подхода

 [GROM18] Громов А.И. Управление бизнес-процессами: Современные методы. 2018 рис., первые 26 стр.

[SBPM12] S-BPM Method by Comparison

Оригинал таблицы Fig. 14.21

[WF2M23] WF2M сеть. Формализм и математика workflow

https://habr.com/ru/articles/781124/

[BPM23] В толковый словарь Business Process Management: Бизнес-функция vs Бизнес-процесс

[MIR] Миронов А.М. Теория Процессов. Глава 11 Исторический обзор и современное состояние

[HOAR89] Хоар Ч. Взаимодействующие последовательные процессы. Перевод

[ERSH84] Отчет о командировке в ФРГ Ершова

[Baet04] Baeten, J.C.M. A brief history of process algebra

[Rocco] A gentle introduction to Process Algebras

[CCS1] Reactive Systems: Modelling, Specification and Verification

An Introduction to Milner’s CCS

[CCS2] Kommunikation und parallele Prozesse

[CCS3] Integration of time in a quantum process algebra

[CCS4] Лекция 3

[pihype] W.M.P. van der Aalst. Pi calculus versus Petri nets: Let us eat “humble pie” rather than further inflate the “Pi hype”

[SMITH04] H. Smith, P. Fingar, Workflow is just a pi process

Обычно указываемая в литературе ссылка недоступна: www.bpmi.org/downloads/LIB-2004-01-4.pdf (September 23, 2005)

Google – перевод

[MAMI16] Маторин С.И., Михелев М.В. Применение алгебраического аппарата для эффективного моделирования бизнес-процессов

[YANCH17] Янчуковский В.Н. СИСТЕМА РАСПРЕДЕЛЕННОГО КЛАСТЕРНОГО АНАЛИЗА ОБЪЕКТОВ С ОДНОРОДНЫМИ ПРИЗНАКАМИ – МОДЕЛЬ И РЕАЛИЗАЦИЯ

[ABBAS18] М.М. Аббас, В.А. Захаров, Даже простые процессы π-исчисления трудны для анализа

[BABKIN07] Э.А. Бабкин, О.Р. Козырев АРХИТЕКТУРА И ТЕХНОЛОГИЯ ИСПОЛЬЗОВАНИЯ СОВРЕМЕННЫХ ЕRР-СИСТЕМ

См. 1.6.2 Понятие модели и мета-модели, их совместное использование в современных информационных технологиях, стр. 62

Похожая книга:

Михеев А. Системы управления бизнес-процессами и административными регламентами. На примере свободной программы RunaWFE

Хабра-линк (всего 1 шт.?) про Calculus of Communicating System

Путь от вычислительной машины к машине координационной

Перефразируя оттуда определение «Алгебры бизнес-процессов»: Путь от вычислительной к алгоритмической машине, к исчислению алгоритмов деятельности, т.е. необходимо формализовать поведенческую природу бизнес-процессов, т.е. алгоритмов в «широком» смысле, т.е. не только workflow.

PS:

...

Комментарии (7)


  1. Jeshua
    14.01.2024 19:28
    +1

    Что это было? Я чуть кофе не подавился. А есть какая-то вводная статья по этой теме? Чувствую, что это что-то полезное для меня (по ключевым словам), но слова вообще не собираются у меня в предложения.


    1. itGuevara Автор
      14.01.2024 19:28

      А есть какая-то вводная статья по этой теме? 

      Вводная куда? В процессные алгебры или в BPM\s-BPM\BPMN\Workflow?

      В списке ссылок много литературы. Вообще, раз статья началась с таблички из Громова, то его книжку можно сначала пролистать: УПРАВЛЕНИЕ БИЗНЕС-ПРОЦЕССАМИ: СОВРЕМЕННЫЕ МЕТОДЫ


      1. Jeshua
        14.01.2024 19:28

        Вводная куда? 

        Хотя бы в обозначения. Читаю как на альфацентаврском. Первый раз вижу такое. Где описаны все эти CCS, CSP, ACP; что означают цифры в CCS4, YANCH17, ABBAS18?


    1. murkin-kot
      14.01.2024 19:28

      Чувствую, что это что-то полезное

      Чувства бывают обманчивы.

      Автор довольно бессвязно излил на читателей поток сознания, то есть набор разрозненных фактов, которые сумел вспомнить по в принципе насущной, но крайне слаборазвитой теме.

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

      Кратко смысл темы - ввести очередные формализмы. Но про то, что формализмы тогда нужно будет изучать в школе несколько лет, желающие их ввести не думают. То есть средний работник в ИТ сегодня не готов к такой реальности, это во первых. Ну и если найдёте готового, то пользы от него будет даже меньше, чем от привычных всем людей без алгебры в голове.

      Так что не верьте чувствам. Ну это кроме случая, когда у вас возникло чувство, что вас опять обманывают.


      1. itGuevara Автор
        14.01.2024 19:28

        1 Какие конкретно ошибки допущены автором?

        2

        - он не знает, зачем нужна алгебра в теме, но смутно уверен, что она обязательно поможет, ведь это-ж математика!

        Кратко смысл темы - ввести очередные формализмы. 

        Какой по-Вашему был ответ автора? И какой Ваш ответ на тот же вопрос "зачем нужна"?


        1. murkin-kot
          14.01.2024 19:28

          Какой по-Вашему был ответ автора?

          Его не было.

          И какой Ваш ответ на тот же вопрос

          См. выше - ответ "не нужна в текущих условиях".


          1. itGuevara Автор
            14.01.2024 19:28

            Опять какие то загадки:

            См. выше - ответ "не нужна в текущих условиях".

            Где алгебра процессов нужна, а где не нужна? И про ошибки (п. 1) не ответили.