Кратко
draft-toutain-t2trg-coreconf-m2m-01проецирует компактную модель YANG/SID в ontology, FROST и MCP tools для чтения и настройки ограниченных устройств.- Структурная запись
sosa:Actuationможет зафиксировать выданную команду, но не заменяет sensor observation; tool definition, protected channel и success response тоже имеют ограниченную область доказательства. - Защищаемая цепочка связывает model revision, mapping, principal, policy, approval, CORECONF authorization, request, commit, interlock, физическое исполнение и независимый readback.
В базе появился объект Actuation: насос, 1 500 оборотов в минуту, время выдачи команды. Запись выглядит как завершённое событие. Но в ней нет показания тахометра, состояния муфты, питания, нагрузки или защитного interlock. Она говорит, что клиент отправил значение.
Такая точность терминов важнее интерфейсной галочки. Информационная модель может честно представить намерение и всё же быть прочитана как доказательство результата. Чем легче MCP скрывает CoAP и CBOR, тем легче оператору забыть, что скрыта только механика обмена, а не причинная цепочка.
На 2 октября 2026 года IETF Datatracker показывал revision 01 документа CORECONF for Machine-to-Machine Communication как активный индивидуальный Internet-Draft, обновлённый 16 сентября. Текст датирован тем же днём, предполагает Informational и истекает 20 марта 2027 года. У него нет RFC stream, ответственного AD и telechat. Datatracker прямо предупреждает: индивидуальная подача не одобрена IETF и не имеет формального статуса в стандартизации. Обсуждение в T2TRG — площадка, а не признак принятия IRTF.
Отчёт YANG на ту дату содержал 19 errors и 8 warnings: отсутствующие reference у revision, недостающие description, нарушения canonical order и предупреждение о недоступном config false bootstrap. Это диагностическая характеристика поданной версии, не количество уязвимостей и не результат испытания реального устройства.
Единая семантика создаёт новый центр управления
Проект сочетает YANG для структуры, CBOR для компактности, CoAP для обмена и Schema Item iDentifiers вместо длинных имён. Transducer объединяет sensor и actuator. Модель хранит quantity, источник времени, статистику и параметры notification.
Revision 01 добавляет отображение в SOSA и SensorThings, а затем два MCP server. Первый выполняет live CoAP actions, второй читает и изменяет исторические сущности FROST. В примере Rennes агент находит Thing, переходит к Datastreams, извлекает sensor SID и precision, читает устройство и сохраняет Observation.
Документ утверждает, что общий CORECONF/SID позволяет обойтись без промежуточного слоя перевода, специфичного для устройства. Это не означает отсутствие интерпретатора. MCP server выбирает из FROST hostname, endpoint, transducer identity, instance SID, target SID, unit и precision, а затем строит request.
Устаревший endpoint ведёт к снятому устройству. Повторно использованная identity соединяет новое имя со старым объектом. Ошибка precision даёт правдоподобное неверное физическое значение. Изменение category расширяет поверхность записи. Все отдельные форматы могут оставаться валидными.
Projection receipt должен сохранять точный YANG module/revision, features, deviations, SID file, private translation, device/transducer identity, bootstrap generation, endpoint, unit, precision, category, control type, method, path, target SID, версию, происхождение и свежесть FROST row.
Наличие Control не назначает уполномоченного
ccm2m:Control описывает read-single, read-stat, reset, setup и subscribe для history, а также instant-write. Разделение полезно: конфигурация не запускает поток, а stop относится к состоянию CoAP Observe.
Но control graph не называет principal, которому разрешено действие. В нём нет цели, диапазона, maintenance window, human approval, retry budget, safety interlock и emergency stop authority.
Базовый draft CORECONF revision 21 требует запретить неавторизованное чтение и запись. Он определяет 4.01 Unauthorized для клиента без прав на data node, datastore, RPC, action или event stream и предусматривает подходящие authentication/authorization. Нельзя делать вывод, что CORECONF лишён авторизации.
MCP specification 2026-07-28 также не считает discovery разрешением. Список tools может зависеть от authorization в конкретном request. Server должен валидировать input, применять access control и rate limit; client должен подтверждать чувствительные операции, показывать параметры, проверять result и вести audit. Tool annotation не заслуживает доверия без trusted server.
Нужна сквозная привязка. MCP server identity и tool-definition hash, client, authenticated principal, credential audience/scope, policy version, approval, target и bounds должны соединяться с CORECONF authorization decision. Запись «tool called» показывает глагол, но не источник полномочий.
Защищённый request остаётся только request
Выбранный draft требует DTLS или OSCORE для CORECONF over CoAP. Эти механизмы защищают сообщение. Они не определяют безопасную скорость мотора, запрет в maintenance или локальную власть остановить установку. Криптография может безошибочно доставить опасную команду.
CORECONF различает Unauthorized, Not Found, Method Not Allowed и YANG constraint errors. Успешный 2.xx означает обработку на этом уровне. Он не измеряет давление, скорость, температуру или положение клапана.
Пример instant-write задаёт вымышленному насосу 1 500 rpm. Его identity SID — placeholder PPPPPP, поскольку такого насоса нет в модуле; structural SID quantity настоящий. sosa:Actuation хранит записанное значение и время выдачи команды. Текст подчёркивает: это command, не observation.
Команда не равна тахометру. Подтверждающее измерение требует отдельного sensor identity, calibration, unit, precision, timestamp source и causal window. Если gateway читает ту же cache row, куда записал команду, он подтверждает намерение.
Полная лестница: tool invocation; intent/consent; principal/authorization; protected request; application validation; commit/action start; local interlock; physical actuation; separate observation; длительность состояния; reconciliation/rollback. Цепочка может остановиться, но результат обязан назвать последнюю подтверждённую ступень.
Общие параметры показывают скрытый радиус
Параметры history и sensor-alert — step, precision, max-samples, time-period, encoding, max-payload, thresholds, hysteresis, dampening, check-interval — доступны для записи и общие для всех observations одного transducer. Изменение при active notification немедленно касается всех clients.
start_history_notify сначала делает iPATCH, затем FETCH+Observe. Личная на вид подписка может поменять cadence, encoding или подтверждение чужих потоков. active сообщает только, что наблюдает хотя бы один client, не раскрывая его identity, purpose или consent.
Безопасная tool должна показывать shared scope, читать предыдущие version/value, применять precondition или conflict rule, хранить before/after и список затронутых observer. Разрешение subscribe не означает право переконфигурировать остальных. Доступ к историческим FROST данным не означает право менять live mapping.
Non-Confirmable переносит решение о повторе наверх
Профиль требует отправлять FETCH и iPATCH как Non-Confirmable CoAP. Это экономит retransmission на слабых каналах, но передаёт timeout, retry и idempotency приложению.
Если response нет, возможны три состояния: request потерян; request применён, ответ потерян; обработка продолжается. Повтор set-value может быть безопасен, повтор action с side effect — нет. Receipt должен содержать request identity, token, payload hash, attempt, timeout policy, duplicate semantics и последующий readback.
ACK подтверждаемой notification доказывает доставку CoAP peer. Он не доказывает durable FROST storage, решение агента, человеческое внимание или исчезновение физического события.
Время и масштаб завершают смысл
Bootstrap может иметь reference epoch, uptime и minimal-step; абсолютное время может отсутствовать. Timestamp quantity ставит source или receiver, а history иногда реконструирует время по arrival и step. Время команды, принятия firmware, движения и storage — разные точки.
Raw integer становится величиной только через identity, unit и precision. Polling быстрее minimal-step может тратить батарею без более свежего результата. Postcondition должна нести model revision, scale, calibration, time origin, clock quality и age.
Диагноз 19/8 остаётся model receipt. Он требует работы над текущей revision. Нулевой результат в будущем подтвердит прохождение выбранных validators, но не authorization, interoperability или физическое действие.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
