Update Mapping-BPMN-to-EPC.md

This commit is contained in:
Dmitry 2025-11-18 11:31:43 +03:00 committed by GitHub
parent 55f2d4bf44
commit c15b7f90da
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -148,3 +148,157 @@
4. **Условные переходы**: В EPC условия часто привязаны к событиям, а не к операторам
Маппинг требует адаптации модели с учетом бизнес-логики и конкретных требований процесса.
### Mermaid
# Маппинг шлюзов BPMN в EPC (Mermaid.js)
## 1. Exclusive Gateway (XOR)
### Разделяющий XOR
```mermaid
flowchart TD
A[Функция] --> B{ }
B --> C[Функция A]
B --> D[Функция B]
style B fill:#000000
style B color:#ffffff
```
**Комментарий**: В EPC черный крест (XOR) указывает на исключающий выбор - выполняется только одна ветвь.
### Сходящийся XOR
```mermaid
flowchart TD
A[Функция A] --> C{ }
B[Функция B] --> C
C --> D[Следующая функция]
style C fill:#000000
style C color:#ffffff
```
## 2. Parallel Gateway (AND)
### Разделяющий AND
```mermaid
flowchart TD
A[Функция] --> B{ }
B --> C[Функция A]
B --> D[Функция B]
style B fill:#000000
style B color:#ffffff
```
**Комментарий**: В EPC для AND используется тот же символ, но логика определяется контекстом - все пути выполняются параллельно.
### Сходящийся AND
```mermaid
flowchart TD
A[Функция A] --> C{ }
B[Функция B] --> C
C --> D[Следующая функция]
style C fill:#000000
style C color:#ffffff
```
## 3. Inclusive Gateway (OR)
### Разделяющий OR
```mermaid
flowchart TD
A[Функция] --> B(( ))
B --> C[Функция A]
B --> D[Функция B]
B --> E[Функция C]
style B fill:#000000
style B color:#ffffff
style B stroke:#000000
style B stroke-width:2px
```
**Комментарий**: В EPC OR часто представляется как пустой круг или комбинация операторов, активирующая одну или несколько ветвей.
## 4. Event-Based Gateway
```mermaid
flowchart TD
A[Функция] --> B{◇}
B --> C[⚡ Таймер]
B --> D[✉️ Сообщение]
B --> E[🔄 Ошибка]
C --> F[Обработка таймера]
D --> G[Обработка сообщения]
E --> H[Обработка ошибки]
style B fill:#ffffff
style B color:#000000
style B stroke:#000000
style B stroke-width:2px
```
**Комментарий**: Event-Based Gateway отображается через ожидание различных событий-триггеров.
## 5. Комбинированные операторы EPC
### Комплексная логика
```mermaid
flowchart TD
A[Начальная функция] --> B{XOR}
B --> C[Функция A]
B --> D[Функция B]
C --> E{AND}
D --> E
E --> F[Функция C]
E --> G[Функция D]
F --> H((Конечное событие))
G --> H
style B fill:#000000
style E fill:#000000
style B color:#ffffff
style E color:#ffffff
```
## 6. Полный пример процесса
```mermaid
flowchart TD
Start((Старт)) --> A[Проверить заявку]
A --> B{XOR}
B --> C[Одобрить заявку]
B --> D[Отклонить заявку]
C --> E{AND}
E --> F[Уведомить клиента]
E --> G[Обновить БД]
F --> H((Заявка одобрена))
G --> H
D --> I((Заявка отклонена))
style B fill:#000000
style E fill:#000000
style B color:#ffffff
style E color:#ffffff
```
## Особенности маппинга в Mermaid:
1. **XOR оператор** - черный ромб/прямоугольник
2. **AND оператор** - черный ромб (контекст определяет логику)
3. **События** - круги
4. **Функции** - прямоугольники
5. **Поток управления** - стрелки
Mermaid не имеет нативной поддержки EPC, но может эмулировать основные конструкции через стандартные элементы flowcharts.