doc/BPM/workflow/WF2M/ai_EPC-FSM.md
2025-11-28 21:24:16 +03:00

5 KiB
Raw Blame History

1 Представь схему в EPC (Event-Driven Process Chain) в формализме конечных автоматов

с учетом:

  • Исключаем Логические операторы (AND, OR, XOR) управляют ветвлениями.
  • Событие EPC → Переход FSM
  • Функция EPC → Состояние FSM.

Ответ

Преобразование EPC в конечный автомат (FSM) по новым правилам

Основные принципы соответствия

В новой схеме используются следующие правила отображения элементов:

  • Событие EPCПереход FSM
  • Функция EPCСостояние FSM
  • Логические операторы (AND, OR, XOR) — исключаются (рассматриваются только линейные цепочки)

Правила преобразования

  1. Начальное событие EPC
    → Переход из начального псевдосостояния FSM в первое состояние (функция).

  2. Промежуточное событие EPC
    → Переход между состояниями (от предыдущей функции к следующей).

  3. Конечное событие EPC
    → Переход из последнего состояния FSM в конечное псевдосостояние.

  4. Функция EPC
    → Состояние FSM, в котором выполняется соответствующая операция.

Формальная схема преобразования

Для цепочки EPC вида:

[Событие₁] → (Функция₁) → [Событие₂] → (Функция₂) → ... → [Событиеₙ]

Получаем FSM со следующими элементами:

Состояния (соответствуют функциям):

  • S_1 — (Функция₁)
  • S_2 — (Функция₂)
  • ...
  • S_{n-1} — (Функция_{n-1})

Переходы (инициируются событиями):

  1. S_{\text{нач}} \xrightarrow{\text{Событие}_1} S_1
  2. S_1 \xrightarrow{\text{Событие}_2} S_2
  3. ...
  4. S_{n-1} \xrightarrow{\text{Событие}_n} S_{\text{кон}}

где:

  • S_{\text{нач}} — начальное псевдосостояние FSM
  • S_{\text{кон}} — конечное псевдосостояние FSM

Пример преобразования

Исходная EPCцепочка:

[Заказ получен] → (Проверить оплату) → [Оплата подтверждена] → (Отправить товар) → [Товар отправлен]

Полученный FSM:

Состояния:

  • S_1: «Проверить оплату»
  • S_2: «Отправить товар»

Переходы:

  1. S_{\text{нач}} \xrightarrow{\text{Заказ получен}} S_1
  2. S_1 \xrightarrow{\text{Оплата подтверждена}} S_2
  3. S_2 \xrightarrow{\text{Товар отправлен}} S_{\text{кон}}

Особенности и ограничения

  1. Линейность
    Метод применим только для последовательных EPC без:

    • ветвлений
    • параллельных процессов
    • циклов
  2. Семантика состояний
    В отличие от классического FSM, состояние здесь означает активное выполнение функции, а не ожидание события.

  3. Инициализация
    Начальное псевдосостояние FSM (S_{\text{нач}}) введено формально — в EPC прямого аналога нет.

  4. Завершение
    Конечное псевдосостояние (S_{\text{кон}}) соответствует конечному событию EPC.

Рекомендации по применению

Использовать метод рекомендуется для:

  • простых линейных процессов;
  • моделирования этапов обработки с акцентом на время выполнения функций.

Для сложных случаев (ветвления, циклы):

  • добавляйте условия на переходах (например, \text{Оплата подтверждена} \land \text{Склад готов});
  • рассмотрите переход к расширенным моделям:
    • Harel Statecharts;
    • UML State Machines.

Инструменты для автоматизации:

  • YAKINDU Statechart Tools;
  • PlantUML (поддержка кастомных правил преобразования).