Формализация бизнес-процессов алгебраическими выражениями полвека будоражит умы математиков и методологов BPM (Business Process Management, ранее называемое CASE). Однако появление разнообразных алгебр процессов не добавили в практику BPM алгебраического формализма.
Алгебра алгоритмов (алгоритмическая алгебра Глушкова [GLU78], включая формализацию параллелизма), Алгебра \ исчисление процессов (CCS \ pi-calculus, CSP, ACP и др.), «Исчисление функций» (УФО, [UFO14]) не позволяют говорить о формальной (математической) теории BPM, а также инструменте, применимым бизнес-аналитиком на практике, т.е. об Алгебрах \ исчислениях бизнес-процессов - как математических абстракциях, формализующих workflow \ docflow и другие составляющие бизнес-процессов (Алгебре \ исчислении workflow).
0. Место исчислений процессов в бизнес-процессах
«Место» алгебр процессов в моделировании бизнес-процессов демонстрирует сравнительная таблица рис. 14.20 [GROM18], оригинал см. [SBPM12].
Историю возникновения алгебр (исчислений, теорий) процессов см. [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.
Общая запись:
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.3 [CCS1] (2.2. CCS, FORMALLY), проведена замена CS на CS0, а CM на CM0.
Интерпретировать запись процесса рис. 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].
Не понятно, как вообще хоть немного сложный 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
[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)
[MAMI16] Маторин С.И., Михелев М.В. Применение алгебраического аппарата для эффективного моделирования бизнес-процессов
[YANCH17] Янчуковский В.Н. СИСТЕМА РАСПРЕДЕЛЕННОГО КЛАСТЕРНОГО АНАЛИЗА ОБЪЕКТОВ С ОДНОРОДНЫМИ ПРИЗНАКАМИ – МОДЕЛЬ И РЕАЛИЗАЦИЯ
[ABBAS18] М.М. Аббас, В.А. Захаров, Даже простые процессы π-исчисления трудны для анализа
[BABKIN07] Э.А. Бабкин, О.Р. Козырев АРХИТЕКТУРА И ТЕХНОЛОГИЯ ИСПОЛЬЗОВАНИЯ СОВРЕМЕННЫХ ЕRР-СИСТЕМ
См. 1.6.2 Понятие модели и мета-модели, их совместное использование в современных информационных технологиях, стр. 62
Похожая книга:
Михеев А. Системы управления бизнес-процессами и административными регламентами. На примере свободной программы RunaWFE
Хабра-линк (всего 1 шт.?) про Calculus of Communicating System
Путь от вычислительной машины к машине координационной
Перефразируя оттуда определение «Алгебры бизнес-процессов»: Путь от вычислительной к алгоритмической машине, к исчислению алгоритмов деятельности, т.е. необходимо формализовать поведенческую природу бизнес-процессов, т.е. алгоритмов в «широком» смысле, т.е. не только workflow.
PS:
...
Jeshua
Что это было? Я чуть кофе не подавился. А есть какая-то вводная статья по этой теме? Чувствую, что это что-то полезное для меня (по ключевым словам), но слова вообще не собираются у меня в предложения.
itGuevara Автор
Вводная куда? В процессные алгебры или в BPM\s-BPM\BPMN\Workflow?
В списке ссылок много литературы. Вообще, раз статья началась с таблички из Громова, то его книжку можно сначала пролистать: УПРАВЛЕНИЕ БИЗНЕС-ПРОЦЕССАМИ: СОВРЕМЕННЫЕ МЕТОДЫ
Jeshua
Хотя бы в обозначения. Читаю как на альфацентаврском. Первый раз вижу такое. Где описаны все эти CCS, CSP, ACP; что означают цифры в CCS4, YANCH17, ABBAS18?
murkin-kot
Чувства бывают обманчивы.
Автор довольно бессвязно излил на читателей поток сознания, то есть набор разрозненных фактов, которые сумел вспомнить по в принципе насущной, но крайне слаборазвитой теме.
Смею заметить, что автор сам не разбирается в вопросе. Маркер очень простой - он не знает, зачем нужна алгебра в теме, но смутно уверен, что она обязательно поможет, ведь это-ж математика!
Кратко смысл темы - ввести очередные формализмы. Но про то, что формализмы тогда нужно будет изучать в школе несколько лет, желающие их ввести не думают. То есть средний работник в ИТ сегодня не готов к такой реальности, это во первых. Ну и если найдёте готового, то пользы от него будет даже меньше, чем от привычных всем людей без алгебры в голове.
Так что не верьте чувствам. Ну это кроме случая, когда у вас возникло чувство, что вас опять обманывают.
itGuevara Автор
1 Какие конкретно ошибки допущены автором?
2
Какой по-Вашему был ответ автора? И какой Ваш ответ на тот же вопрос "зачем нужна"?
murkin-kot
Его не было.
См. выше - ответ "не нужна в текущих условиях".
itGuevara Автор
Опять какие то загадки:
Где алгебра процессов нужна, а где не нужна? И про ошибки (п. 1) не ответили.