automated software development and verification technologies in the aerospace industry

53
Технологии автоматизированной разработки и верификации программ в космической отрасли докт. техн. наук, профессор кафедры программных систем А.А. Тюгашев СГАУ имени С.П. Королева TMPA – 2014 г. Кострома

Upload: iosif-itkin

Post on 12-Jul-2015

156 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Automated Software Development and Verification Technologies in the Aerospace Industry

Технологии автоматизированной

разработки и верификации программ в космической

отрасли

докт. техн. наук, профессор кафедры программных систем А.А. Тюгашев

СГАУ имени С.П. Королева

TMPA – 2014 г. Кострома

Page 2: Automated Software Development and Verification Technologies in the Aerospace Industry

Уровень «зрелости» процессов разработки БПО в космической отрасли в среднем значительно превосходит обычный уровень, характерный для «коммерческих» приложений Высший, пятый – «оптимизирующий» уровень по модели CMM (Capability Mature Model) имеют очень небольшое число организаций, в том числе – был присвоен процессам создания и модификации БПО корабля Space Shuttle Сама модель CMM была разработана Software Engineering Institute по заказу НАСА Первые ЭВМ активно использовались, как в нашей стране, так и за рубежом, в космических программах Сегодня даже микро- и наноспутники весом в десятки килограммов в качестве центрального звена системы управления имеют БЦВМ, управляемую ПО

Некоторые факты

3

Page 3: Automated Software Development and Verification Technologies in the Aerospace Industry

От корректности и надежности программного обеспечения напрямую зависит успех космических миссий (Mission Critical Software), возможность человека вмешаться в управление весьма ограничена (пример Фобос-Грунт’а)

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

Предпосылки автоматизации процессов разработки ПО в космической отрасли

3

Page 4: Automated Software Development and Verification Technologies in the Aerospace Industry

Ариан-5, первый пуск РН, 1996 г. самая дорогая ошибка Маринер-I, 1962 г. первая широко известная Ошибка БПО марсохода Pathfinder, 1997 г. (исправлена) Mars Polar Lander, 1999 г. Mars Climate Orbiter , 1999 г. Sea Launch запуск РН Зенит, 2000 г. Пуск РН Титан-4 с военным ИСЗ, 1999 г. Пуск РН «Рокот» с ИСЗ «Криосат» ЕКА, 2005 г. Сбой ПО марсохода Curiosity 2013 г. (исправлена) …

Известные аварии космической техники из-за ошибок в программах (лишь некоторые)

3

Page 5: Automated Software Development and Verification Technologies in the Aerospace Industry

МОКБ «Марс», г. Москва НПЦАП имени Н.А. Пилюгина, г. Москва ОАО «ИСС» имени М.Ф. Решетнева, г. Железногорск РКЦ «Прогресс», г. Самара КБ «Арсенал», г. Санкт-Петербург Лаборатория «За надежное ПО» НАСА (Г. Хольманн) контакты с НПО имени С.А. Лавочкина, г. Химки ЦНИИМАШ, г. Королев РКК «Энергия», г. Королев

Известные автору автоматизированные технологии создания ПО

3

Page 6: Automated Software Development and Verification Technologies in the Aerospace Industry

Методы повышения надежности и качества БПО Совершенствование процессов разработки ПО за

счет современных методик, языков и инструментов

Тщательная верификация за счет автоматизации отладки и тестирования ПО с обеспечением

необходимой полноты покрытия применения формальных методов верификации со строгим

доказательством свойств ПО

Автоматическая генерация ПО, (где это возможно) –

«программирование без программистов»

Page 7: Automated Software Development and Verification Technologies in the Aerospace Industry

Ракеты-носители РКЦ «Прогресс»

Page 8: Automated Software Development and Verification Technologies in the Aerospace Industry

Космические аппараты РКЦ «Прогресс»

Page 9: Automated Software Development and Verification Technologies in the Aerospace Industry

Определение требований к ПО Проектирование структуры ПО и программ моделирования бортовых систем, полета, и пр. Разработка управляющих алгоритмов и алгоритмов моделей Программирование управляющего ПО и моделей Автономная отладка (аналог unit testing) Совместная отладка (аналог Integration testing) Комплексная отладка на наземных отладочных стендах с комплексом программ моделирования полета Эксплуатация и сопровождение, включая исправление ошибок по радиоканалу с Земли

Этапы жизненного цикла управляющего ПО (технология РКЦ «Прогресс»)

3

Page 10: Automated Software Development and Verification Technologies in the Aerospace Industry

Жизненный цикл БПО

Page 11: Automated Software Development and Verification Technologies in the Aerospace Industry

ГРАФКОНТ/ГЕОЗ Цели разработки Сокращение сроков, трудоемкости и стоимости

жизненного цикла БПО Снижение зависимости от уникального опыта и

квалификации отдельного разработчика

Автоматизация синтеза управляющих программ Автоматизация построения актуальной,

соответствующей версии кода программной документации

Автоматизация отладки и тестирования БПО

Page 12: Automated Software Development and Verification Technologies in the Aerospace Industry

ГРАФКОНТ/ГЕОЗ Принципы Использование удобных и современных методик,

языков и инструментария Широкое применение интуитивно понятных человеку

графических представлений Автоматическая генерация фрагментов программ (где

это возможно) Автоматизация тестирования ПО Снижение зависимости от уникального опыта и

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

Page 13: Automated Software Development and Verification Technologies in the Aerospace Industry

ГРАФКОНТ Решаемые задачи Автоматизация спецификации управляющих

алгоритмов реального времени (УА РВ) Визуальное конструирование циклограммы УА Визуальное конструирование логико-временной

схемы алгоритма экспорт в формат .dxf (AutoCAD, Компас, и пр.)

Автоматическое построение блок-схемы программы экспорт в .dxf

Автоматическая параметрическая генерация управляющих программ (ассемблеры различных БЦВМ, Си, и пр.)

Page 14: Automated Software Development and Verification Technologies in the Aerospace Industry

ГЕОЗ Решаемые задачи

Автоматическая генерация таблицы возможных вариантов исполнения для автономной отладки

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

Автоматическое построение для совместной и комплексной отладки: таблиц информационных связей модуля таблиц управляющих связей модуля

Page 15: Automated Software Development and Verification Technologies in the Aerospace Industry

ГРАФКОНТ/ГЕОЗ Структура комплекса

Page 16: Automated Software Development and Verification Technologies in the Aerospace Industry

ГРАФКОНТ/ГЕОЗ Интегрированная среда разработки

Page 17: Automated Software Development and Verification Technologies in the Aerospace Industry

ГРАФКОНТ Визуальный конструктор циклограммы УА РВ

Page 18: Automated Software Development and Verification Technologies in the Aerospace Industry

ГРАФКОНТ Визуальное конструирование логико-временной схемы программы

Page 19: Automated Software Development and Verification Technologies in the Aerospace Industry

ГРАФКОНТ Генерация и экспорт блок-схемы алгоритма

Page 20: Automated Software Development and Verification Technologies in the Aerospace Industry

ГЕОЗ Автоматическая генерация тестов для автономной отладки

Page 21: Automated Software Development and Verification Technologies in the Aerospace Industry

ГЕОЗ Автоматическая генерация таблиц связей модуля для комплексной отладки

Page 22: Automated Software Development and Verification Technologies in the Aerospace Industry

Дополнительно

Автоматизированная верификация спецификаций УА РВ

Page 23: Automated Software Development and Verification Technologies in the Aerospace Industry

Эффективность Технология ГРАФКОНТ/ГЕОЗ разработана в

рамках хоздоговоров для заказчика ГНПРКЦ «ЦСКБ-Прогресс»

С использованием функционального моделирования проведено исследование на примере программы приведения КА в ориентированное положение, результаты: снижение трудоемкости на этапах программирования и

подготовки документации до 75% снижение трудоемкости жизненного цикла до 30% сокращение длительности разработки до 20%

Page 24: Automated Software Development and Verification Technologies in the Aerospace Industry

Космические аппараты ОАО «ИСС» имени М.Ф. Решетнева

Page 25: Automated Software Development and Verification Technologies in the Aerospace Industry

Первый спутник с бортовым компьютером – «Полет», 1982 Всего создано БПО для >100 спутников Освоены четыре вычислительные платформы: Салют-4 OBC-1750 Салют-32 БИВК MIPS-III

Ни одного случая потери работоспособности спутника по причине сбоя БПО за все время Удаленная «перепрошивка» БПО (десятки случаев)

БПО спутников связи, навигации и геодезии ОАО «ИСС» им. М.Ф. Решетнева

Page 26: Automated Software Development and Verification Technologies in the Aerospace Industry

кросс-система программирования - КСП Модула-2 система программирования команд управления – СП ИСПОЛКОМ система программирования макропрограмм интегрального управления - СП РЕАЛ наземный отладочный комплекс БПО – НОК БПО система изготовления программ БПО – СИП БПО автоматизированная система сопровождения программ, изделий и документов БПО - АСПИД

Технологический комплекс производства программ - ТКПП ОАО «ИСС» им. М.Ф. Решетнева

Page 27: Automated Software Development and Verification Technologies in the Aerospace Industry

Составляющие технологии разработки БПО ОАО «ИСС»

Page 28: Automated Software Development and Verification Technologies in the Aerospace Industry

Определение требований к ПО систем и БПО в целом ......................АСПИД

Архитектурное проектирование ПО систем и БПО в целом ...........АСПИД

Детальное проектирование и программирование программ и данных ............................................................. КСП М2, СП ИСПОЛКОМ, СП РЕАЛ

Автономное тестирование программ ................................................ КСП М2

Сборка и изготовление БПО ............................................................... СИП БПО

Системное тестирование ПО систем и БПО в целом ….............. НОК БПО

Сопровождение архивов и баз данных БПО .............................. АСПИД, СИП

Управление работами, конфигурацией и качеством ...................... АСПИД

Автоматизация задач разработки и сопровождения БПО

Page 29: Automated Software Development and Verification Technologies in the Aerospace Industry

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

Созданы и эксплуатируются унифицированные АРМ НОК, общесистемные средства которых не зависят ни от конкретного спутника, ни от используемого на нем компьютера. В 2013 г. была завершена замена всех ранее созданных НОК, на унифицированные НОК

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

Система внедрена в 2010 г., в настоящее время в эту системы погружены объекты разработки БПО всех создаваемых спутников ОАО «ИСС».

Постоянное совершенствование технологии ОАО «ИСС»

Page 30: Automated Software Development and Verification Technologies in the Aerospace Industry

Более 80% БПО спутника «Глонасс-М» было заимствовано для спутников «Экспресс-АМ», несмотря на существенные различия архитектур бортовых компьютеров

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

Средства создания макропрограмм интегрального управления спутником многократно модернизированы и доведены до уровня, позволяющего выполнять эти работы непосредственно проектантами систем спутника без привлечения программистов, независимо от используемого на спутнике бортового компьютера

начаты работы по созданию и внедрению в состав ТКПП БПО средств САПР БПО

Постоянное совершенствование технологии ОАО «ИСС»

Page 31: Automated Software Development and Verification Technologies in the Aerospace Industry

Среда программного функционирования (СПФ) - по сути операционной системой реального времени, предоставляет средства организации вычислительного процесса.

Среда программного управления (СПУ) предоставляет средств для организации процесса управления бортовой аппаратурой спутника в реальном времени.

Средства интегрального управления (СИУ) предоставляют средства для организации интегральных режимов функционирования спутника с помощью макропрограмм интегрального управления.

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

Стандартные средства БПО ИСЗ связи, геодезии и навигации

Page 32: Automated Software Development and Verification Technologies in the Aerospace Industry

Кросс-система программирования Модула-2 ОАО «ИСС»

В настоящее время ведутся работы по созданию КСП М2 для нового поколения бортовых компьютеров с архитектурой SPARC

Page 33: Automated Software Development and Verification Technologies in the Aerospace Industry

Наземный отладочный комплекс БПО

3

Page 34: Automated Software Development and Verification Technologies in the Aerospace Industry
Page 35: Automated Software Development and Verification Technologies in the Aerospace Industry
Page 36: Automated Software Development and Verification Technologies in the Aerospace Industry
Page 37: Automated Software Development and Verification Technologies in the Aerospace Industry
Page 38: Automated Software Development and Verification Technologies in the Aerospace Industry
Page 39: Automated Software Development and Verification Technologies in the Aerospace Industry
Page 40: Automated Software Development and Verification Technologies in the Aerospace Industry
Page 41: Automated Software Development and Verification Technologies in the Aerospace Industry
Page 42: Automated Software Development and Verification Technologies in the Aerospace Industry
Page 43: Automated Software Development and Verification Technologies in the Aerospace Industry

НПЦАП имени Н.А. Пилюгина

Page 44: Automated Software Development and Verification Technologies in the Aerospace Industry

РН и РБ с системами управления НПЦ АП имени Н.А. Пилюгина

Page 45: Automated Software Development and Verification Technologies in the Aerospace Industry

Программирование

без программистов

1996 – 2013 годы

ДРАКОН в НПЦАП – это

Page 46: Automated Software Development and Verification Technologies in the Aerospace Industry

Технология разработки алгоритмов и программ

«ГРАФИТ-ФЛОКС»

ДРАКОН в НПЦАП – это

Описания данных (флокс-таблицы) хранятся в базе данных ФЛОКС

Page 47: Automated Software Development and Verification Technologies in the Aerospace Industry

Автоматизированная технология разработки бортовых и наземных программ НПЦАП имени Пилюгина

3

Page 48: Automated Software Development and Verification Technologies in the Aerospace Industry

Автоматизированная технология разработки бортовых и наземных программ НПЦАП имени Пилюгина

3

Этап 1. Разработка алгоритмов.Эту работу выполняют комплексники

по методу "программирование без программистов"

Исходные данные на разработку системы управления

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

Разработка аппаратуры функциональных трактов

Процедурныйязык

ГРАФИТ

Декларативныйязык

ФЛОКС

Формализацияпроцедурных профессиональных знаний

с помощью языка ГРАФИТ(разработка блок- схем алгоритмов)

Формализациядекларативных профессиональных знаний

с помощью языка ФЛОКС(описание объектов)

Идентификаторы Знанияоб объектах

ГРАФИТ - РЕДАКТОР (кодировщик)

ЭлектронныйГРАФИТ-алгоритм

Твердаякопия

ЭлектроннаяФЛОКС-таблица

Твердаякопия

Комплектдокументации

"ГРАФИТ-алгоритмы"

Передачаполного комплекта

документациина алгоритмы

в отдел техническойдокументации

ФЛОКС - РЕДАКТОР(кодировщик)

Комплектдокументации

"ФЛОКС-формуляры"

Передачадискеты в отдел

программистов

Передачадискеты в отдел

программистов

Этап 2. Генерация программ.Эту работу выполняют программисты

Ввод и контрольэлектронных

ГРАФИТ- алгоритмовв базу данных

Ввод и контрольэлектронных

ФЛОКС-таблицв базу данных

База данныхГРАФИТ

(база графит-алгоритмов)

База данныхФЛОКС

(база объектов)

Транслятор

ТрансляцияГРАФИТ-

алгоритмов

Формированиекодов

внутреннегопредставления

Анализатор

Формированиекодов для

кодогенератора.

Подстановкаописанияобъектов

из базы данных ФЛОКС

Кодогенератор

Формирование ассемблерных

текстов

УГРА

Формированиезагрузочных

кодов

Отладчик

Формированиепакета

программ.Исправление

ошибок

Программаформированиямодели памяти

Компоновщик

Сборка пакетапрограмм

(исполнителии процедуры)

Загрузочныемодули

Регистрациярезультатов

Отладчик-интерпретатор

Имитационныепрограммы

Автоматизи-рованнаяобработка

Регистрациярезультатов.

Сбор ТМИСтенд

Автоматизи-рованнаяобработка

Анализрезультатов

Анализрезультатов

Этап 3. Отработка программ

Получениеот комплексников

дискетысо ФЛОКС-таблицей

Получениеот комплексников

дискеты с ГРАФИТ-алгоритмом

Page 49: Automated Software Development and Verification Technologies in the Aerospace Industry

Графические примитивы

Графический алфавит

языка ДРАКОН

Page 50: Automated Software Development and Verification Technologies in the Aerospace Industry

.

ГРАФИТ-программа - пример

Page 51: Automated Software Development and Verification Technologies in the Aerospace Industry

Технология НПЦАП успешно использована при создании

3

разгонный блок космических аппаратов ДМ-SL (проект «Морской старт») модернизированная ракета-носитель тяжелого класса ПРОТОН-М семейство разгонных блоков ФРЕГАТ (ФРЕГАТ, ФРЕГАТ-СБ, ФРЕГАТ-УТТХ, ФРЕГАТ-МT, ФРЕГАТ-СУМ) разгонный блок космических аппаратов ДМ-SLБ разгонный блок космических аппаратов ДМ-03 первая cтупень южнокорейской ракеты-носителя KSLV РН семейства Ангара: АНГАРА-1.2 первого пуска, АНГАРА-1.2 с агрегатным модулем, тяжелого класса АНГАРА-А5 разгонный блок КВТК (кислородно-водородный тяжелого класса)

Page 52: Automated Software Development and Verification Technologies in the Aerospace Industry

ВЫВОДЫ

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

Есть, чему поучиться разработчикам ПО «общего назначения»!

Page 53: Automated Software Development and Verification Technologies in the Aerospace Industry

Спасибо за внимание! А.А. Тюгашев

докт. техн. наук, профессор кафедры программных систем СГАУ имени академика С.П. Королева

е-маil: [email protected]

Автор доклада выражает признательность сотрудникам РКЦ «Прогресс», ОАО «ИСС», МОКБ «Марс», НПЦАП за предоставленные рисунки и иные материалы