ЛОГІКА

BPMN

BPE — це бібліотека упраління бізнес-процесами стандарту BPMN 2.0 (з підтримкою паралельних гейтвеїв). До 2008 року існували інші стандарти та системи: WWF і BizTalk, Activity, Oracle BPM. BPE — це сабсет BPMN 2.0, який став узгодженим стандартом корпорацій в 2008 В BPE не обов'язково потрібно писати XML, всі ваші процеси можуть моделюватися в мовах Erlang та Elixir, а API настільки природний, наскільки природним є числення процесів та процеси віртуальної машини Ерланг. BPE повністю покриває всю мінімально необхідну спартанську функціональність систем управління бізнес-процесами, мереж Петрі, SADT-діаграм, діаграм активностей UML та FSM-моделей. У контексті процесів BPE у якості змінних можуть зберігатися і передаватися будь-які дані ERP системи які зберігаються в KVS. Кожен процес має свій лог, працює під супервізорами, з повністю персистентним станом, ізольований для vnode і стійкий до збоїв, здатний до міграцій. Є проксі N2O-протокол для веб-сокетів.

Поточний мій проект безпосередньо пов'язаний із моїм магістерським дипломом. Зараз я можу сміливо заявляти, що працюю за фахом. Тема мого магістрантського диплома на Факультеті Прикладної Математики була "Архітектура та програмування систем управління бізнес-процесами". У цій роботі було досліджено комплекс математичних, лінгвістичних (спеціалізованих мов DSL) та інших забезпечень, що лежать в основі таких систем.

У основі систем управління процесами лежать Мережі Петрі, переходи між станами FSM також відзначені вершинами. Цей математичний апарат передував моделі акторів. У роботі були розглянуті також інші моделі організації бізнес-процесів: Event-Condition-Action моделі (або як зараз модно говорити реакційної моделі), алгоритм RETE та дедуктивні системи правил.

Вже тоді мною були розглянуті всі існуючі на той момент Workflow DSL, як XPDL (WfMC), Skelta, OpenWFE, Shark, J2, jBPM. Створюючи тоді свою систему на .NET 1.0, я об'єднав ECA і Workflow підходи. Але я тоді не знав Erlang. Зараз я реалізував аналогічну за потужністю систему для мов Ерланг та Еліксір. За основу я взяв сучасний BPMN 2.0 CORE стандарт, який поєднав усі існуючі системи на ринку через 8 років після моєї роботи.

ІНШІ ФОРМАЛЬНІ МОДЕЛІ

Приємним у всій палітрі різних реалізацій моделей робочого процесу є те, що всі вони зведені до одного з двох видів кодування: один є алгебраїчним, а інший — геометричним.

Мережі Петрі

Геометричною є мережі Петрі. Карл Петрі ввів його в 1962 році під час дискретного аналізу асинхронних комп'ютерних систем. Будь-яке його графічне представлення можна було б визначити за допомогою формалізму мереж Петрі. Моделювання Петрі в одній із його форм є хорошим доповненням до алгебри процесів, корисної як обчислювальна модель.

Пі-числення

Алгебраїчне обчислення - це число Пі, розроблене Робіном Мілнером, який отримав премію Тьюринга за 1) Метамову ML, 2) обчислення для комунікаційних систем CCS (1980), загальну теорію паралельності та 3) теоретичну базу для помічників доведення, Логіка обчислювальних функцій LCF. Модель обчислення процесів є теоретичною основою віртуального середовища інфраструктури Erlang, тому реалізація BPE повністю спирається на Pi-calculus (1999), наступник поняття CCS. Таким чином, забезпечується ефективна обчислювальна модель для реалізації управління процесом робочого процесу.

Скінченні автомати

Скінченні автомати Одним із загальновідомих типів обчислення процесу кодування є добре розроблена структура FSM (60-і роки). Ця мова широко використовується майже в будь-якій мові програмування, представленій як основна функція або як бібліотека. Процес визначається з розширенням до машини Тьюринга зі станами, входами, виходами та функціями.

SADT діаграми

SADT Наступною мовою (фреймворком), яка використовувалася в (80-х, 90-х) для опису подібних до обчислень процесів визначень за допомогою графічних мереж Петрі та визначень моделі, була SADT, представлена Marca і MacGowan 1988, 1991.

Реактивні системи

Реактивні системи Однією з широкого діапазону семантики є реактивні системи, засновані на передачі повідомлень і маршрутизації подій, але також вони можуть бути відомі як FRP функціонального реактивного програмування, що скоріше є набором комбінаторів над потоками. Обидві інтерпретації використовуються в мовах і фреймворках, залежно від участі потоку у визначенні ядра (2010-і).

СИСТЕМИ ТИПІВ

Введення моделі Pi-числення у гомотопічній теорії типів дозволяю доводити чи спростовувати судження про властивості програм написаних на Пі-численні. Сесійні типи Кохея Хонди дозволяють вбудовувати логіку протоколів на рівні типів в система жирара (система F та система з лінійнити типами). У BPE роль типа змінних відповідають типам документів, які є простими рекордами Erlang, тому в BPE обробка робочого процесу безпечна для типів на етапі компіляції щодо типів документів.