Перейти к содержанию

Соответствие типов и архетипов между слоями

К оглавлению | Справочники

Документ фиксирует нормативную схему сопоставления типов объектов цифрового двойника, архетипов агентов, capability, типов операций и шаблонов операций. Эта схема используется фронтом для фильтрации значений, создания связанных сущностей и проверки модели.

Разделение классификаций

Уровень Отвечает на вопрос Сущность / поле Владелец данных
Тип объекта ЦД Что изображено и как ведет себя в редакторе? objectTypeDefinitions[], digitalTwin.objects[].objectType Слой цифрового двойника
Политика агентности Нужен ли объекту агент? objectTypeDefinitions[].agentCreationPolicy Тип объекта ЦД
Архетип агента Какой это исполнитель по специализации и жизненному циклу? agentArchetypes[], agents[].archetypeId Агентный слой
Спецификация capability Какие способности и типы операций разрешены экземплярам архетипа? agentArchetypes[].capabilitySpecifications[] Архетип агента
Capability агента Что разрешено конкретному экземпляру? agentCapabilities[] Агент
Категория операции К какому из пяти системных классов относится действие? operationTypes[].categoryCode Тип операции
Тип операции Какое семейство действий сопоставляется с исполнителями? operationTypes[] Процессный слой
Шаблон операции Что нужно сделать в конкретной технологии? operationTemplates[].operationTypeId Процессный слой
Профиль выполнения Как конкретный агент выполняет допустимую операцию? agentExecutionProfiles[] Агентный слой

Тип объекта и архетип не являются одним справочником. Первый описывает представление объекта, второй дает необходимую для расчета детализацию исполнителя. Например, несколько архетипов станков могут быть совместимы с одним типом объекта EQUIPMENT.

Связь объекта ЦД и агента

Тип объекта задает только политику:

Код Поведение
NEVER Агент не создается
REQUIRED Без выбора совместимого архетипа объект нельзя запустить модель

Допустимость архетипа хранится только в agentArchetypes[].compatibleObjectTypes[]. Обратный массив архетипов в типе объекта не хранится.

Создание агентного объекта выполняется одной транзакцией:

  1. Пользователь выбирает тип объекта (тип объекта у нас в целом задается в рамках выбора объекта на левой панели инструментов, поэтому данная операция эквивалентна постановке объекта на холсте в редакторе).
  2. Фронт получает agentCreationPolicy.
  3. Для REQUIRED фронт показывает архетипы, у которых compatibleObjectTypes[] содержит выбранный objectType. Эта операция может быть выполнена сразу в карточке при постановке объекта ЦД, а может быть уже в реестре агентов в отдельном интерфейсе.
  4. Пользователь выбирает архетип; тип объекта не назначает точный архетип автоматически.
  5. Система создает объект и ровно одного агента со ссылкой spatialBinding.objectId.
  6. Для каждой спецификации capability архетипа создается capability агента с типовыми параметрами и допустимым набором типов операций.

Пользователь не создает и не удаляет промышленного агента напрямую. Для трудового исполнителя, оснастки или иного участника без значимой геометрии создается логический объект ЦД с минимальным представлением.

Связь операций и агентов

Категория операции не используется для непосредственного допуска агента. Она нужна для навигации, форм и аналитики. Структурная совместимость проверяется на уровне типа операции и capability:

OperationTemplate.operationTypeId
  -> OperationType.executorRoleRules[role].allowedCapabilityKinds
  -> AgentArchetype.capabilitySpecifications[kind].allowedOperationTypeIds
  -> AgentCapability.archetypeCapabilitySpecificationId
  -> AgentCapability.operationTypeIds
  -> AgentExecutionProfile

Для каждой роли шаблона операция совместима с агентом, только если одновременно выполнены условия:

  1. capabilityRequirement.capabilityKind разрешен правилом роли типа операции.
  2. Требуемый operationTypeId входит в allowedOperationTypeIds спецификации capability архетипа.
  3. Этот тип не исключен в экземплярной agentCapability.operationTypeIds.
  4. Параметры capability удовлетворяют constraints шаблона.
  5. Профиль выполнения применим к шаблону, продукту и режиму.
  6. conditionSets разрешают использование в текущем контексте.

Capability экземпляра может сузить типовой набор архетипа, но не расширить его. Расширение возможно только после изменения архетипа либо при явно разрешенной instanceOverridePolicy.

Роль справочников

Справочник Может ли пользователь проекта расширять Структурная функция
Типы объектов ЦД Нет Геометрия, редактор и политика агентности
Категории операций Нет Пять верхнеуровневых категорий
Виды capability Нет Унифицированные виды способностей
Типы операций Да Схемы полей и допустимые capability для ролей
Архетипы агентов Да Совместимость с объектами и спецификации capability

Тип процесса является отдельной классификацией всего графа. Один процесс может включать шаблоны операций нескольких категорий, поэтому processType не ограничивает категории его узлов.

Пространства имен

Одинаковые слова в разных классификаторах не означают одну сущность:

  • products[].productType = PACKAGING означает учитываемую тару или упаковочный материал;
  • agentCapabilities[].kind = PACKAGING означает способность упаковочного исполнителя;
  • типы операций PACK и REPACK относятся к категории LOGISTICS либо к PRODUCTION, если упаковка изменяет выпускаемый продукт;
  • storageUnits[] описывает логистический формат размещения, а не продукт и не capability.

conditionSets не заменяют описанные соответствия. Они задают динамическую применимость уже структурно совместимых сущностей.

Инварианты

  1. operationTemplate хранит operationTypeId, а categoryCode получает через тип операции.
  2. Архетип не выводится однозначно из objectType.
  3. Каждый промышленный агент имеет ровно один связанный объект ЦД.
  4. У объекта может быть не более одного автоматически созданного промышленного агента.
  5. Вид capability и допустимые типы операций экземпляра входят в спецификацию его архетипа.
  6. Тип операции определяет допустимые виды capability по ролям, но не конкретные типы объектов и не конкретных агентов.
  7. Категория операции и тип процесса не участвуют в прямом выборе исполнителя.

Связанные документы: Цифровой двойник | Шаблоны операций | Агенты | Проверки модели