Консалтинг — Пример серверного программного обеспечения

Серверное программное обеспечение (СПО) – совокупность программ, которая позволяет управлять бортовой частью в частности и роботом в целом, беря на себя функцию непосредственного управления платформой. Таким образом, оператор, управляющий роботом, абстрагируется от знания низкоуровнего управления: нажимая кнопку «вперед» оператор посылает соответствующую команду, серверное бортовое обеспечение робота принимает эту команду и по согласованному протоколу выдаёт необходимые низкоуровневые команды на платформенную часть с целью получения результата в виде движения платформы вперёд.

Пример 1. Необходимо принять команду управления и выполнить её. Программа должна состоять из трёх независимых модулей – приёмник команды -> обработчик команды -> передатчик команды на платформу. В случае изменения протокола команды достаточно будет изменить только подпрограмму приёма команды. В случае изменения команды платформы необходимо изменить только подпрограмму-обработчик, а подпрограмма связи с платформой не изменится. Принцип модульности и развязки отдельных подпрограмм позволяет не корректировать весь код.

Пример 2. Допустим, программная часть адаптирована для использования с платой Rasberry PI. Необходимо адаптировать код для другой платформы. С точки зрения автономности исходный код для Rasberry PI должен делить на две части. На первом этапе описывается функциональная логика работы (приём команд, обработка, выдача управления и т.д.) универсальным кодом, например, на языке Си, в этом коде не допускается использовать специфические функции, используемые только платформой Rasberry PI, код должен быть «чистым». Вторая же часть программы является интерфейсной прослойкой между первой частью и схемотехнической частью платформы Rasberry PI: подключение сигналов-переменных с пинам микросхемы (портам), настройка режимов портов, реализация переходной логики, специфичной для выбранной платформы. Принцип автономности позволяет минимизировать временные затраты на адаптацию СПО при изменении схемотехники бортовой части в виде замены центрального процессора.

В финале разработки представляются:

  • отдельные файлы с исходным кодом программ;
  • рабочий проект для САПР с использованием файлов с исходным кодом;
  • файл прошивки;
  • общая документация на программу, описывающая её структуру, алгоритмику, нюансы реализации тех или иных решений;
  • детальная документация взаимодействия с внешними устройствами: электронными устройствами (датчики, двигатели и т.д.) и платформенной схемотехникой (информационный протокол стыковки с платформенным программным обеспечением).