From 5628437afb504b59286ce7718a67795eaad1a79e Mon Sep 17 00:00:00 2001 From: Dmitry <121898072+bpmbpm@users.noreply.github.com> Date: Mon, 22 Jun 2026 18:05:29 +0300 Subject: [PATCH] Create mermaid1.md --- .../reliability/article/mermaid1.md | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 IT/reliability_risk/reliability/article/mermaid1.md diff --git a/IT/reliability_risk/reliability/article/mermaid1.md b/IT/reliability_risk/reliability/article/mermaid1.md new file mode 100644 index 00000000..bb511c59 --- /dev/null +++ b/IT/reliability_risk/reliability/article/mermaid1.md @@ -0,0 +1,99 @@ +## 1 +Разобрался. Ошибка возникает из-за использования специальных символов в тексте узлов Mermaid: круглые скобки `()`, слеши `/`, знак `&` и другие. Парсер воспринимает их как часть синтаксиса, а не как текст. + +Ниже — **полностью исправленные диаграммы** с корректным синтаксисом. Я убрал все потенциально проблемные символы, заменив их на более читаемые формулировки, и исправил синтаксис узлов (в частности, `((...))` для двойного круга и `{...}` для ромба). Скопируйте их без изменений — они будут работать в любом редакторе, поддерживающем Mermaid (GitHub, Habr, Obsidian и др.). + +--- + +### Схема 1. Общая структура «Синтезированной надежности процесса» + +```mermaid +flowchart LR + A[Входной запрос
Начало процесса] --> B[Часть 1. Ресурсная готовность
Оборудование, Исполнители, Заготовка] + + B -- Ресурсы доступны и готовы --> C[Часть 2. Алгоритмическая
Ошибко-устойчивость
Контроль и Двойной ввод] + B -- Отказ ресурса --> Z[Блокировка выполнения] + + C -- Ошибка не обнаружена
Общая причина --> X[Выход с Браком
Ложный успех] + C -- Ошибка обнаружена --> R[Восстановление / Повтор] + C -- Результат корректен --> Y[Успешный Выход
Целевой результат] + + Z -.-> X + R -.-> B + + style B fill:#e1f5fe,stroke:#01579b + style C fill:#fff3e0,stroke:#e65100 + style X fill:#ffcdd2,stroke:#c62828 + style Y fill:#c8e6c9,stroke:#2e7d32 +``` + +--- + +### Схема 2. Часть 1. Ресурсная готовность (детально) + +```mermaid +flowchart LR + subgraph Resources[Часть 1: Ресурсная готовность процесса] + direction LR + R1[Инструмент и Оборудование
ИТ-системы, станки] -- λ_обор --> Gate1 + R2[Исполнитель - Человек
Болезнь, отпуск, увольнение] -- λ_чел --> Gate1 + R3[Заготовка и Входные данные
Брак поставщика] -- λ_вх --> Gate1 + Gate1{Все доступны?} + end + + In[Вход] --> R1 + R1 --> Gate1 + R2 --> Gate1 + R3 --> Gate1 + + Gate1 -- ДА --> Out_Res[Промежуточный результат
Передаётся в Часть 2] + Gate1 -- НЕТ --> Fail_Res[Отказ выполнения
Простой / Перезапуск] + + style Gate1 fill:#bbdefb,stroke:#1976d2 + style Fail_Res fill:#f8bbd0,stroke:#c2185b +``` + +--- + +### Схема 3. Часть 2. Алгоритмическая ошибко-устойчивость (с учётом общей ошибки CCF) + +```mermaid +flowchart TD + subgraph Error_Tolerance[Часть 2: Алгоритмическая Ошибко-устойчивость] + Input[Входящие данные] --> Split[Разветвление] + + Split --> Channel1[Оператор или Робот №1
Ввод данных] + Split --> Channel2[Оператор или Робот №2
Ввод данных] + + Channel1 -- Значение А --> Compare{Сравнение
Компаратор} + Channel2 -- Значение B --> Compare + + Compare -- A != B
Ошибка найдена --> Recovery[Повторный ввод ОБЕИХ веток
Время восстановления] + Recovery --> Split + + Compare -- A == B
Совпало --> Decision{Совпадение верно?
Проверка логики} + + Decision -- Да, ошибок нет --> Success[Результат корректен
Вероятность 1-β] + Decision -- Нет, общая ошибка CCF
Например, потерян ноль --> Hidden_Fail[НЕОБНАРУЖЕННАЯ ОШИБКА
Выход с браком] + end + + style Hidden_Fail fill:#ffcdd2,stroke:#d32f2f,stroke-width:3px + style Success fill:#c8e6c9,stroke:#388e3c + style Compare fill:#fff9c4,stroke:#fbc02d +``` + +--- + +### Пояснение исправлений + +| Что было | Что стало | Причина | +| :--- | :--- | :--- | +| `(ИТ-системы, станки)` | `ИТ-системы, станки` | Круглые скобки воспринимаются как оператор группировки, текст внутри них ломает парсер. | +| `/` (слеш) | `и` или `-` | Слеш используется в стрелках и путях, его наличие в тексте узла вызывает ошибку. | +| `"&"
Все доступны?` | `Все доступны?` (в ромбе) | Знак `&` и кавычки — зарезервированные символы. Ромб `{...}` сам задаёт вопрос, дополнительный `
` внутри не нужен. | +| `Gate1(("&"
...))` | `Gate1{...}` | Синтаксис `((...))` предназначен для круга с двойной окружностью, но внутри него не должно быть кавычек и сложной разметки. Ромб лучше подходит для логического условия. | +| `(Компаратор)` | `Компаратор` | Убраны скобки, оставлен только текст. | +| `(Время восстановления)` | `Время восстановления` | Аналогично. | +| `(Выход с браком)` | `Выход с браком` | Аналогично. | + +Все диаграммы теперь **синтаксически корректны** и передают задуманную вами модель: ресурсную готовность, алгоритмическую ошибко-устойчивость и эффект общей ошибки (CCF). Вы можете вставлять их в статью без правок.