Эксплуатация и приборное оснащение аэродромов и космодромов

Скачать PDF


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

А.А. Колташев, ФГУП "НПО прикладной механики им. акад. М.Ф. Решетнева"

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

The effective control technology of the on-board software life cycle of the communication and naviga­tion satellites. A.A. Koltashev

The effective technology of creation of the communication and navigation satellites onboard software has been created at the enterprise and is developed now for application at the third computing platform. This technology provides creation of highly reliable onboard software, technological when developing, convenient when operating and portable for various computing platforms, during short time and with the guaranteed degree of quality. The technology covers the all software life cycle, giving effective methods and means, both for development of the software, and for its long-term maintenance.

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

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

Вариантом решений этой проблемы служит технология создания БПО спутников связи и нави­гации, используемая в НПО ПМ. Созданная техно­логия является результатом многолетнего сотруд­ничества НПО ПМ им. акад. М.Ф. Решетнева и ИСИ СО РАН им. акад. А.П. Ершова, современной реализации и развития принципов и подходов, из­ложенных в работе [1]. Далее приводится обзор достижений, на которых эта технология базируется.

1. Эффективная архитектурная декомпозиция БПО и типовой набор интерфейсов

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

Рисунок 1. Архитектура БПО спутника связи с N подсистем спутника

Рисунок 1. Архитектура БПО спутника связи с N подсистем спутника

Среда программного функционирования пре­доставляет средства для организации вычисли­тельного процесса, а среда программного управ­ления – для командного управления подсистема­ми спутника в реальном времени. В составе этой среды содержится бортовой интерпретатор команд управления, набор команд которого программиру­ется проектантами подсистем на проблемно-ориентированном языке, не зависящем от вычис­лительной платформы. ПО подсистем реализуется на языке программирования Модула-2 на базе средств, предоставляемых этими средами, и при постоянстве интерфейсов этих сред становится также независимым от применяемой платформы.

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

2. Эффективная модель цикла жизни БПО

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

Такая созданная модель цикла жизни БПО оп­ределяет принципы структурной организации проекта БПО и уровни распределения ответственности, реализует эффективные модели управления проектом, конфигурацией и верификацией БПО и гарантирует качество разработки и сопровождения БПО. В основе этой модели лежат "три кита" технологии: разработки компонент БПО, управле­ния конфигурацией БПО и верификации БПО, рассматриваемые далее [3, 4].

3. Эффективная технология разработки компонент БПО

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

  1. Стандартное архитектурное расслоение БПО и набор стандартных интерфейсов. Реализация канонических интерфейсов слоев на про­блемно-ориентированном уровне с использованием абстрактных типов данных и строгой типизации языка Модула-2 и методические указания по при­менению конструкций языка программирования обеспечивают построение переносимого ПО.
  2. Типовой сценарий детального проектирования и разработки компоненты происходит в рам­ках стандартного документа описания программы параллельно с проектированием набора тестов и кодированием программы. Сценарий предусматри­вает четыре вехи по уточнению требований к ком­поненте в процессе ее разработки – "анализ архи­тектурного проекта завершен", "проектирование завершено", "программирование завершено", "раз­работка и автономное тестирование завершены", обеспечивающих согласование позиций проектан­та ПО подсистемы и разработчика компоненты. При детальном проектировании компоненты ис­пользуется разработанный метод нисходящей де­композиции потока управления в чертежах, не­формальных обозначениях с применением графи­ческого представления.
  3. Высоконадежный сильно структурирован­ный язык программирования с абстрактными ти­пами данных и со строгой типизацией данных – Модула-2 не только переносит выявление боль­шинства ошибок программиста на стадию транс­ляции, но и благодаря использованию созданных стандартных библиотек типов обеспечивает переносимость компонент на различные вычислитель­ные платформы, снижая требования к квалифика­ции программистов и увеличивая ясность, понимаемость и потенциальную модифицируемость программ для обеспечения их долговременного сопровождения [2, 5]. Для реализации таких про­грамм создана эффективная кросс-система про­граммирования для базовой вычислительной плат­формы, допускающая ее адаптацию для новых вычислительных платформ с сохранением всех поль­зовательских и программных интерфейсов (см. раздел 6).
  4. Измерение проектных и эксплуатационных характеристик программ связано с методами и средствами измерения статических и динамиче­ских характеристик программ, автоматически оце­нивающими не только достигнутые эксплуатаци­онные характеристики программы (объем памяти, время выполнения, размер стека и т.п.), но и "добротность" программы (оценки выполнения проектных соглашений, уровня сложности программы. комментируемости и т.п.).
  5. Повторное тестирование и автоматическое определение значений критериев полноты тести­рования входят в применяемую технологию пакет­ного тестирования компонент БПО с использова­нием платформно независимого языка тестирова­ния, что позволяет реализовать в терминах языка программирования набор тестовых процедур, га­рантирующий достижение критериев полноты тес­тирования С1 и С, автоматизацию повторного тес­тирования и сохраняющий актуальность для новых вычислительных платформ.
  6. Программирование команд управления и логики функционирования изделий на проблемно-ориентированных языках осуществляется с приме­нением проблемно-ориентированных командных языков и систем программирования (см. раздел 6). Проблемно-ориентированный интерфейс этих сис­тем позволяет создавать и тестировать прикладное ПО непосредственно проектантами систем без уча­стия программистов, т.е. без "шума" (неодинаково­го понимания), возникающего в процессе создания ПО в интерфейсе "проектант системы – програм­мист ПО системы". Влияние этого шума особенно существенно для класса встроенных компьютер­ных систем, к которому относятся бортовые комплексы управления спутников связи, и при обыч­ном подходе устраняется методами п. 2 и верифи­кацией.
  7. Создание компонент БПО как унифициро­ванных компонент и на унифицированных средст­вах производится в рамках не только изделия, но и объекта, унифицированного по проектным согла­шениям, интерфейсам, языку программирования, библиотекам типов данных, поэтому компонента пригодна благодаря этому свойству к заимствова­нию и переиспользованию на других изделиях. При этом компоненты разрабатываются на средст­вах, рассмотренных в разделе 6.

4. Технология управления конфигурацией БПО

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

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

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

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

5. Технология верификации и подтверждения БПО

В технологии выделены девять стандартных этапов верификации и подтверждения БПО, в рам­ках которых применены новые методы и средства: верификация требований, архитектурного проекта, средств разработки и тестирования БПО, детально­го проекта, кода; автономное тестирование компо­нент, интеграционное и системное тестирование ПО подсистем и БПО в целом на наземных отла­дочных комплексах (НОК) (рис. 2); подтверждение ПО подсистем и БПО в целом в составе подсистем на инженерных моделях и летном изделии. Часть используемых методов рассмотрена выше в рамках гарантирования качества компонент.

Рисунок 2. Архитектура НОК БПО с обозначениями: БЦВК – бортовой цифровой вычислительный комплекс; ИКБК – интерпретатор команд бортового компьютера; БД КУ – база данных команд управления; ТМИ – телеметрическая информация; ЦГ – циклограммы испытаний; АСУ ИТО – АСУ испытаний и телеметрической обработки; GUI1 – штатный интерфейс; GUI2 – отладочный интерфейс; GUI3 – технологический интерфейс

Рисунок 2. Архитектура НОК БПО с обозначениями: БЦВК – бортовой цифровой вычислительный комплекс; ИКБК – интерпретатор команд бортового компьютера; БД КУ – база данных команд управления; ТМИ – телеметрическая информация; ЦГ – циклограммы испытаний; АСУ ИТО – АСУ испытаний и телеметрической обработки; GUI1 – штатный интерфейс; GUI2 – отладочный интерфейс; GUI3 – технологический интерфейс

Главными достижениями для обеспечения ве­рификации и подтверждения ПО подсистем и БПО в целом являются:

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

6. Обзор средств разработки и сопровождения БПО

Средства разработки, реализующие и поддер­живающие перечисленные выше методы, пред­ставлены Технологическим комплексом производ­ства программ (ТКПП) БПО (рис. 3).

Рисунок 3. Технологический комплекс производства программ БПО

Рисунок 3. Технологический комплекс производства программ БПО

В его составе реализованы:

  1. Мобильная КСП на языке Модула-2, которая может быть адаптирована для различных целевых платформ, сохраняя все пользовательские интер­фейсы. В дополнение к стандартным средствам данная система предоставляет пакетный отладчик, позволяющий организовать регрессивное тестиро­вание, средства измерения полноты автономного тестирования (по критериям С1 и С) и средства измерения эксплуатационных характеристик ком­понент, гарантирующие требуемый уровень каче­ства компонент БПО. Созданная в сотрудничестве с ИСИ СО РАН и ООО "Эксельсиор" КСП соот­ветствует мировому уровню средств разработки падежного ПО для встроенного применения, пре­восходя его по отдельным показателям.
  2. Мобильная система программирования ко­манд управления конкретным изделием – ИСПОЛКОМ, позволяющая программировать на­бор команд управления подсистемами спутника непосредственно их проектантам.
  3. Мобильная система программирования логи­ки функционирования систем изделия – РЕАЛ, создающая макропрограммы интегрального управ­ления непосредственно проектантами логики функционирования спутника.
  4. Независимые от вычислительной платформы ба­зовые средства разработки БПО, решающие задачи хранения и сопровождения компонент БПО и БПО в целом и задачи управления их конфигурацией. Все средства эффективно функционируют на любой ПЭВМ на платформе Intel Pentium IV в среде ОС Windows 2000 или 2003.
  5. 5. НОК БПО, обеспечивающие интеграционное и системное тестирование БПО, изготовление и сопровождение БПО конкретных изделий (рис. 2). НОК содержит БПО конкретного изделия, про­граммную модель целевого БЦВК и аппаратуры БКУ, модели поведения систем изделия, средства организации модельного вычислительного процес­са и средства отладки.
    НОК предоставляет проблемно-ориенти­рованный пользовательский интерфейс, позво­ляющий проводить системное тестирование ПО систем и БПО в целом, непосредственно проектан­там подсистем спутника и логики функционирова­ния спутника в целом. Интерфейс НОК унифици­рован с интерфейсами средств заводских испыта­ний и управления при эксплуатации. Если это пре­дусмотрено контрактом, на основе НОК создается имитатор КА, предназначенный для тренировки персонала Центров управления и сопровождения спутника в режиме эксплуатации.

Заключение

Ряд составляющих технологии внедрен и отра­ботан еще в рамках первого поколения спутников с БЦВМ – в проектах "Луч", "Галс", "Экспресс", "Экспресс-А", "Сесат". Для этой вычислительной платформы программирование производилось на языке Ассемблер БЦВМ. А в полном объеме с ис­пользованием языка Модула-2 технология приме­нена для двух различных вычислительных плат­форм в рамках проектов "Глонасс-М" (4 дейст­вующих спутника на текущий момент) и "Экспресс-АМ" (5 спутников) и не только успешно решила за­дачи по созданию эффективного и надежного БПО, удобного при эксплуатации и сопровождении (проект "Глонасс-М"), но и продемонстрировала возмож­ность реального переноса значительного объема БПО и переиспользования информации сопровож­дения (исходных текстов, документации, тестов и т.п.) на существенно отличную вычислительную платформу (проект "Экспресс-АМ"). Переносимое БПО изначально разрабатывалось для 32-разрядной CISC-архитектуры с прямой эндианностью, а пе­реносилось на 16-разрядную БЦВМ с обратной эндианностыо, причем в среду другой операцион­ной системы [6].

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

СПИСОК ЛИТЕРАТУРЫ

  1. Колташев А.А. Среда программирования для встро­енных ЭВМ: система требований и тенденции ее раз­вития / Сб. "Среда программирования: методы и ин­струменты". – Новосибирск: ИСИ СО РАН, 1992.
  2. Князькин Ю.М., Колташев А.А. Гарантии качества программного обеспечения встроенных ЭВМ / Мате­риалы Межд. научно-техн. конф. "Проблемы обеспе­чения качества изделий в машиностроении". – Крас­ноярск: КГТУ, 1994.
  3. Колташев А.А. Технология разработки и сопрово­ждения мобильного программного обеспечения спутников связи // Изв. вузов. Приборостроение, 2004, № 4.
  4. Колташев А.А. Технологические аспекты создания бортового программного обеспечения спутников свя­зи / Вестник СибГАУ им. акад. М.Ф. Решетнева. Вып. 6. – Красноярск: СибГАУ, 2005.
  5. Koltashev Audrey. A Practical Approach to Software Portability Based on Strong Typing and Architectural Stratification / Joint Modular Languages Conference, JMLC 2003, Klagenfurt, Austria, 2003. Proceedings Lec­ture Notes in Computer Science (LNCS 2789) Springer-Verlag, Berlin Heidelberg, New York, 2003.
  6. Колташев А.А. Технология переноса бортового программного обеспечения // Открытые системы, 2004, № 4.
  7. СТП 154-123-2005. Обеспечение бортовое программ­ное. Управление проектированием, изготовлением и сопровождением. – Железногорск: НПО ПМ, 2005.