Изменения

Перейти к навигации Перейти к поиску
6800 байт добавлено ,  1 год назад
Строка 41: Строка 41:     
DSDL идеологически похож на язык описания интерфейса, используемый в [[ROS]], за исключением того, что он вводит дополнительные статические ограничения, чтобы сделать решение пригодным для встроенных систем реального времени с высокой степенью целостности. Сходство побудило некоторых разработчиков связать ROS с Cyphal, используя слой автоматической трансляции.
 
DSDL идеологически похож на язык описания интерфейса, используемый в [[ROS]], за исключением того, что он вводит дополнительные статические ограничения, чтобы сделать решение пригодным для встроенных систем реального времени с высокой степенью целостности. Сходство побудило некоторых разработчиков связать ROS с Cyphal, используя слой автоматической трансляции.
 +
 +
== Основные принципы ==
 +
Протокол построен на основе следующих основных принципов проектирования, которые призваны гарантировать, что решение хорошо подходит для современных сложных транспортных систем, для которых безопасность является критически важной.
 +
 +
'''Демократичная сеть'''. В сети отсутствует главный узел.  Все узлы в сети имеют одинаковые права связи; не должно быть единой точки отказа.
 +
 +
'''Обеспечение функциональной безопасности'''.  Проектировщики систем Cyphal имеют в своем распоряжении необходимые гарантии и инструменты для анализа системы и обеспечения ее правильного поведения. '''Абстракции связи высокого уровня.'''  Протокол поддерживает семантику связи публикации/подписки и удаленного вызова процедур со статически определенными и статически проверенными типами данных (схемой). Типы данных, используемые для связи, определены ясным и независимым от платформы способом, который может быть легко понятен как машинам, так и людям.
 +
 +
'''Упрощение взаимодействия между поставщиками.''' Cyphal обеспечивает общую основу, на которой разные поставщики могут опираться, чтобы гарантировать совместимость своего оборудования. Cyphal предоставляет общий набор стандартных типов коммуникационных данных, не зависящих от приложения.
 +
 +
'''Четко определенные общие функции высокого уровня.''' Cyphal определяет стандартные службы и сообщения для общих функций высокого уровня, таких как: обнаружение сети, конфигурация узла, обновление программного обеспечения узла, мониторинг состояния узла, общесетевая синхронизация времени, Plug-and-Play. поддержка узлов и т. д.
 +
 +
'''Атомарные абстракции данных.''' Узлы могут обмениваться большими структурами данных, которые превышают емкость одного транспортного кадра. Cyphal выполняет автоматическую декомпозицию и сборку данных на уровне протокола, скрывая связанные с этим сложности от приложения.
 +
 +
'''Высокая пропускная способность, низкая задержка, детерминизм''' — Cyphal добавляет очень низкие накладные расходы к базовому транспортному протоколу, что обеспечивает высокую пропускную способность и низкую задержку. Это делает Cyphal хорошо подходящим для приложений, работающих в режиме реального времени.
 +
 +
'''Поддержка резервных интерфейсов и резервных узлов''' — Cyphal подходит для приложений, требующих модульного резервирования.
 +
 +
'''Простая логика, низкие вычислительные требования''' — Cyphal предназначен для широкого спектра встраиваемых систем, от высокопроизводительных бортовых компьютеров до микроконтроллеров с крайне ограниченными ресурсами. Его поддержка не требует больших затрат с точки зрения вычислительной мощности и времени на разработку, а расширенные функции можно внедрять постепенно по мере необходимости. '''Богатые типы данных и абстракции интерфейса.''' Язык описания интерфейса является основной частью технологии, позволяющей глубоко встроенным подсистемам напрямую взаимодействовать с системами более высокого уровня (и в удобной для сопровождения форме), одновременно обеспечивая симуляцию и функциональное тестирование.
 +
 +
'''Поддержка различных транспортных протоколов.''' Cyphal можно использовать с несколькими различными транспортными протоколами и в будущем можно расширить для поддержки других транспортных протоколов.
 +
 +
'''Стандарт, не зависящий от API.''' В отличие от некоторых других сетевых стандартов, Cyphal не пытается описать интерфейс прикладной программы (API). Любые детали, не влияющие на поведение реализации, наблюдаемое другими участниками сети, выходят за рамки спецификации.
 +
 +
'''Открытая спецификация и эталонные реализации.''' Спецификация Cyphal есть и всегда будет открытой и бесплатной для использования всеми. Эталонные реализации распространяются на условиях разрешительной лицензии MIT или передаются в общественное достояние.
    
== Транспортный уровень ==
 
== Транспортный уровень ==

Реклама:

Навигация