Единая информационная среда создания и сопровождения бортового программного обеспечения спутников навигации и связи

УДК 004.41, 004.4'2

Г.П. Цапко, Я.А. Мартынов

Единая информационная среда создания и сопровождения бортового программного обеспечения спутников навигации и связи

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

Ключевые слова: спутники навигации и связи, единая информационная среда, РБЫ-система, бортовое программное обеспечение, система автоматизированного проектирования.

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

Технологический комплекс производства программ БПО. Первый этап изменений, направленных на процессы создания и сопровождения БПО спутников в АО «ИСС», произошел в конце 90-х гг. прошлого века - тогда впервые для разработки БПО была применена новейшая кросс-система программирования на языке Модула-2 (КСП М2), а также разработаны принципы построения БПО спутников с использованием этого языка [2, 3].

К 2005 г. [4, 5], когда появились прототипы всех основных составляющих современной технологии, комплекс производства программ оформился как единое средство разработки и сопровождения БПО - ТКПП БПО. Он состоит из совокупности автоматизированных рабочих мест (АРМ) пользователей (проектантов, программистов, сборщиков БПО), участвующих в разработке БПО, средств отладки и тестирования, серверов архивов БПО и других программных средств, объединенных локальной сетью предприятия.

В настоящее время в составе ТКПП БПО используются следующие средства:

- кросс-система программирования Модула-2 (КСП М2), позволяющая на текущий момент создавать БПО для трех типов бортовых компьютеров. Основным её преимуществом является возможность заимствования ПО спутников последнего поколения на спутники с разными бортовыми компьютерами, в том числе на спутники, уже находящиеся в эксплуатации;

- система программирования команд управления (СП ИСПОЛКОМ), предназначенная для создания блоков команд управления спутником;

- система программирования макропрограмм интегрального управления (СП РЕАЛ), предназначенная для создания макропрограмм интегрального управления спутником;

- наземный отладочный комплекс БПО (НОК БПО), позволяющий проводить системное тестирование реального БПО спутника с использованием создаваемой для каждого спутника программной модели;

- система изготовления программ БПО (СИП БПО), автоматизирующая процесс сборки и изготовления БПО как для этапа системного тестирования, так и для перепрошивки БПО эксплуатируемых спутников;

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

Проблемы процесса создания и сопровождения БПО. Несмотря на то, что используемая технология решает все вопросы разработки и сопровождения БПО спутников, создаваемых АО «ИСС», в процессе создания БПО продолжают существовать определенные «узкие» места. Одним из таких «узких» мест являлся процесс проектирования БПО. Ранее этот процесс не был автоматизирован. В то же время он был ключевым с точки зрения стоимости внесения исправлений в разработанное БПО на более поздних этапах его жизненного цикла (ЖЦ), выявление ошибок в процессе отладки БПО приводило к необходимости возврата на предыдущие этапы проектирования и повторения проверки измененной версии программы [7].

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

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

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

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

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

ность, но и служить источником информации для остальных средств ТКПП. На рис. 1 представлена единая информационная среда, формируемая совокупностью средств ТКПП БПО и САПР БПО.

Рис. 1. Единая информационная среда

С 2013 г. в АО «ИСС» совместно с Институтом кибернетики НИ ТПУ ведутся работы по созданию средств САПР БПО и их внедрению в состав ТКПП БПО. В основе этих работ лежит подход к автоматизации проектирования и тестирования БПО спутников, сформулированный А.А. Колташе-вым в 2012 г. [9]. В рамках обеспечения требований к единому информационному пространству организации процесса разработки и сопровождения БПО предлагаемая система автоматизированного проектирования должна обеспечивать выполнение следующих функций:

- структурированное представление, хранение, извлечение и изменение данных об изделиях, требованиях, наборах компонент, интерфейсах, параметрах и взаимосвязях;

- выполнение проектирования на уровне изделия, систем и компонент;

- установление взаимосвязей требований архитектуры БПО конкретного спутника и библиотек унифицированных компонент;

- возможность выявления зависимостей при внесении изменений в архитектуру БПО;

- автоматизированное формирование отчетных данных;

- автоматизированный выпуск проектной документации БПО.

Внедрение предлагаемой системы в процесс разработки БПО позволит отказаться от «ручного» проектирования на основе документов и использовать общепринятый подход к проектированию на основе «прототипирования» данных о выполненных ранее проектах, хранящихся в системе автоматизированного проектирования. Таким образом, во главе единого информационного пространства будут находится данные, а документы лишь создаваться на основе этих данных в автоматизированном режиме. Основным предназначением САПР БПО является обеспечение систематизированного хранения, накопления и совместного использования большого объема данных о проектируемом изделии с использованием централизованной базы знаний, что является ключевой функциональной особенностью систем класса PDM (Product Data Management - система управления данными об изделии) и позволяет отнести САПР БПО к системам этого класса, а совокупность средств ЕИС - к системам класса ALM (Application Lifecycle Management - система управления жизненным циклом программного продукта).

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

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

В качестве архитектуры приложения выбрана многоуровневая кли-I Уровень данных I , _, ^

v-у,--' ент-серверная архитектура (рис. 2), позволяющая обеспечить высокий

---^ уровень масштабируемости, безопасности, отказоустойчивости, а также

[ Уровень д°ступа к данным J эффективности разработки и внедрения [10, 11].

& Каждый из уровней системы является максимально изолированным

Уровень бизнес-логики от остальных, что реализуется за счет использования интерфейсных

связей и позволяет выполнять обновление или замену уровней без влияния на остальные уровни.

Ж

Уровень сервисов

О

Уровень клиента

Рис. 2. Типовая многоуровневая клиент-серверная архитектура

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

Уровень доступа к данным. Уровень доступа к данным обрабатывает все запросы на чтение и запись, поступающие из уровня бизнес-логики. На этом уровне находится набор репозиториев, обеспечивающих единообразный доступ к таблицам базы данных, используя технологию Object-Relational Mapping (объектно-реляционного сопоставления). Одной из реализаций такой технологии является ADO.NET Entity Framework, позволяющий работать с реляционными данными с помощью объектов, специализированных для доменов. Это устраняет необходимость в написания большей части кода для доступа к данным, который обычно требуется разработчикам, а также обеспечивает большую надежность работы приложения.

Уровень бизнес-логики. Уровень бизнес-логики выполняет основные операции, производит вычисления и расчёты. Библиотеки, расположенные на уровне бизнес-логики, взаимодействуют с уровнем доступа к данным и предоставляют клиенту ограниченный перечень операций, скрывая от клиента детали реализации и способы доступа к данным. Для подготовки данных к передаче по сети используются объекты передачи данных (Data Transfer Objects) [10], позволяющие снизить нагрузку на сеть. В связи с использованием DTO на слой бизнес-логики, помимо работы с уровнем доступа к данным, ложится задача преобразования доменных объектов из/в объекты передачи данных.

Уровень сервисов. Уровень сервисов определяет границу между серверной и клиентской частью, образует набор доступных операций и управляет ответом приложения в каждой операции. Для реализации уровня сервисов использовался фреймворк Windows Communication Foundation (WCF). WCF является частью платформы Microsoft .NET и используется для обмена данными между приложениями. WCF делает возможным построение безопасных и надёжных транзакционных систем через упрощённую унифицированную программную модель межплатформенного взаимодействия. Созданные с использованием WCF службы размещаются на сервере с использованием Internet Information Services (IIS).

Уровень клиента. Уровень клиента представляет собой графический интерфейс, реализованный для конечного пользователя. Для разработки графического интерфейса приложения используется технология WPF - Windows Presentation Foundation. Это презентационная система в составе .NET Framework, использующая язык разметки XAML, который представляет собой XML, в котором фактически реализованы классы .NET Framework. Основным шаблоном проектирования приложения, используемым при разработке клиентской части САПР БПО, является шаблон Model-ViewViewModel (MVVM). MVVM используется для разделения модели данных и её представления, для обеспечения их независимости друг от друга. MVVM удобно использовать в тех случаях, когда в платформе, на которой ведется разработка, присутствует «связывание данных». Отличным примером использования технологии связывания данных является технология WPF [11].

Апробация системы. На текущий момент в АО «ИСС» запущен в эксплуатацию штатный образец САПР БПО, позволяющий автоматизировано выполнять отдельные основные части процесса проектирования БПО. В штатном образце спроектирована и разработана база данных (БД), полностью охватывающая предметную область. БД позволяет хранить и извлекать полную совокупность

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

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

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

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

Литература

1. Антамошкин А.Н. Технологические аспекты создания бортового программного обеспечения спутников связи / А.Н. Антамошкин, А.А. Колташев // Вестник Сибирского гос. аэрокосмического ун-та им. акад. М.Ф. Решетнева. - 2005. - № 3. - C. 93-95.

2. Колташев А.А. Технология разработки и сопровождения мобильного программного обеспечения спутников связи // Изв. вузов. Сер. Приборостроение. - 2004. - № 4. - С. 24-27.

3. Колташев А.А. Технология переноса бортового программного обеспечения // Открытые системы. - 2004. - № 4. - С. 13-20.

4. Обеспечение бортовое программное. Управление проектированием, изготовлением и сопровождением // СТП 154-123-2005. - Железногорск: НПО ПМ, - 2005. - 62 с.

5. Колташев А.А. Эффективная технология управления циклом жизни бортового программного обеспечения спутников связи и навигации // Авиакосмическое приборостроение. - 2006. - № 12. -С. 20-25.

6. Колташев А.А. Технология создания и сопровождения бортового программного обеспечения спутников связи, навигации и геодезии: современное состояние / А.А. Колташев, С.Г. Кочура // Наукоемкие технологии. - М.: Радиотехника, 2014. - № 9. - С. 39-42.

7. Шошмина И.В. Проектирование программных бортовых систем управления с поддержкой верификации // Моделирование и анализ информационных систем. - 2010. - № 4. - C. 125-136.

8. Система менеджмента качества. Обеспечение бортовое программное. Управление проектированием, изготовлением и сопровождением // СТП 154-123-2014. - Железногорск: АО «ИСС» им. акад. М.Ф. Решетнева, 2014. - 72 с.

9. Колташев А.А. Прагматичный подход к автоматизации проектирования и тестирования бортового программного обеспечения спутников / А.Б. Дьяченко, П.М. Ерохов, А.А. Колташев // Системный анализ, управление и навигация: Тезисы докладов 17-й Межунар. науч. конф. М.: Изд-во МАИ, 2012. - С. 76-77.

10. Fowler M. Patterns of enterprise application architecture. - Addison-Wesley Longman Publishing Co., Inc., 2002. - 560 p.

11. Асмоловский В. В. Преимущества использования многоуровневой клиент-серверной архитектуры при разработке корпоративных приложений / В.В. Асмоловский, Я.А. Мартынов // Молодежь и современные информационные технологии: сб. трудов XII Всерос. науч.-практ. конф. студентов, аспирантов и молодых ученых: - Томск: Изд-во ТПУ, 2014. - Т. 2. - С. 156-157.

Цапко Геннадий Павлович

Д-р техн. наук, профессор каф. автоматики и компьютерных систем НИ ТПУ Тел.: 8 (382-2) 70-17-77 (доб. 22-11) Эл. почта: tsapkogp@gmail.com

Мартынов Ярослав Андреевич

Ассистент каф. автоматики и компьютерных систем НИ ТПУ Тел.: 8 (382-2) 70-17-77 (доб. 52-24) Эл. почта: martynovyaa@tpu.ru

Tsapko G.P., Martynov Y. A.

Integrated information environment for creation and maintenance of on-board software of navigation and communication satellites

The structure of technological complex for development of on-board software for satellites is presented. It is proposed to deploy computer-aided design product for on-board software to realize integrated information environment within the process for creation and maintenance of on-board software of navigation and communication satellites. The description of the functions of the computer-aided design product for on-board software and technologies for its development are described. Implementation of the computer-aided design product for on-board software development automates the process of product lifecycle management and streamlines design and debugging. The paper defines the solution of the problems and indicates goals for further research.

Keywords: navigation and communication satellites, integrated information environment, product data management, on-board software, computer-aided design.