15 ноября исполнилось 25 лет со дня триумфа Советской космонавтики — полностью автоматический полет многоразового транспортного космического корабля Буран. Хроника данного события.
В 1976 году в СССР в обстановке строжайшей секретности началась разработка многоразового транспортного космического корабля Буран в рамках проекта «Буран-Энергия».
Это был грандиозный проект. В его создании принимали участие 86 министерств и ведомств и 1286 предприятий СССР (всего около 2,5 миллиона человек).
Свой первый и единственный космический полёт «Буран» совершил 15 ноября 1988 года. Орбитальный корабль был запущен c космодрома Байконур при помощи ракеты-носителя «Энергия». После облёта Земли Буран произвёл посадку на специально оборудованном аэродроме «Юбилейный» на Байконуре. Полёт прошёл без экипажа, полностью в автоматическом режиме. В отличие от американского Шаттла, который совершал посадку только на ручном управлении.
Более подробно про сам Буран можно узнать на Wikipedia. Но самая полная информация собирается на сайте http://www.buran.ru
Наземный комплекс управления, мозговым центром которого является ЦУП, в первом полете «Бурана» задействовал шесть наземных станций слежения, четыре плавучие станции и систему связи и передачи данных, состоящую из сети наземных и спутниковых широкополосных и телефонных каналов связи. Для управления процессом посадки, помимо наземных средств контроля и управления, использовалась собственная БЦВМ (Бортовая цифровая вычислительная машина) «Бурана» «Бисер-4». Военный заказ определил архитектуру БЦВМ — она была реализована в виде четырех параллельных независимых вычислительных каналов и компаратора, который непрерывно сравнивал результаты на выходе каналов. В случае отклонения результатов какого-либо из каналов от трех остальных, он отключался и БЦВМ продолжала работать в штатном режиме. Таким же образом мог быть отключен еще один поврежденный вычислительный канал, чем достигалось автоматическое резервирование и отказоустойчивость БЦВМ. Вычислительные каналы (или ядра, в современной терминологии) работали на частоте 4 МГц и имели 128 КБайт оперативной памяти и 16 КБайт постоянной программной памяти. Подобная архитектура позволяла БЦВМ управлять процессом посадки «Бурана» даже в условиях ядерной войны (это входило в ТЗ по требованию военных).
— Центральная вычислительная система, состоящая из 4-х БЦВМ типа Бисер-4.
— Периферийная вычислительная система, состоящая из 4-х БЦВМ типа Бисер-4.
2. Названия «центральная» и «периферийная система является в некотором смысле условным, так как они были совершенно одинаковыми.
3. Четыре БЦВМ типа Бисер-4 работали синхронно, по одинаковым программам.
Это было четырехкратное аппаратное резервировние. При любых двух отказах система управления Бурана должна была обеспечить выполнение критических задач: спасение жизни экипажа и возвращение Бурана на Землю.
4. В отличие от американцев, которые использовали ПРОГРАММНУЮ синхронизацию четырех БЦВМ (on-board computers), мы использовали АППАРАТНУЮ синхронизацию четырех БЦВМ типа Бисер-4. Для этого был разработан пятикратно резервированный кварцевый генератор, выдававший выходную частоту по схеме голосования ТРИ ИЗ ПЯТИ (3 из 5). Этот сверхнадежный кварцевый генератор (пять каналов которого, были, разумеется, синхронизированы между собой) выдавывал частоту одновременно на все 4 БЦВМ типа Бисер-4.
5. С самого начала в громадной этажерке, в которой размещалась аппаратура на борту Бурана были предусмотрены 8 посадочных мест, куда можно было „вдвинуть“ 8 БЦВМ типа Бисер-4.
4. При первом (и единственном) полете Бурана использовалась только Центральная вычислительная система (только 4 БЦВМ типа Бисер-4). Периферийная система не использовалась. Это значит, что в этажерку были вставлены только 4 прибора Бисер-4. Остальные 4 посадочных места для четверки БЦВМ периферийной системы были пустыми и закрыты заглушками.
5. Во втором пуске Бурана (который так никогда и не состоялся) количество полетных задач увеличилось. Мощности одной четверки БЦВМ уже не хватало и в приборный состав системы управления была снова введена периферийная система, то есть добавлена еще четверка БЦВМ типа Бисер.
6. Подготовка ко второму пуску Бурана шла полным ходом. Но распад СССР привел к прекращению работ.
7. Насчет языка ДРАКОН. Здесь надо говорить много и подробно. Но я ограничусь одним упоминанием.
Рассмотрим задачу управления сохранением живучести четырехкратно резерированной четверки БЦВМ Бисер-4 при выходе из строя одной, двух и трех БЦВМ. Со стороны эта задача может показаться довольно простой. На самом деле это не так. Для решения указанной задачи была предусмотрена программа, которая называлась ППН (Программа Повышения Надежности). Эту программу разрабатывала в моей лаборатории Лариса Дмитриевна Тюрина. Она разрабатывалась на ДРАКОНЕ. Но тогда это был „бумажный“ ДРАКОН. Фактически это был детальный алгоритм, на ДРАКОНе. Лариса отдала его программистам, и они закодировали его на ассеблере БИСЕР-4.
При разработке Бурана проблема разработки и отработки программного обеспечения считалась одной из наиболее сложных. Первоначально предполагалось, что для решения задачи потребуется несколько тысяч программистов.
Программное обеспечение создавалось в Научно-производственном центре автоматики и приборостроения имени академика Н.А. Пилюгина и в Институте прикладной математики им. М.В. Келдыша.
После изучения задачи было решено разработать проблемно-ориентированные языки, основанные на терминах, понятиях и форме представления алгоритмов управления и испытаний, используемых разработчиками корабля. Реализация этих языков позволила привлечь к созданию бортового и испытательного программного обеспечения самих разработчиков корабля — авторов алгоритмов управления и испытаний. Разработка языков и соответствующих инструментальных средств была выполнена небольшим коллективом высококвалифицированных программистов Института прикладной математики в чрезвычайно сжатые сроки.
Для разработки бортового программного обеспечения был создан специализированный язык реального времени ПРОЛ2 и базирующаяся на нем система автоматизации программирования и отладки САПО ПРОЛ2. Для обеспечения работы управляющих алгоритмов была создана бортовая операционная система, успешно отработавшая во время первого беспилотного полета корабля.
Для разработки программного обеспечения наземных испытаний корабля был создан проблемно-ориентированный язык ДИПОЛЬ и базирующаяся на нем система автоматизации программирования и отладки. Для обеспечения работы алгоритмов испытаний была создана Автоматизированная испытательная система…
Кроме того, в Пилюгинском центре под руководством Константина Федорова был разработан язык ЛАКС для моделирования.
Со временем стало ясно, что обилие языков мешает делу. Возникло предложение заменить эти три языка на один универсальный язык — ДРАКОН (Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность).
Автором языка ФЛОКС был Владимир Паронджанов.
Автором базы данных — Владислав Балтрушайтис.
Разработчики алгоритмов выдавали программистам задания на разработку программ на языке ПРОЛ2 в виде частично формализованных блок-схем, снабженных флокс-идентификаторами и флокс-описаниями.
Эти блок-схемы были упрощенным прообразом языка Дракон. Но название Дракон в ту пору еще не употреблялось.
Этап 2. Сложилась неожиданная ситуация. Для одних и тех же понятий Бурана языки ПРОЛ2, Диполь и ЛАКС имели различные системы идентификаторов, что было крайне неудобно.
Очень скоро стало ясно, что флокс-идентификаторы обладают безусловными преимуществами. Вследствие этого Диполь-идентификаторы и ЛАКС-идентификаторы были отброшены за полной ненадобностью. Флокс-идентификаторы одержали полную и окончательную победу.
Этап 3. Единство идентификаторов у трех языков (ПРОЛ2, ДИПОЛЬ, ЛАКС) постепенно привело к предложению об отказе от трех языков и замене их одним универсальным языком.
Эту мысль в 1986 году высказал начальник комплексного отделения Юрий Трунов (впоследствии Генеральный конструктор и Генеральный директор Пилюгинского центра).
Трунов поручил создание нового языка начальнику лаборатории комплексной разработки вычислительной системы Бурана Владимиру Паронджанову.
Началось постепенное преобразование частично формализованных блок-схем (которые использовались в качестве исходных данных на разработку программ на языке ПРОЛ2) в строго формализованный язык, получивший название ДРАКОН.
Разработка языка Дракон и его программного обеспечения длилась примерно 10 лет (1986—1996). За это время была создана Технология разработки алгоритмов и программ „ГРАФИТ-ФЛОКС“
Все работы по системе ГРАФИТ-ФЛОКСбыли завершены к 1996 году. Затем она поступила в эксплуатацию.
С ее помощью были разработаны алгоритмы и программы проекта Морской старт. В общей сложности на разработку и отработку программного обеспечения и других элементов Системы управления проекта «Морской старт» ушло три года.
ДРАКОН не является мертвым языком. Применяется, в основном, в космической сфере. Использовался для создания ПО для ФОБОС-ГРУНТ, разгонного блока „Фрегат“, „Тополь-М“, модернизации ракетоносителя „Протон-М“. Он применяется в НПО им. Лавочкина для создания лунного модуля.
Остановимся немного на особенностях языка ДРАКОН:
ДРАКОН — графический (визуальный) язык.
Жёсткая стандартизация позволяет по блок-схемам синтезировать код программы.
Язык очень лёгкий и хорошо продуман. Заточен на практические задачи.
Гораздо проще UML. Можно сказать что UML — для объектно ориентированного программирования, а Дракон-схемы для процедурного программирования.
Дабы не заниматься кросспостингом я оставлю ссылку на Wiki с кратким описанием языка.
Весь материал взят с сайтов:
http://www.buran.ru/
http://drakon.su/
http://forum.oberoncore.ru/
http://transhumanism-russia.ru/
http://ru.wikipedia.org/
Автор: AbnormalHead