ПРИНЦИПЫ И ОСОБЕННОСТИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ КОСМИЧЕСКИХ АППАРАТОВ И ЕГО ОТЛАДКИ В РЕАЛЬНОМ ВРЕМЕНИ

ПРИНЦИПЫ И ОСОБЕННОСТИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ КОСМИЧЕСКИХ АППАРАТОВ И ЕГО ОТЛАДКИ В РЕАЛЬНОМ ВРЕМЕНИ

© К.С.Кондрашов, В.Н.Воронков, Т.Н.Тян
© Государственный музей истории космонавтики им. К.Э. Циолковского, г. Калуга
Секция "Проблемы ракетной и космической техники"
2013 г.

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

С точки зрения внутренней организации ПО КА важнейшим вопросом является правильная декомпозиция его на модули с выделением интерфейсов между ними. В докладе представлены удачные, на наш взгляд, варианты декомпозиции ПО в зависимости от решаемых задач.

Для обеспечения надёжности функционирования ПО в целом (и удобства его модификации без потери функциональности) при разработке предполагается широкое внедрение модульного и регрессионного тестирования. В докладе приводятся принципы и особенности использования данного подхода применительно к ПО КА.

Организация рабочего процесса разработки ПО, помимо использования современных методов тестирования ПО, предполагает удобное взаимодействие и контроль версий. Приводятся основные возможности современных систем контроля версий и особенности внедрения их на практике.

Тестирование и отладка ПО КА в реальном времени обеспечивается использованием отладочного стенда, позволяющего имитировать аппаратные устройства (например, датчики) для различных сценариев функционирования КА, формируя таким образом исходные данные для модулей ПО. Рассмотрены варианты организации архитектуры такого рода стендов и инструментальные программно-аппаратные средства, используемые при отладке на базе данного стенда.

Вопросы функционирования ПО в реальном времени требуют тщательного теоретического обоснования. В связи с этим в докладе приводятся современные подходы к планированию параллельных вычислений, в том числе вопросы осуществимости планирования того или иного набора параллельных задач (RM и EDF-алгоритмы), а также практические аспекты реализации параллельных вычислений с использованием современных операционных систем реального времени, применяемых в КА.