Изменения

275 байт добавлено ,  2 года назад
нет описания правки
Строка 17: Строка 17:     
== Дизайн ==
 
== Дизайн ==
Cyphal предоставляет абстракции с нулевой стоимостью, которые доступны и знакомы инженерам-программистам[19] без ущерба для функциональной безопасности и детерминизма[3].  
+
Cyphal предоставляет абстракции с нулевой стоимостью, которые доступны и знакомы инженерам-программистам без ущерба для функциональной безопасности и детерминизма.  
   −
Будучи новой технологией, Cyphal не обременен унаследованными особенностями и в значительной степени заимствована из недавних разработок в области общих информационных технологий[20]. Протокол предлагает модель связи «публикация-подписка» без сохранения состояния, при которой узел может начать работу сразу после подключения к сети для поддержки приложений с высокой степенью целостности.[13] Протокол состоит из двух четко разделенных основных компонентов:[21] транспортный уровень, который работает поверх надежных автомобильных сетей, таких как Ethernet или CAN FD, и уровень независимого от транспорта представления (сериализации), основанный на так называемом языке описания структуры данных. (ДСДЛ). Было показано, что протокол можно реализовать менее чем в 1000 логических строк кода.[22] DSDL идеологически похож на язык описания интерфейса, используемый в ROS, за исключением того, что он вводит дополнительные статические ограничения, чтобы сделать решение пригодным для встроенных систем реального времени с высокой степенью целостности. Сходство побудило некоторых разработчиков связать ROS с Cyphal, используя уровни автоматической трансляции.[10][23]
+
Будучи новой технологией, Cyphal не обременен унаследованными особенностями и в значительной степени опирается на недавние разработки в сфере программирования общего назначения.  
 +
 
 +
Протокол предлагает в качестве базовой модель взаимодействия между программными компонентами сети «[[publish/subscribe]]» без сохранения состояния.
 +
 
 +
Этот подход позволяет любому узлу начать работу сразу после подключения к сети без дополнительных процедур инициализации и обеспечивает взаимодействие приложений с высокой общей степенью целостности системы.  
 +
 
 +
Протокол состоит из двух четко разделенных основных компонентов:
 +
 
 +
транспортный уровень, который работает поверх надежных автомобильных сетей, таких как Ethernet или CAN FD, и уровень независимого от транспорта представления (сериализации), основанный на так называемом языке описания структуры данных - (Data Structure Description Language, DSDL).  
 +
 
 +
Было показано, что протокол можно реализовать менее чем в 1000 логических строк кода.  
 +
 
 +
DSDL идеологически похож на язык описания интерфейса, используемый в [[ROS]], за исключением того, что он вводит дополнительные статические ограничения, чтобы сделать решение пригодным для встроенных систем реального времени с высокой степенью целостности. Сходство побудило некоторых разработчиков связать ROS с Cyphal, используя слой автоматической трансляции.
    
== Внешние ссылки ==
 
== Внешние ссылки ==