Полная модель: Производство машины + ERP + Эксплуатация ERP
1. Паспорт модели
| Параметр |
Значение |
| Тип модели |
Двухуровневая трансформационная модель с мета-системой |
| Ключевые паттерны FPF |
A.1, A.3.1, A.3.2, A.4, A.10, A.13, A.15 (CC-A15.1-1..3), B.2, E.23 |
| Уровни трансформации |
2 (производство машины + развитие ERP) |
| Основной принцип |
Разделение U.Method / U.MethodDescription / U.Work / U.Episteme и разделение дизайн-тайм/ран-тайм |
2. Два уровня трансформации (фундаментальное различение)
| Аспект |
Уровень 1: Производство машины |
Уровень 2: Эксплуатация и развитие ERP |
| EntityOfConcern |
Машина (физический объект) |
ERP-система (программный комплекс) |
| Исполнители |
Производственные агенты (сборщики, сварщики, тестировщики) |
Ваше подразделение (разработчики, инженеры эксплуатации) |
| Роль ERP |
ProductionTrackerRole — инструмент отслеживания |
ERP — объект трансформации |
| Результат |
Физическая машина в целевом состоянии |
Обновлённая/исправленная/восстановленная ERP |
| BoundedContext |
ManufacturingContext |
ERP_EvolutionContext |
Ключевое правило: Эти два уровня не смешиваются. Когда вы чините ERP, вы не производите машину. Когда агент собирает машину, он не развивает ERP.
3. Уровень 1: Производство машины
3.1 Объекты и их FPF-виды
Машина (физический объект)
├─ FPF-вид: U.System (или U.PhysicalEntity)
├─ EntityOfConcern процесса производства
├─ Пространство состояний:
│ ├─ КорпусНеСобран → КорпусСобран
│ ├─ ДвигательНеУстановлен → ДвигательУстановлен
│ ├─ НеПротестирована → Протестирована
│ └─ НеГотова → ГотоваКОтгрузке
└─ Закон переходов: каждая трансформация требует U.Work
Конструкторская документация (КД)
├─ FPF-вид: U.MethodDescription (эпистема, описание метода)
├─ НЕ является методом (A.3.2:4.1)
├─ Содержит: чертежи, спецификации, маршрутные карты
└─ Edition-pinned: версия КД фиксируется для каждого производства
Метод изготовления (семантический способ)
├─ FPF-вид: U.Method
├─ Абстрактный "way-of-doing"
├─ Описывается через ≥1 MethodDescription (КД)
└─ Enact'ится как U.Work
ERP-система на уровне 1
├─ FPF-вид: U.System в роли ProductionTrackerRole@ManufacturingContext
├─ Хранит эпистемы о состояниях машины
├─ Формирует U.WorkPlan для производственных агентов
└─ НЕ трансформирует машину напрямую
3.2 Процесс производства (work enactment)
ПроизводственныйПроцесс для Партии_12345:
CycleIteration_1:
├─ Агент_сборщик в роли Сборщик@ManufacturingContext
├─ Enacts: МетодСборкиКорпуса (описан в КД_версия3.2)
├─ Выполняет: U.Work_001 @ 2026-09-05T08:00..10:30
├─ Аффектирует: Машина (состояние: КорпусНеСобран → КорпусСобран)
├─ Создаёт эпистему: E_001 "Корпус собран"
└─ Регистрирует в ERP
CycleIteration_2:
├─ Агент_сборщик в роли Сборщик@ManufacturingContext
├─ Enacts: МетодУстановкиДвигателя (описан в КД_версия3.2)
├─ Выполняет: U.Work_002 @ 2026-09-05T11:00..13:45
├─ Аффектирует: Машина (состояние: ДвигательНеУстановлен → ДвигательУстановлен)
├─ Создаёт эпистему: E_002 "Двигатель установлен"
└─ Регистрирует в ERP
... (N итераций до завершения)
CycleIteration_N (финальная):
├─ Агент_тестировщик в роли Тестировщик@ManufacturingContext
├─ Enacts: МетодФинальногоТестирования
├─ Выполняет: U.Work_N
├─ Создаёт эпистему: E_N "Машина готова к отгрузке"
└─ Критерий завершения: все Work выполнены, все эпистемы подтверждены
3.3 Роль ERP на уровне 1 (ProductionTrackerRole)
ERP в роли ProductionTrackerRole@ManufacturingContext:
├─ Применяет чистый морфизм на эпистемах (A.6.2.4 EFEM Purity)
│ └─ Не выполняет Work, не запускает Mechanism
│ └─ Только заменяет входные эпистемы выходными
├─ Хранит:
│ ├─ Эпистемы о текущих состояниях машины
│ ├─ Эпистемы о выполненных Work
│ └─ U.WorkPlan для следующих работ
├─ Формирует: следующие WorkPlan на основе текущих эпистем
└─ Отслеживает: разрывы между планом и фактом
4. Уровень 2: Эксплуатация и развитие ERP
4.1 Объекты и их FPF-виды
ERP-система (объект трансформации)
├─ FPF-вид: U.System (программный комплекс)
├─ EntityOfConcern уровня 2
├─ Пространство состояний:
│ ├─ Версия: 2.2 → 2.3
│ ├─ Состояние: Работает → Упала → Восстановлена
│ ├─ Функциональность: модуль_отчётности_отсутствует → модуль_добавлен
│ └─ Баги: Ошибка_3421_присутствует → Ошибка_3421_исправлена
└─ Design-Time vs Run-Time:
├─ Tᴰ (design-time): интервалы, когда ERP структурно изменяется
└─ Tᴿ (run-time): интервалы, когда ERP выполняет OperationalMethods
└─ Tᴰ ∩ Tᴿ = ∅ (никогда не пересекаются, A.4)
Требования на изменения
├─ FPF-вид: U.Episteme
├─ Описывают метод развития ERP
├─ Sources: тикеты, инциденты, запросы бизнеса
└─ Edition-pinned: версия требований фиксируется
Ваше подразделение (коллективная система)
├─ FPF-вид: U.System (коллектив агентов)
├─ В роли: РазработчикERP@ERP_EvolutionContext
├─ Агенты: вы, коллеги
└─ Capabilities: обновление, разработка, отладка, восстановление
4.2 Типовые работы уровня 2
U.Work_A: Обновление ERP до версии 2.3
├─ performedBy: Вы#РазработчикERP@ERP_EvolutionContext
├─ enactsMethod: МетодОбновленияERP
├─ methodDescriptionRef: Инструкция_по_обновлению_v4
├─ executedWithin: ERP (в design-time)
├─ window: 2026-09-04T22:00..2026-09-05T02:00
├─ аффектирует: ERP (версия 2.2 → 2.3)
├─ ресурсы: 4 часа вашего времени, downtime 4 часа
└─ критерий: ERP работает, все тесты проходят
U.Work_B: Исправление ошибки INC-3421
├─ performedBy: Коллега#РазработчикERP@ERP_EvolutionContext
├─ enactsMethod: МетодОтладкиИПатча
├─ methodDescriptionRef: Playbook_IncidentResponse
├─ window: 2026-09-06T09:10..10:02 (см. F.11:11.4)
├─ аффектирует: ERP (баг INC-3421 → исправлен)
├─ ресурсы: 52 минуты, SLO "MTTR ≤ 60 min" Satisfied
└─ критерий: ошибка не воспроизводится
U.Work_C: Восстановление после падения ERP
├─ performedBy: Вы#IncidentCommander@ERP_EvolutionContext
├─ enactsMethod: МетодРеакцииНаПадение
├─ window: [t_incident..t_recovery]
├─ аффектирует: ERP (Упала → Восстановлена)
└─ критерий: ERP работает, данные не потеряны
U.Work_D: Разработка нового модуля интеграции
├─ performedBy: Команда#РазработчикиERP@ERP_EvolutionContext
├─ enactsMethod: МетодРазработкиМодуля
├─ window: несколько дней/недель
├─ аффектирует: ERP (функциональность расширена)
└─ критерий: модуль работает, документирован, протестирован
5. Взаимодействие между уровнями
5.1 Мост между уровнями
Уровень 1 (производство машины)
│
│ ERP является инструментом отслеживания
│ (ProductionTrackerRole@ManufacturingContext)
│
▼
┌─────────────────────────────────┐
│ ERP-система │
│ (общий объект для обоих уровней)│
└─────────────────────────────────┘
│
│ ERP является объектом трансформации
│ (EntityOfConcern@ERP_EvolutionContext)
│
▼
Уровень 2 (развитие ERP)
5.2 Правила взаимодействия
| Правило |
Описание |
| Разделение ролей |
ERP играет разные роли на разных уровнях |
| Разделение окон |
Design-time (развитие) ≠ Run-time (производство) |
| Непересечение Work |
U.Work уровня 1 и U.Work уровня 2 — разные события |
| Непересечение агентов |
Производственные агенты ≠ агенты эксплуатации ERP |
| Общий носитель |
Один физический программный комплекс, две разные модели |
5.3 Критические зависимости
Если ERP упала (событие уровня 2):
├─ Производство машины (уровень 1) не останавливается физически
├─ Но агенты не могут регистрировать эпистемы
├─ → Разрывы между физическим миром и ERP растут
└─ → Нужна U.Work восстановления ERP (уровень 2)
И U.Work сверки (уровень 1, ReconcilerRole)
Если КД изменилась (событие уровня 0, инженерного):
├─ Требуется U.Work обновления ERP под новую КД (уровень 2)
├─ Иначе ERP описывает производство по устаревшей модели
└─ → Методы производства и их описания расходятся
6. Четыре типа разрывов и управление ими
6.1 Типы разрывов между физическим миром и ERP (уровень 1)
| Тип |
Описание |
FPF-модель |
Детектор |
| Omission (пропуск) |
Агент выполнил Work, но не создал эпистему |
U.Error(type=omission) |
Сверочная работа, ReconcilerRole |
| Latency (задержка) |
Эпистема создана с опозданием |
recording_latency = t₂ - t₁ |
Γ_time, maximumStaleness |
| Distortion (искажение) |
Эпистема не соответствует реальности |
U.Error(type=distortion) |
Перекрёстная верификация |
| Phantom (фантом) |
Эпистема без связанной Work |
отсутствие evidence-provenance |
A.10 (evidence-provenance) |
6.2 Средства митигации
Для разрывов уровня 1:
├─ Принудительная регистрация через Mechanism (датчики, сканеры)
├─ Двунаправленная верификация перед каждой Work
├─ Явная модель confidence/staleness для каждой эпистемы
├─ Периодические сверочные Work (ReconcilerRole)
└─ Source-currentness (A.10): lastVerifiedAt, nextVerificationDue
Для разрывов уровня 2:
├─ Git + тикет-система для фиксации изменений ERP
├─ Test-run publication carriers для проверки изменений
├─ Incident response playbook (F.11:11.4) для падений
└─ Edition-pinning для всех MethodDescription
7. Ключевые FPF-различения, зафиксированные в модели
7.1 Method ≠ MethodDescription ≠ Work (CC-A15.1-1)
U.Method = семантический способ (абстрактный, timeless)
U.MethodDescription = описание метода (КД, инструкция, алгоритм) — эпистема
U.Work = датированное выполнение (occurrence)
U.WorkPlan = план (намерение, schedule)
В модели:
- КД =
U.MethodDescription (не метод!)
- МетодИзготовления =
U.Method (описан КД)
- Сборка корпуса 05.09.2026 =
U.Work
- План производства на сентябрь =
U.WorkPlan
7.2 Design-Time ≠ Run-Time (A.4)
Design-Time (Tᴰ): ERP структурно изменяется (обновления, разработки)
Run-Time (Tᴿ): ERP работает, агенты вносят эпистемы
Tᴰ ∩ Tᴿ = ∅ (никогда не пересекаются)
В модели:
- Вы обновляете ERP в Tᴰ (ночью, в maintenance window)
- Производство использует ERP в Tᴿ (днём)
7.3 Физический мир ≠ Эпистемы о нём (A.4:8)
Физическое состояние машины (as-is)
↕ as-intended vs as-is gap
Эпистема в ERP (as-recorded)
В модели: разрыв управляется через U.Error, confidence, staleness.
7.4 Role ≠ Method ≠ System
ERP (U.System)
в роли ProductionTrackerRole@ManufacturingContext (уровень 1)
в роли EntityOfConcern@ERP_EvolutionContext (уровень 2)
8. Антипаттерны, которые модель предотвращает
| Антипаттерн |
Как предотвращается |
| AP-1 Evidence-free guarantees |
Каждая эпистема требует evidence-provenance (связь с U.Work) |
| AP-2 Interface-as-promiser |
“ERP гарантирует” → “Агент в роли X выполняет Work Y” |
| Role-as-method collapse |
Явное разделение роли, метода, Work, MethodDescription |
| Whole-as-part (C.5) |
ERP не является частью машины и наоборот |
| Hidden God-Controller |
Явные контроллеры: ProductionTracker, IncidentCommander, Reconciler |
| MethodDescription-as-Work |
КД — описание, не выполнение; выполнение — U.Work |
| Design-Run confusion (A.4) |
Design-time (обновления) отделены от run-time (производство) |
| Bridge-by-string (AP-7) |
Между уровнями 1 и 2 явные Bridge с Loss Notes |
9. Эволюция модели (итерации улучшения)
| Итерация |
Что изменилось |
| v0 (исходная) |
Цикл «агент_1 → ERP → агент_2 → ERP», без разделения уровней |
| v1 |
Выявлены 6 категориальных ошибок (collaps мира и эпистем, агентность без роли, и т.д.) |
| v2 |
Добавлено явное разделение Method / MethodDescription / Work |
| v3 |
Введены два уровня трансформации (производство машины vs развитие ERP) |
| v4 |
Добавлена модель разрывов (omission, latency, distortion, phantom) |
| v5 |
Добавлены средства митигации (ReconcilerRole, confidence, staleness) |
| v6 (текущая) |
Полная модель с двумя уровнями, разрывами, FPF-паттернами, антипаттернами |
10. Границы модели (что она НЕ покрывает)
- Не моделирует уровень 0 (конструкторский отдел, создающий КД) — он упомянут как внешний источник изменений
- Не моделирует бизнес-уровень (продажи, закупки, финансы) — фокус на производстве и ERP
- Не специфицирует конкретные технологии (какая СУБД, какие языки программирования)
- Не описывает конкретные роли производства детально — только типовые
- Не включает внешние системы (CRM, PLM, SCADA) — только ERP как центр
11. Сводная формула модели
Компания = U.System (коллективная система)
Компания.enacts(
Уровень_1: производство машины,
EntityOfConcern = Машина,
MethodDescription = КД,
Instrument = ERP в ProductionTrackerRole,
Performers = производственные агенты,
Context = ManufacturingContext
)
Команда_IT = U.System (подразделение)
Команда_IT.enacts(
Уровень_2: развитие ERP,
EntityOfConcern = ERP,
Methods = {Обновление, Разработка, Отладка, Восстановление},
Performers = разработчики ERP,
Context = ERP_EvolutionContext
)
Разрыв(физический_мир, ERP_эпистемы) =
f(omission, latency, distortion, phantom)
управляется через:
Mechanism-based registration,
ReconcilerRole,
confidence/staleness,
U.Error tracking
12. Что модель позволяет делать
- Аудит: проследить для каждой эпистемы в ERP → связанную Work → агента → метод
- Диагностику разрывов: классифицировать расхождения (omission/latency/distortion/phantom)
- Планирование работ уровня 2: обновления, исправления, развития
- Управление рисками: видеть, где ERP устарела и требует сверки
- Разделение ответственности: чётко понимать, кто отвечает за производство, а кто — за ERP
- Эволюцию: итеративно улучшать модель по паттерну E.23 (Quality Improvement Loop)
13. Ключевой инсайт модели
ERP — это не зеркало производства, а эпистемический посредник между физическим миром и принимающими решения. Она не “держит состояние мира”, а держит эпистемы, претендующие на описание мира, с измеряемой степенью доверия. Ваша роль (эксплуатация ERP) — поддерживать работоспособность этого посредника, а не самого производства. Это разделение ответственности, зафиксированное через два уровня трансформации, и есть архитектурный стержень модели.