### 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 (поддержка кастомных правил преобразования).