Решетневские чтения. 2017
УДК 004.45:629.78.054
ПАКЕТНЫЙ ОТЛАДЧИК КАК БАЗИСНОЕ ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО АВТОНОМНОГО ТЕСТИРОВАНИЯ
Д. А. Панюшкин*, М. Ю. Сахнов, Н. Н. Шумаков, С. А. Краус
АО «Информационные спутниковые системы» имени академика М. Ф. Решетнева» Российская Федерация, 662972, г. Железногорск Красноярского края, ул. Ленина, 52 *E-mail: [email protected]
Отладка и тестирование бортового программного обеспечения спутников связи и навигации рассматривается на основе применяемого пакетного отладчика из состава используемых кросс-систем программирования.
Ключевые слова: бортовое программное обеспечение, кросс-система программирования, отладчик, язык пакетной отладки, сценарное тестирование.
PACKAGE DEBUGGER AS A BASIC UNIT TESTING TOOL
D. A. Panyushkin*, M. Y. Sakhnov, N. N. Shumakov, S. A. Kraus
JSC Academician M. F. Reshetnev Information Satellite Systems 52, Lenin Str., Zheleznogorsk, Krasnoyarsk region, 662972, Russian Federation *E-mail: [email protected]
The research considers on-board software debugging and testing of communication and navigation satellites with the use of a cross-programming system package debugger as a basic tool.
Keywords: on-board software, cross-programming system, debugger, package debugging language, scripted debugging.
Сложные эксплуатационные условия функционирования космических аппаратов диктуют требование высокой надежности бортового вычислительного комплекса, что подразумевает не только отказоустойчивость аппаратной части (стойкость к факторам космического пространства, использование кода Хем-минга, дублирование систем и т. д.), но и высокое качество бортового программного обеспечения (БПО), которое может быть достигнуто лишь путем всестороннего исчерпывающего тестирования [1]. Инструментальные средства для него на этапе разработки и автономного тестирования (АТ) БПО [2] предоставляются разработчикам применяемой в Акционерном обществе «Информационные спутниковые системы» имени академика М. Ф. Решетнева» (АО «ИСС») средой разработки - кросс-системой программирования на языке Модула-2 (КСП М2). На данный момент в АО «ИСС» для вычислительных платформ с разными бортовыми компьютерами разработана серия кросс-систем программирования на языке Модула-2 (КСП САМУ, КСП М2-М№Б, КСП М2-1750 - широко использовались при создании спутников ГЛОНАСС, Экспресс и Гео-ИК2; КСП М2-SPARC, КСП М2-РРС - предназначены для новых спутников) [3].
Каждая кросс-система программирования представляет собой интегрированную среду, которая состоит из ряда программных компонент, снабженных настраиваемой интегрирующей оболочкой, позволяющей в рамках единого интерфейса проводить работы на этапе разработки и автономного тестирования БПО.
Достигнуть необходимого уровня отработки программ позволяет применяемый в составе КСП отладчик, обеспечивающий и диалоговый, и пакетный режимы работы. Отладчик из КСП М2 выгодно отличается от отладчиков иных сред разработки наличием пакетного режима отладки, позволяющего проводить автономное тестирование компонент БПО одновременно с документированием результатов тестирования и возможностью использования моделей бортовой вычислительной среды и бортовой вычислительной машины, что значительно упрощает автономное тестирование.
В диалоговом режиме работы отладчик предоставляет простые в использовании, но мощные средства для непосредственного анализа работы бортовой программы. Он позволяет наблюдать за состоянием компоненты БПО прямо во время исполнения, отслеживать текущие значения переменных, изменять их и работать не только в терминах Модула-2, но и в терминах ассемблера целевого бортового компьютера. По своим возможностям и интерфейсу он аналогичен отладчикам других сред программирования и служит для поиска и локализации ошибок в исходном коде.
Пакетный режим работы отладчика является уникальным решением, необходимость которого продиктована требованиями, предъявляемыми к БПО. Он позволяет вести сценарное тестирование, обеспечивая повторяемость и полноту такого тестирования. В качестве инструмента для написания сценария (пакета) отладки выступает специализированный язык
Программные средства и информационные технологии
пакетной отладки, не зависящий от целевой платформы. Стандартизация интерфейсов библиотек операционной системы (ОС) и программного обеспечения бортового комплекса управления (ПО БКУ) и использование моделей указанных библиотек, позволяет минимизировать изменение пакетов отладки компонент при переходе к новой целевой платформе [4], сокращая время разработки компонент.
Пакет отладки представляет собой набор вариантов исполнения тестируемой бортовой программы, где для каждого варианта можно выбрать тестируемую процедуру, подготовить набор данных для ее запуска и определить специфические условия ее исполнения (например, состояние кэш-памяти или уровень привилегий). Каждый вариант тестирования компоненты БПО описывается на высокоуровневом языке пакетной отладки в виде программы для отладчика.
Язык пакетной отладки позволяет:
- сформировать среду для отлаживаемой компоненты;
- моделировать операционную среду и внешние устройства;
- управлять выполнением пакета;
- управлять выполнением отлаживаемой компоненты;
- выдавать и изменять информацию о компоненте;
- формировать протокол отладки и изменять его структуру.
Наращивание комплекта тестов и документирование их результатов позволяет обеспечить повторное тестирование бортовых программ при их доработке (когда вновь полученные результаты тестов сравниваются с эталонными, определёнными ранее) и облегчает перенос на другие вычислительные платформы.
Следует отметить, что язык пакетной отладки модернизируется в соответствии с запросами разработчиков: в него добавлены новые средства для минимизации отличий протоколов тестирования при изменении самой бортовой программы или средств её разработки, определения условий выполнения компонент БПО и улучшения читаемости протоколов отладки.
Накопленный комплект тестовых сценариев на языке пакетной отладки в дальнейшем используется еще в двух подсистемах системы тестирования КСП М2: системе оценки полноты тестирования и средствах проверки тестирования по входным данным. Данные системы позволяют получить численную оценку охвата разработанного комплекта тестов бортовой программы, основываясь на ряде формализованных критериев [5].
Представленный подход, в основе которого лежит технология пакетного тестирования компонент БПО с использованием платформенно-независимого языка тестирования и автоматической проверкой достижения критериев автономного тестирования, гарантиру-
ет высокий уровень отработки компонент и минимизирует субъективный фактор.
Библиографические ссылки
1. Колташев А. А. Основные принципы системного тестирования и подтверждения бортового программного обеспечения спутников // Вестник Сиб-ГАУ. 2010, № 1. С. 4-7.
2. Автономное тестирование как этап верификации бортового программного обеспечения спутников / Д. А. Панюшкин [и др.] // Решетневские чтения : материалы XX Междунар. науч. конф. (09-12 ноября 2016, г. Красноярск): в 2 ч. Красноярск : СибГАУ, 2016. Ч. 2. С. 225-227.
3. Колташев А. А., Кочура С. Г. Технология создания и сопровождения бортового программного обеспечения спутников связи, навигации и геодезии: современное состояние // Журнал «Наукоемкие технологии». М. : Радиотехника, 2014, № 9. С. 39-42.
4. Колташев А. А. Технология переноса бортового программного обеспечения // Открытые системы. 2004, № 4. С. 13-20.
5. Средства измерения бортового программного обеспечения / А. В. Еремин [и др.] // Вестник СибГАУ. 2008, № 1 (18). С. 52-56.
References
1. Koltashev A. A. Osnovnye printsipy sistemnogo testirovaniya i podtverzhdeniya bortovogo program-mnogo obespecheniya sputnikov [Маш principles of communication and navigation satellites onboard software system testing and validation]. Vestnik SibGAU, 2010. No. 1. Р. 4-7. (In Russ.)
2. [Unit testing as on-board satellite software verification stage] / D. A. Panyushkin [et al.]. Materialy XX Mezhdunar. nauch. konf. "Reshetnevskie chteniya" [Materials XX Intern. Scientific. Conf "Reshetnev reading"]. Krasnoyarsk, 2016. Vol. 2. P. 225-227. (In Russ.)
3. Koltashev A. A., Kochura S. G. Tekhnologiya sozdaniya i soprovozhdeniya bortovogo programmnogo obespecheniya sputnikov svyazi, navigatsii i geodezii: sovremennoe sostoyanie [The technology of development and maintenance of on-board software of communications satellites, navigation and geodesy: current status]. Naukoemkie tekhnologii. M., 2014. No. 9. P. 39-42. (In Russ.)
4. Koltashev A. A. Tehnologiya perenosa bortovogo programmnogo obespecheniya [Porting technology of the on-board software]. Otkritie sistemi, 2004. No. 4. P. 13-20. (In Russ.)
5. Sredstva izmereniya bortovogo programmnogo obespecheniya [Measurement tools for the on-board software] / A. V. Eremin [et al.] // Vestnik SibSAU, 2008. No. 1(18). P. 52-56. (In Russ.)
© Панюшкин Д. А., Сахнов М. Ю.
Шумаков Н. Н., Краус С. А., 2017