Научная статья на тему 'ПРОГРАММНЫЕ МЕХАНИЗМЫ ПОИСКА, СРАВНЕНИЯ И КОПИРОВАНИЯ ОБЪЕКТОВ СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ БОРТОВОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ КОСМИЧЕСКИХ АППАРАТОВ'

ПРОГРАММНЫЕ МЕХАНИЗМЫ ПОИСКА, СРАВНЕНИЯ И КОПИРОВАНИЯ ОБЪЕКТОВ СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ БОРТОВОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ КОСМИЧЕСКИХ АППАРАТОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
33
10
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БОРТОВОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / ПРОЕКТИРОВАНИЕ / ПОИСК / КОПИРОВАНИЕ / СРАВНЕНИЕ / ИНФОРМАЦИОННАЯ СИСТЕМА / КОСМИЧЕСКИЙ АППАРАТ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Цапко И. В., Цапко С. Г., Суходоев М. С., Барков А. В., Дьяченко А. Б.

Сложность процесса проектирования бортового программного обеспечения космического аппарата обусловлена наличием в его составе до 500 000 программных и информационных объектов более чем 40 различных типов. Поэтому работа с такими большими объемами данных требует разработки специализированного программного обеспечения для инженеров-проектировщиков. Целью исследования является построение алгоритмов, разработка методов, создание математических моделей поиска, сравнения и копирования больших разнородных связанных данных, а также реализация полученных научно-практических результатов в программном комплексе инженера-проектировщика бортового программного обеспечения космических аппаратов. В результате выпоенных работ разработаны математические модели операций сравнения в терминах множеств и логики предикатов, определены критерии оценки результатов сравнения. На основе математических моделей разработаны программные компоненты, обеспечивающие поиск, сравнение и копирование частей или полностью архитектурного проекта бортового программного обеспечения космических аппаратов. Разработанные программные компоненты интегрированы в программный комплекс автоматизированного проектирования и сопровождения бортового программного обеспечения космических аппаратов. Результаты работы внедрены в АО «Информационные спутниковые системы им. ак. М. Ф. Решетнева» и практически используются в задачах проектирования новых спутников однотипных серий. Сложность работы с разнородными большими данными не позволила в полной мере реализовать операцию копирования. В работе предложено ввести понятие двухфазной операции копирования, когда первая фаза выполняет копирование структуры бортового программного обеспечения, а вторая фаза - связь структуры с ресурсами космического аппарата.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SOFTWARE TOOLS FOR SEARCHING, COMPARING AND SUGGESTING OBJECTS OF THE COMPUTER-AIDED DESIGN SYSTEM FOR SPACECRAFT ONBOARD SOFTWARE

The complexity of the process of designing the onboard software of a spacecraft is due to the presence of up to 500,000 software and information objects of more than 40 different types in its composition. Therefore, working with such large amounts of data requires the development of specialized software for design engineers. The construction of algorithms, the development of methods, the creation of mathematical models for searching, comparing and copying large heterogeneous related data, as well as the implementation of the obtained scientific and practical results in the software package of the design engineer of the onboard software of spacecraft. Results: mathematical models of comparison operations are developed in terms of sets and logic of predicates, criteria for evaluating comparison results are determined. On the basis of mathematical models, software components have been developed that provide search, comparison and copying of parts or a complete architectural project of the spacecraft onboard software. The developed software components are integrated into the software package for computer-aided design and maintenance of the spacecraft onboard software. Practical relevance: the results of the work are implemented in JSC “Information satellite systems named after academician M. F. Reshetnev” and are practically used in the design of new satellites of the same type series. The complexity of working with heterogeneous big data did not allow to fully implement the copy operation. The paper proposes to introduce the concept of a two-phase copying operation, when the first phase copies the structure of the onboard software, and the second phase links the structure with the resources of the spacecraft.

Текст научной работы на тему «ПРОГРАММНЫЕ МЕХАНИЗМЫ ПОИСКА, СРАВНЕНИЯ И КОПИРОВАНИЯ ОБЪЕКТОВ СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ БОРТОВОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ КОСМИЧЕСКИХ АППАРАТОВ»

Theoretical and Applied Heating Engineering Теоретическая и прикладная теплотехника

EDN: CSXJZR УДК 004.4'24

Software Tools for Searching, Comparing

and Suggesting Objects of the Computer-Aided Design System

for Spacecraft Onboard Software

Irina V. Tsapko*a, Sergey G. Tsapkoa and Mihail S. Sukhodoeva, Aleksey V. Barkovb and Alexandr B. Dyachenkob

aTomsk Polytechnic University Tomsk, Russian Federation bJoint Stock Company "Academician M. F. Reshetnev"

Information Satellite Systems" Zheleznogorsk, Russian Federation

Received 01.03.2023, received in revised form 18.04.2023, accepted 08.08.2023

Abstract. The complexity of the process of designing the onboard software of a spacecraft is due to the presence of up to 500,000 software and information objects of more than 40 different types in its composition. Therefore, working with such large amounts of data requires the development of specialized software for design engineers. The construction of algorithms, the development of methods, the creation of mathematical models for searching, comparing and copying large heterogeneous related data, as well as the implementation of the obtained scientific and practical results in the software package of the design engineer of the onboard software of spacecraft. Results: mathematical models of comparison operations are developed in terms of sets and logic of predicates, criteria for evaluating comparison results are determined. On the basis of mathematical models, software components have been developed that provide search, comparison and copying of parts or a complete architectural project of the spacecraft onboard software. The developed software components are integrated into the software package for computer-aided design and maintenance of the spacecraft onboard software. Practical relevance: the results of the work are implemented in JSC "Information satellite systems named after academician M. F. Reshetnev" and are practically used in the design of new satellites of the same type series. The complexity of working with heterogeneous big data did not allow to fully implement the copy operation. The paper proposes to introduce the concept of a two-phase copying operation, when the first phase copies the structure of the onboard software, and the second phase links the structure with the resources of the spacecraft.

Keywords: onboard software, design, search, copying, comparison, information system, spacecraft.

© Siberian Federal University. All rights reserved

This work is licensed under a Creative Commons Attribution-Non Commercial 4.0 International License (CC BY-NC 4.0). Corresponding author E-mail address: tsapko@tpu.ru

*

Citation: Tsapko, I.V., Tsapko, S.G., Sukhodoev, M.S., Barkov, A.V., Dyachenko, A. B. Software tools for searching, comparing and suggesting objects on the computer-aided design system for spacecraft onboard software. J. Sib. Fed. Univ. Eng. & Technol., 2023, 16(6), 711-727. EDN: CSXJZR

Программные механизмы поиска, сравнения и копирования объектов системы автоматизированного проектирования бортового программного обеспечения космических аппаратов

И. В. Цапкоа, С. Г. Цапкоа, М. С. Суходоева, А. В. Барков6, А. Б. Дьяченко6

аТомский политехнический университет Российская Федерация, Томск бАкционерное общество «Информационные спутниковые системы»

имени ак. М. Ф. Решетнева» Российская Федерация, Железногорск

Аннотация. Сложность процесса проектирования бортового программного обеспечения космического аппарата обусловлена наличием в его составе до 500 000 программных и информационных объектов более чем 40 различных типов. Поэтому работа с такими большими объемами данных требует разработки специализированного программного обеспечения для инженеров-проектировщиков. Целью исследования является построение алгоритмов, разработка методов, создание математических моделей поиска, сравнения и копирования больших разнородных связанных данных, а также реализация полученных научно-практических результатов в программном комплексе инженера-проектировщика бортового программного обеспечения космических аппаратов. В результате выпоенных работ разработаны математические модели операций сравнения в терминах множеств и логики предикатов, определены критерии оценки результатов сравнения. На основе математических моделей разработаны программные компоненты, обеспечивающие поиск, сравнение и копирование частей или полностью архитектурного проекта бортового программного обеспечения космических аппаратов. Разработанные программные компоненты интегрированы в программный комплекс автоматизированного проектирования и сопровождения бортового программного обеспечения космических аппаратов. Результаты работы внедрены в АО «Информационные спутниковые системы им. ак. М. Ф. Решетнева» и практически используются в задачах проектирования новых спутников однотипных серий. Сложность работы с разнородными большими данными не позволила в полной мере реализовать операцию копирования. В работе предложено ввести понятие двухфазной операции копирования, когда первая фаза выполняет копирование структуры бортового программного обеспечения, а вторая фаза - связь структуры с ресурсами космического аппарата.

Ключевые слова: бортовое программное обеспечение, проектирование, поиск, копирование, сравнение, информационная система, космический аппарат.

Цитирование: Цапко И. В. Программные механизмы поиска, сравнения и копирования объектов системы автоматизированного проектирования бортового программного обеспечения космических аппаратов / И. В. Цапко, С. Г. Цапко, М. С. Суходоев, А. В. Барков, А. Б. Дьяченко // Журн. Сиб. федер. ун-та. Техника и технологии, 2023, 16(6). С. 711-727. EDN: CSXJZR

Введение

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

Жизненный цикл БПО включает в себя все этапы от архитектурного проектирования до утилизации спутника и на всех его этапах требуется обеспечить техническую поддержку и сопровождение БПО. Так как программные компоненты одной и той же функции могут иметь разные версии для разных КА появляется понятие мультиверсионности БПО КА, которое предполагает наличие разных, параллельно функционирующих в разных КА одной серии, версий одного и того же программного компонента БПО. Поэтому на этапах проектирования и сопровождения БПО необходимо обеспечить реализацию механизмов поиска разных версий программного компонента, сравнения конфигураций БПО КА, определения вхождения программного компонента, сборки или единицы сборки БПО в заданную конфигурацию [1, 2].

Авторами статьи в рамках реализации НИОКР для АО «Информационные спутниковые системы им. академика М. Ф. Решетнева» (АО «ИСС») была разработана система автоматизированного проектирования (САПР) БПО, позволяющая автоматизировать процесс архитектурного проектирования БПО.

До внедрения САПР БПО разработка архитектурных проектов велась на бумаге с вычислением необходимых значений вручную. Более подробно данный подход рассмотрен в работах [3, 4]. С появлением программных инструментов по обработке данных применительно к задачам разработки архитектурного проекта начали применяться коммерческие программные средства автоматизации [5]. Частично знания сотрудников были перенесены в информационную систему, что повлияло на состав и форму используемых данных. Также это позволило автоматизировать вычисление атрибутивных параметров. Следует отметить, что проблема неточного предсказания ресурсов на этапе предварительного проектирования нарушала корректную работу при автоматизации проектной деятельности. В дальнейшем распределение ресурсов уточняется итерационным методом в процессе формирования характеристик систем, входящих в состав КА [6, 7]. При отсутствии САПР БПО все изменения из коммерческих программных продуктов фиксировались на бумажных носителях, что затрудняло дальнейшее их использование при автоматизации процесса архитектурного проектирования.

САПР БПО выполняет роль информационной системы, которая хранит набор данных о БПО, а также его окружении. Эти данные необходимы проектанту БПО для формирования

требований, разработки архитектурного проекта, а также на этапах тестирования и сопровождения БПО [8]. В качестве одного из основных функциональных свойств САПР БПО необходимо отметить повторяемость использования данных и заимствование результатов ранее выполненных проектов. САПР БПО должна стать основным средством проектирования, разработки, хранения, тиражирования ресурсов, информационных объектов, программных компонент БПО КА, а также обеспечить построение всех новых проектов на основе единой базы первоначальных источников информации [9].

Этапы разработки БПО для новых КА обязательно включают анализ ранее выполненных проектов и заимствование лучших решений на основе субъективной точки зрения проектанта БПО [10]. В работах [11-13] отмечено, что временные затраты на разработку и сопровождение БПО на этапе эксплуатации значительно возрастают при отсутствии однотипных решений либо наличии большой вариативности при реализации совпадающих функциональных возможностей на сходной компонентной базе. При наличии бумажных носителей, содержащих большое количество однотипных объектов, имеющих незначительные отличия, проектанту требовалось много времени для поиска наиболее подходящего решения. Использование САПР БПО частично решает проблему заимствования информации, так как все данные о всех проектах хранятся в единой информационной системе [14-17].

В рамках опытно-конструкторских работ по разработке САПР БПО было выявлено более 40 различных типов программных и информационных объектов, включающих все виды памяти бортового компьютера, файлы, время работы компонент БПО, примитивы синхронизации, задачи компонент БПО, объем и формат телеметрической информации, программные модули БПО и т.д. В состав БПО любого КА входят до 500 000 различных объектов, которые участвуют в процессе архитектурного проектирования.

Таким образом, количество объектов в базе данных (БД) САПР БПО может достигать нескольких миллионов и более. Ручной поиск для заимствования нужного объекта является задачей практически неразрешимой. Поэтому были разработаны и программно реализованы механизмы поиска объектов заимствования в КА из заданного набора, сравнения двух и более объектов разных изделий, а также копирования объектов.

САПР БПО построена по технологии трехзвенной архитектуры и имеет клиентский модуль, серверную часть и базу данных, используемые при решении функциональных задач САПР БПО. На основе принципов, предложенных авторами работ [18-20], вся обработка информации осуществляется на сервере приложений, а клиент получает результаты операций поиска, сравнения или копирования как результирующие объекты выполнения требуемых действий.

1. Поиск объектов

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

Большинство объектов могут быть найдены по имени, поэтому было предложено считать имя объекта уникальным (в рамках своего типа) и неизменяемым после его создания. При этом

кроме простых объектов существуют информационные объекты, такие как ресурсы. Размер ресурса и его поля характеризуют реальный физический ресурс. Для функционирования любой программы из состава БПО КА необходимы ресурсы памяти, процессорное время на выполнение программы, прерывания и т.д. Свободные ресурсы в процессе архитектурного проектирования распределяются разработчиком между программными компонентами БПО.

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

На основе анализа представленной выше информации можно сделать вывод, что в САПР БПО необходимо реализовать три механизма поиска:

1) поиск объектов в дереве КА на основе имени;

2) поиск резервов в номерных ресурсах;

3) поиск резервов в полях ТМИ.

1.1. Поиск объектов в дереве КА

Функционально поиск осуществляется в информационном дереве КА. Так как имя объекта является уникальным, то механизм поиска дает однозначный результат и отображает на стороне клиента карточку объекта. Далее пользователь может начать работу по модификации найденного объекта, посмотреть его связи, просмотреть и отредактировать используемые ресурсы, а также другую информацию, связанную с найденным объектом.

При активации найденного объекта отображается дерево КА с указанием в нем позиции объекта. Иногда объект не может быть отображен в дереве КА. Такая ситуация возможна при поиске объекта типа «Требования». В этом случае переход будет осуществлен на объект-родитель, содержащий найденные требования.

Для поиска группы объектов либо для уточнения поиска определенного объекта был использован расширенный поиск, позволяющий кроме поля ввода наименования объекта использовать расширения-переключатели «Искать строку целиком» и «Искать слово/фразу целиком» (рис. 1).

Рис. 1. Меню САПР БПО поиска по имени Fig. 1. CAD OSW menu search by name

Таким образом, механизм поиска основан на уникальности имени объекта в изделии и уникальности имени группы объектов. Реализация основана на поиске одиночных и множественных объектов, а также связи объектов поиска с деревом КА.

1.2. Поиск резервов в номерных ресурсах

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

До внедрения САПР БПО данная задача решалась вручную, как правило, без применения технических средств. Записи о свободных и занятых ресурсах выполнялись на специальных карточках, составляющих документацию проекта. В последующем были использованы таблицы Excel, которые решали часть задач, но не позволяли верифицировать правильность распределения ресурсов.

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

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

Поиск: (¿аил, ^ распр.

№ 799-80-1/Файлы ППЗУ 799-80-2/Файлы ППЗУ

0 Файл 0 Резерв

1 Файл 1 Резерв

2 Резерв Резерв

3 Файл 3 Резерв

4 Резерв Резерв 5 Резерв Резерв

6 Файл 6 Резерв

7 Резерв Резерв 8 Резерв Резерв 9 Резерв Резерв

10 Файл 10 Резерв

11 Резерв Резерв 12 Резерв Резерв

Итого резервов: 114

Рис. 2. Результат поиска резервов в номерных ресурсах Fig. 2. The result of searching for reserves in numbering resources

- 716 -

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

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

2. Сравнение объектов

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

2.1. Сравнение программ

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

Таким образом, существует множество всех программ и их версий Р. При этом любая программа рь принадлежащая множеству Р, может иметь j-ю версию и принадлежать множеству ее версий V!. Следовательно, любую программу можно представить как:

РчСХсР, (1)

где ! определяется функциональностью программы, а j - версией программы, зависящей от компонентной базы КА либо модернизации программного кода.

БПО каждого КА может содержать программы из множества Р. При этом для каждого изделия данный набор может быть различный.

Множество БПО КА Р] включает в себя подмножество программ множества Р.

Р^Р^Р^Р}. (2)

Также могут существовать другие множества Рк, состоящие из программ, входящих в состав БПО других КА. На основе приведенного утверждения можно получить несколько результатов сравнения в зависимости от набора программ в том или ином БПО КА.

Критерий сравнения № 1. Если

Р1 = Р2={р\р^Р1лр^Р2лР1^Р2/кР2^Р1}, (3)

то БПО двух КА идентичны. Результатом сравнения является сообщение об идентичности БПО КА.

Критерий сравнения № 2. Если

РхФР2={р (и^-е^лид.е^лЗре^^}' (4)

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

~Рх={р\[}ра^Р}

Р2={р\^рр^Р}, (5)

то БПО КА отличаются, а множество программ первого КА S1 содержит программы, отсутствующие во втором БПО КА S2. В результате сравнения формируется список программ, отсутствующих во втором КА.

Критерий сравнения № 4. Если

~Рх={р\[}ра^Р} р2={р\\]рр^р}, (6)

то БПО КА отличаются, а множество программ второго изделия S2 содержит программы, отсутствующие в первом БПО КА S1. В результате сравнения формируется список программ, отсутствующих в первом КА.

Критерий сравнения № 5. Если

Р1иР2=0, (7)

то БПО КА полностью различны. Результатом сравнения является сообщение о полном различии БПО КА.

Также в качестве результата сравнения всегда может присутствовать смешанный вариант, когда частично могут выполняться условия (4), (5) и (6). Вариант отображения результата сравнения показан на рис. 3, где красным цветом отмечены несовпадающие поля, желтым цветом -совпадающие частично и цветом не выделяются поля, имеющие совпадающие значения. Сравнение производится на основе кода ПО и атрибутивной информации распределения ресурсов.

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

ijf Результат сравнения программ □ X

Название программы Изделие-А Изделие-В Изделие-Д

@ ПО БКУ л

Программа Б - 4-

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Программа Б 4.11 3.1 3.51

Программа Г 15.156 5.1 |

Программа Д - 3.1 45

Программа Е - 3.13 -

@ ПО CK

Программа ПО CK 1 - -

Программа ПО CK 2 - - 1.2

@ ПО СТР

Программа А 1.2 1.2

Программа Б - - 3.14

Программа Б - - 1.51

Программа Г 5.1 -

Программа Д s 7.13

Программа Е - - V .

Рис. 3. Результат сравнения программ в САПР БПО Fig. 3. The result of comparing programs in CAD BPO

2.2. Сравнение ТМ-параметров

Пусть S - множество решений распределения ТМ-параметров в потоке телеметрической информации (ТМИ). Каждое изделие обладает своим распределением Si, которое состоит из ТМ-параметров, используемых БПО заданным космическим аппаратом. Каждое распределение множества S можно описать шестеркой параметров.

S = {K,X,M,L,F,U}, (8)

K - множество ТМ-полей, используемых при функционировании космических аппаратов, которые содержатся в САПР БПО. Для каждого КА множество K является конечным и содержит от 1 до Ni ТМ-полей, где индекс i характеризует ТМ-поле, используемое для размещения ТМ-параметров одного из распределений множества S.

X - множество смещений ТМ-параметров в ТМ-полях. При этом Ху характеризует смещение j в ТМ-поле i.

M - множество описаний ТМ-параметров. Для разных изделий может существовать одинаковое описание для разных ТМ-параметров.

L и F - это численные характеристики, определяющие длину ТМ-параметра в ТМ-поле и его формат.

U - множество редакций ответов ТМ-параметра, каждая из которых зависит от его значения. Редакция ответа может быть однозначная для ТМ-параметров, принимающих значение 0

или 1, а также многовариантная, для параметров, изменяющихся в диапазоне более двух значений. В некоторых случаях на разные ТМ-параметры может быть одинаковой.

Критерий сравнения № 1. Сравнение ТМ-параметров может выполняться в двух режимах: без привязки к ТМ-полям и с привязкой. В первом случае определяется соответствие ТМ-параметров распределения Sl ТМ-параметрам распределения S2.

51 = S2, если

Vij? е Г 3 tf е Т

(1) (2) пга = ГПр

I ¡^еМ,

А О _ т(2)

а ~ ^р

/г« - р{2)

1 а ~ 1 р

m

(2)

м

(9)

(1) (2) Ua Up

X® = Х(2)

В выражении (9) верхний индекс обозначает принадлежность элемента к множеству.

При выполнении условия (9) два КА имеют одинаковый набор ТМ-параметров, но их распределение в ТМ-потоке может быть различно.

Критерий сравнения № 2. При сравнении ТМ-параметров с привязкой к ТМ-полям каждый ТМ-параметр распределения S1 должен принадлежать к ТМ-полю соответствующего ТМ-параметра распределения S2. При этом смещение в ТМ-полях для каждого из сравниваемых ТМ-параметров должно совпадать.

X« = X®

(10)

При выполнении условий (9) и (10) можно утверждать, что два КА имеют одинаковый набор ТМ-параметров, одинаковый набор ТМ-полей и одинаковое распределение ТМ-параметров в ТМ-полях.

Критерий сравнения № 3. Если

\/xf Эх® |{х« * xf\xf Е X,xf Е х}

X1

(1)

х1

(2)

(11)

то распределение S1 отличается от распределения S2, и необходимо отобразить все ТМ-параметры, имеющие отличия. Критерий сравнения № 4. Если

\/xf Зх<2) |{х« = xf\xf Е Х,Х<2) Е х}

(12)

то одно из распределений имеет больше ТМ-параметров, чем другое. Следовательно, необходимо отобразить все ТМ-параметры, которые входят в состав одного из распределений и не входят в состав другого.

Также существует комбинированный результат, при котором некоторые ТМ-параметры могут быть различны в распределениях и одно из распределений имеет большее число ТМ-параметров, чем другое.

Критерий сравнения № 5. Если

(13)

Д-С'ПЛ-Н) = 0

то все ТМ-параметры обоих распределений полностью различны. При этом распределения могут быть различны частично, если не совпадают параметры, указанные в выражении (9). Результат сравнения ТМ-параметров в САПР БПО для двух изделий приведен на рис. 4.

Результат сравнения ТМ-параметров — □ X

Изделие Название Смещение Описание Длина Формат + Редакция

Изделие-А Параметр А +0[0] Описание пэраме 9 Целое {10 с/с) 1 = Описание рез'

Изделие-Д +2[4] Описание А Целое (16 е/с)

Изделие-А Параметр Б +2[4] Описание Б 10 Целое (16 с/с) 1 = ОК„.

Изделие-Д +3[5] +5[0] 8 1 = ок„.

Изделие-А Параметр Д Описание Д 8 Целое (10 с/с) =Список А..,

Изделие-Д +0[0] Целое (2 с/с) =СписокА...

Изделие-А Параметр М +2[0] Описание М 4 Целое (2 с/с) 1 = ОК...

Изделие-Д

Рис. 4. Результат сравнения ТМ-параметров в САПР БПО Fig. 4. The result of comparing TM parameters in CAD BPO

3. Копирование объектов

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

При создании БПО КА на основе типового проекта выполняется полное копирование всей структуры и распределения ресурсов. Реализация такого механизма проблем не вызывает, так как в итоге создается новый проект с уже существующим заполнением, а в дальнейшем оператор его дорабатывает и изменяет. Алгоритм копирования части типового проекта БПО КА не может быть реализован на основе простого копирования объектов и переноса данных из одной структуры в другую.

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

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

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

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

На второй фазе выполняется проверка корректности распределения ресурсов. Если в проекте нового БПО КА необходимые ресурсы свободны, то происходит их заполнение в соответствии с проектом-источником. Если имеется наложение ресурсов, то автоматически выполняется поиск свободных ресурсов и их перераспределение в новом изделии. Если свободных ресурсов не найдено, то формируется сообщение о неполном копировании, и пользователю предоставляется самостоятельный выбор и назначение ресурсов с помощью механизма связей.

В САПР БПО механизм копирования прост и понятен для пользователя. В дереве эталонного КА необходимо выбрать копируемый элемент. В дереве конечного КА требуется выбрать место вставки и с помощью меню «вставка» разместить скопированный компонент. В случае наложения ресурсов вызывается окно, идентичное окну «сравнения команд»,

Рис. 5. Алгоритм двухфазного копирования Fig. 5. Two-phase copy algorithm

но в таблице в данном случае будут указаны несоответствия ресурсов для каждой программы, а также откроется меню редактирования распределения ресурсов. Программный код редактируется в стороннем программном обеспечении, которое на данном этапе не интегрировано с САПР БПО.

В настоящее время компонент копирования программных объектов находится на стадии тестирования и доработки. Сложность структуры БПО КА требует дополнительного анализа и разработки механизма связывания объектов БПО КА.

4. Апробация

Для апробации САПР БПО были использованы тестовые данные, описывающие проекты БПО для КА одной серии, но с учетом того, что бортовая аппаратура некоторых подсистем разработана на разной компонентной базе. Проект БПО для одного из космических аппаратов содержал 112 бортовых программ, каждая из которых использовала от 10 до 20 уникальных или унифицированных функций, и более чем 378 тыс. информационных и программных объектов. Проект БПО второго КА содержал 117 бортовых программ и более чем 380 тыс. информационных и программных компонентов. При вводе данных был выполнен ручной стандартный ввод для первого КА. При этом время ввода командой из 4 человек заняло 8 дней рабочего времени.

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

Для оценки повышения эффективности работы по созданию новых проектов БПО для КА одной серии был выполнен проект по разработке БПО, включающий программы управления такими подсистемами КА, как система терморегулирования, система энергопитания и т.д., общее количество которых составило 5 единиц. Новый проект был создан на основе уже существующего проекта БПО, используя механизм копирования программ для выбранных пяти подсистем КА, структуры БПО КА и структуры используемых ресурсов без их привязки и распределения. Также в процессе апробации было выполнено распределение ресурсов и их привязка к программам данного проекта БПО. Стандартная процедура по созданию структуры БПО, распределению ресурсов и привязки их к программам требует не менее одного месяца с учетом выбранных пяти подсистем КА. При использовании в САПР БПО функций копирования и поиска объектов время составило 15 рабочих дней, что можно оценить с учетом выходных дней как % месяца.

Для оценки эффективности операции сравнения было выполнено задание по поиску различий между пятью выбранными подсистемами первого КА и третьего КА. Стандартная, используемая до недавнего времени, процедура поиска различий выполнялась с помощью программы Microsoft Excel, где осуществлялся поиск различий двух таблиц, каждая из которых может иметь до 28 столбцов и до 1000 строк для хранения структуры КА и распределения ресурсов. При этом некоторые параметры связаны с другими таблицами, расширяющими параметрическую информацию. В качестве примера можно привести реакцию ответа, используемую для ТМ-параметров. Многие операции сравнения автоматизированы на основе языка VBA, который встроен в Microsoft Excel. Но, во-первых, человеческий фактор, а во-вторых, сложность сравнения при наличии перекрёстных связей потребовали много времени, а в последующем были выявлены ошибки сравнения. В итоге стандартное сравнение выполнялось одним человеком в течение 5,5 часов, а с помощью функции сравнения в САПР БПО результат был получен и оценен через 2 часа работы программы. На рис. 6 представлены результаты апробации САПР БПО.

Результаты апробации доказали корректность обработки данных, быстрый и эффективный поиск информации, удобство интерфейса и корректность функционирования модулей копирования и сравнения.

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

100

90

70

à?

1 40

<u

о зи ac 20

10

Ввод данных в САПР БПО Создание нового проекта Поиск различий БПО изделий Исследуемая операция ■ Стандартная работа ■ С использованием нового функционала

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рис. 6. Оценка эффективности САПР БПО Fig. 6. Evaluation of the effectiveness of CAD BPO

проекты и исходные коды программ. Концепция внедрения САПР БПО состоит в том, что для проектируемых и находящихся сейчас в производстве изделий необходимо внести данные в базу данных САПР, а затем на их основе, для вновь проектируемых изделий, использовать эти данные согласно сценариям применения САПР.

5. Заключение

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

Реализованные механизмы поиска объектов существенно снижают вычислительную нагрузку, производимую САПР БПО, и позволяют производить рекурсивный поиск по содержимому выбранного родительского объекта. В свою очередь, алгоритмы сравнения объектов обеспечивают эффективный механизм сравнения значений полей объектов и отображения их в удобном для оператора виде. Реализованные алгоритмы копирования объектов позволяют рекурсивно копировать объекты, включая используемые ими ресурсы, в том числе между различными КА.

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

Выполненные работы являются результатом взаимодействия ФГАУ НИ ТПУ и АО «ИСС» по созданию САПР БПО в рамках договорных отношений в области научных исследований и опытно-конструкторских работ.

Список литературы / References

[1] Gorelits N. K., Gukova A. S., Krasnoshekov D. V. Analysis of Russian software supporting onboard systems development lifecycle in context of import substitution policy. Proceedings of the Institute for System Programming of the RAS, 2020, 32(2), 175-190.

- 725 -

[2] Strotov V. V., Taganov A. I., Konkin Y. V., Kolesenkov A. N. Technology for organization of the onboard system for processing and storage of ERS data for UltraSmall spacecraft. Proceedings of SPIE - The International Society for Optical Engineering. 7. Сер. "High-Performance Computing in Geoscience and Remote Sensing VII", 2017, 104300B.

[3] Барков А. В., Колташев А. А., Кочура С. Г. Разработка и сопровождение бортового программного обеспечения спутников АО «ИСС». Космонавтика и ракетостроение [Barkov A. V., Koltashev A. A., Kochura S. G. Development and maintenance of on-board software for ISS satellites. Cosmonautics and rocket science], 2018, 3 (102), 122-130.

[4] Микрин Е. А., Кульба В. В., Косяченко С. А., Сомов Д. С., Гладков Ю. М. Комплексная отработка программного обеспечения бортового комплекса управления космическими аппаратами и имитационные модели функционирования бортовых систем и внешней среды. М.: Институт проблем управления им. В. А. Трапезникова РАН, 2011. 119 с. [Mikrin E. A., Kulba V. V., Kosyachenko S. A., Somov D. S., Gladkov Yu. M. Integrated development of software for the onboard spacecraft control complex and simulation models for the functioning of onboard systems and the environment. M.: Institute of Management Problems. V. A. Trapeznikova RAN, 2011. 119 p. (in Rus.)]

[5] Колташев А. А. Управление разработкой бортового программного обеспечения. Вестник Сибирского государственного аэрокосмического университета имени академика М. Ф. Ре-шетнева [Koltashev A. A. Onboard software development management. Bulletin of the Siberian State Aerospace University named after Academician M. F. Reshetnev], 2008, 3, 61-65.

[6] Микрин Е. А. Бортовые комплексы управления космическими аппаратами и проектирование их программного обеспечения. М.: Изд-во МГТУ им. Н. Э. Баумана [Mikrin E. A. Onboard spacecraft control systems and their software design. Moscow. Publishing house of MSTU im. N. E. Bauman], 2003. 336 c.

[7] Трифонов О. В., Ярошевский В. С. Стенд для отладки бортового программного обеспечения космического аппарата. Препринты ИПМ им. М. В. Келдыша [Trifonov O. V., Yaroshevsky V. S. Stand for debugging the onboard software of the spacecraft. Preprints by Keldysh Institute of Applied Mathematics], 2018, 106, 1-12.

[8] Ломаев Ю. С., Толстых А. В. Применение программно-математической модели при разработке бортового программного комплекса. Актуальные проблемы авиации и космонавтики [Lomaev Yu.S., Tolstykh A. V. Application of a software-mathematical model in the development of an onboard software package. Actual problems of aviation and cosmonautics], 2018, 1(14), 119-120.

[9] Плахин Д. В., Цапко И. В., Цапко С. Г. Современные методы и средства проектирования справочных информационных систем. Перспективы науки [Plakhin D. V., Tsapko I. V., Tsapko S. G. Modern methods and means of designing reference information systems. Prospects of Science], 2014, 12(63), 130-137.

[10] Система менеджмента качества. Обеспечение бортовое программное. Управление проектированием, изготовлением и сопровождением. СТП 154-123-2014. Железногорск: АО «ИСС» им. акад. М. Ф. Решетнева [Quality management system. Providing on-board software. Management of design, manufacture and support. STP154-123-2014. Zheleznogorsk: M. F. Reshetnev JSC «ISS»], 2014. 72 c.

[11] Васильев В. Н. Космические аппараты дистанционного зондирования Земли. М.: ФГУП «НПП ВНИИЭМ» [Vasiliev V. N. Spacecraft for remote sensing of the Earth. Moscow], 2009. 310 с.

[12] Ноженкова Л. Ф. и др. О создании программно-математической модели бортовой аппаратуры командно-измерительной системы космического аппарата. Образовательные ресурсы и технологии [Nozhenkova L. F. et al. On the creation of a software-mathematical model of the onboard equipment of the spacecraft command and measurement system. Educational resources and technologies], 2014, 1(4), 384-390.

[13] Эйкхофф Йенс. Мир радиоэлектроники. Бортовые компьютеры, программное обеспечение и полетные операции. Введение. М.: Техносфера [Eickhoff Jens. The world of radio electronics. Flight computers, software and flight operations. Introduction. Moscow. Technosfera], 2014. 343 c.

[14] Lomaev Yu.S., Ivanov I. A., Tolstykh A. V., Islent'ev E. V. Applying software-mathematical models of onboard equipment to develop onboard software. Siberian Journal of Science and Technology, 2019, 20(2), 166-173.

[15] Гусев Е. В., Тихонов С. Н. Организация программного обеспечения бортовых вычислительных машин космических аппаратов с длительным сроком эксплуатации. Наноиндустрия [Gusev E. V., Tikhonov S. N. Organization of software for on-board computers of spacecraft with a long service life. Nanoindustry], 2019, S (89), 147-148.

[16] Жариков В. Н., Пичкалев А. В. Проблемы отработки программного обеспечения бортовой радиоэлектронной аппаратуры. Вестник Сибирского государственного аэрокосмического университета им. академика М. Ф. Решетнева [Zharikov V. N., Pichkalev A. V. Problems of development of software for on-board radio-electronic equipment. Bulletin of the M. F. Reshetnev Siberian State Aerospace University], 2012, 1(41), 15-17.

[17] Колташев А. А., Барков А. В., Шумаков Н. Н. Подготовка технологии разработки бортового программного обеспечения КА к использованию новых бортовых компьютеров. Системный анализ, управление и навигация. Тезисы докладов XXII международной научной конференции [Koltashev A. A., Barkov A. V., Shumakov N. N. Preparation of technology for the development of on-board software for the use of new on-board computers. System analysis, management and navigation. Abstracts of the XXII International Scientific Conference], 2017, 67-70.

[18] Горелиц Н. К., Гукова А. С., Краснощеков Д. В. Анализ российского программного обеспечения для поддержки жизненного цикла разработки бортовых систем в условиях политики импортозамещения. Труды Института системного программирования РАН [Gorelits N. K., Gukova A. S., Krasnoschekov D. V. Analysis of Russian software supporting onboard systems development lifecycle in context of import substitution policy. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS)], 2020, 32(2), 175-190. https://doi.org/10.15514/ ISPRAS-2020-32(2)-14

[19] Суркова Н. Е., Остроух А. В. Методология структурного проектирования информационных систем: монография. Красноярск. Научно-инновационный центр [Surkova N. E., Ostrouh A. V. Methodology of structural design of information. systems: monograph. Krasnoyarsk: Scientific and Innovation Center], 2014. 190 c.

[20] Гинзбург В. М. Проектирование информационных систем в строительстве. Информационное обеспечение. М.: АСВ [Ginzburg V. M. Design of information systems in construction. Information support. Moscow. АСВ], 2008. 368 c.

i Надоели баннеры? Вы всегда можете отключить рекламу.