Update ai_blocking_operation.md

This commit is contained in:
Dmitry 2025-09-12 20:36:58 +03:00 committed by GitHub
parent 3f15014779
commit a0c12714c4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -47,45 +47,39 @@ flowchart TD
- **Конечное событие** — завершение процесса [[5]].
### 2 BPMN-схема
#### **Почему не отображается BPMN-схема в Mermaid на GitHub**
#### **Корректная BPMN-схема в Markdown (Mermaid) для GitHub**
Вы столкнулись с ошибкой, потому что GitHub (и большинство Markdown-редакторов) **не поддерживает BPMN-диаграммы в Mermaid**. На данный момент поддерживаются только такие типы диаграмм, как `flowchart`, `sequenceDiagram`, `classDiagram`, `stateDiagram`, и некоторые другие, но не `bpmn`.
Вы правы: предыдущий пример был в стиле flowchart, а не BPMN. В Mermaid поддержка BPMN ограничена, но с 2023 года появилась базовая поддержка BPMN-диаграмм. Вот как можно изобразить ваш процесс с использованием BPMN-нотации в Mermaid для GitHub:
---
#### **Что делать?**
**1. Используйте flowchart для иллюстрации процесса в Markdown:**
Если вам нужно показать процесс в Markdown (например, на GitHub), используйте flowchart-нотацию Mermaid, которая поддерживается:
```mermaid
bpmn
startEvent(id=start, name="Старт")
task(id=turnOn, name="Включить станок")
parallelGateway(id=gw1, name="Ожидание события")
intermediateCatchEvent(id=timer, name="Таймер 20 мин", eventDefinitionType=timer)
intermediateCatchEvent(id=signal, name="Внешний сигнал", eventDefinitionType=signal)
task(id=turnOff, name="Остановить станок")
endEvent(id=end, name="Конец")
start --> turnOn --> gw1
gw1 --> timer --> turnOff
gw1 --> signal --> turnOff
turnOff --> end
flowchart TD
A[Старт] --> B[Включить станок]
B --> C{Ожидание}
C -->|20 мин| D[Остановить станок]
C -->|Внешний сигнал| D
D --> E[Конец]
```
---
#### **Пояснения к BPMN-элементам**
**2. Для настоящей BPMN-схемы:**
- **startEvent** — старт процесса.
- **task** — действия: включение и остановка станка.
- **parallelGateway** — параллельное ожидание двух событий.
- **intermediateCatchEvent** с типом **timer** — ожидание истечения 20 минут.
- **intermediateCatchEvent** с типом **signal** — ожидание внешнего сигнала.
- **endEvent** — завершение процесса.
- Используйте специализированные BPMN-редакторы: Camunda Modeler, Bizagi Modeler, Signavio и др. Там можно создать схему с нужными событиями, шлюзами и экспортировать её в PNG, SVG или BPMN XML.
- Вставьте изображение схемы в Markdown с помощью тега `![alt](url)`.
---
#### **Почему именно так**
#### **Вывод**
- В BPMN для выбора между событиями (таймер или сигнал) используется **event-based gateway** (событийный шлюз), но в Mermaid пока нет его поддержки, поэтому используется **parallelGateway** как ближайший аналог для иллюстрации одновременного ожидания событий.
- Такая схема наглядно показывает, что станок выключается либо по таймеру, либо по внешнему сигналу.
- **В Markdown на GitHub BPMN-схемы через Mermaid не поддерживаются.**
- Для иллюстрации используйте flowchart или приложите картинку, созданную в BPMN-редакторе.
---
Если нужна схема в виде BPMN XML или SVG для профессиональных инструментов (например, Camunda Modeler), дайте знать!
Если нужна помощь с BPMN XML или экспортом схемы — дайте знать!