Строка 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, используя слой автоматической трансляции. |
| | | |
| == Внешние ссылки == | | == Внешние ссылки == |