DRAKON.SU

Текущее время: Четверг, 28 Март, 2024 20:57

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: Понедельник, 29 Июль, 2013 17:01 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
В МОКБ "Марс", г. Москва, http://www.mars-mokb.ru/ шли независимым от НПЦ АП путем, но получили нечто, во многом похожее на ГРАФИТ/ФЛОКС. Описал в виде эссе...

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

Но сначала предыстория...
28 июля 1962 г. космический аппарат Mariner I стартовал по направлению к Венере. Из-за поломки антенны корабль потерял связь с земными службами управления и перешел на автономное. Но в результате аппарат полетел совсем не в ту сторону и его пришлось взорвать. Последующее расследование установило, что в процессе программирования системы навигации была совершена маленькая опечатка — при написании одной из формул в спецификации программы был пропущен один символ...

4 июня 1996 г. Новая ракета-носитель Ariane 5, результат многолетней работы европейских ученых, гордость стран Евросоюза, взорвалась через 40 секунд после своего первого старта. Только научное оборудование на борту стоило около $500 млн, не говоря о множестве побочных финансовых последствий - общий ущерб оценивется в 7-8 млрд долларов. Система автоподрыва ракеты сработала после остановки обоих процессоров в результате цепочки ошибок в бортовых программах.

Запуск ракеты-носителя "Зенит" 12 марта 2000 по программе "Морской старт" (Sea Launch) закончился аварией. Через несколько минут после старта ракета "Зенит" отклонилась от курса и не смогла вывести на заданную орбиту первый спутник системы сотовой телефонной связи ICO Global Communications. В опубликованных выводах экспертов компании Боинг причиной сбоя называется программная ошибка. Из-за этой ошибки не был закрыт клапан в пневматической системе второй ступени ракеты. Двигатель не смог развить необходимую тягу, а ракета не вышла на заданную орбиту.

Известны и другие печальные "космические" истории, связанные с программными ошибками, приведшими к тяжелым последствиям.

В наш компьютерный век ЭВМ повсюду. Естественно, что они широко используются в ракетно-космической технике,
в том числе - в бортовых системах управления. Именно система управления - работающая обычно в автономном режиме даже
на пилотируемых космических кораблях - а большинство аппаратов - беспилотные, отвечает за принятие ключевых решений, от которых зависит выполнение поставленных задач и безопасность в режиме реального времени. При этом система управления, согласно известному
кибернетическому принципу Эшби, "должна обладать не меньшим разнообразием состояний, чем управляемая система". А управляемой системой здесь служит весь сложнейший космический комплекс!.
Руководитель лунной программы "Аполлон" Джо Ши говорил: "Хотя инженеры в любой области стремятся расценивать свои собственные разработки как наиболее ответственные, все же можно утверждать, что после создания необходимых ракетных двигателей основой надежного выполнения широких задач при длительных космических полетах являются вычислительные средства, имеющиеся на борту космического корабля".
Мозгом современной системы управления служит бортовая цифровая вычислительная машина - БЦВМ, или набор таких взаимосвязанных и резервированных машин, называемый БЦВК - бортовой цифровой вычислительный комплекс, БВС - бортовая вычислительная система, БЦВС - бортовая цифровая вычислительная система, иногда БИВК - бортовой информационно-вычислительный комплекс.

А непосредственно управление реализуется с помощью специальных управляющих программ. Их сложность и объем постоянно увеличиваются.

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

А программисты все ошибаются и ошибаются...

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

Как можно кардинально улучшить технологию разработки бортовых программ? Один из удивительно звучащих радикальных выходов звучит так: убрать "слабое звено"! Избавиться от человеческого фактора - если программисты-люди ошибаются, будем следовать лозунгу "программирование без программистов!".

Пусть специалисты по логике управления аппаратом - комплексники, алгоритмисты, инженеры бортовых систем - зададут требования (спецификацию) в удобном для них виде, например, графическом - а заведомо правильная программа генерируется сама, автоматически. Вместе с автоматически формируемой актуальной документацией!

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

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

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

Все это кажется сказкой. Но, как уже говорилось, это - не сказка, а быль. И подобная замечательная технология создания бортового программного обеспечения действительно была создана и внедрена в производственный процесс. От услуг целого отдела "бортовых программистов" - отказались.

Получается, специалисты упомянутой организации - впереди планеты всей!

Да, ее название - МОКБ "Марс". Практическое применение данной технологии, которое началось с 2008 года. За это время технологии постоянно развивались и на сегодняшний день предприятие полностью перешло на разработку программного обеспечения систем управления КА по данным технологиям. Например: КА KazSat-2, Электро-Л, Спектр-Р, Электро-Л2, Спектр-РГ и другие темы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 30 Июль, 2013 19:54 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
http://petrenko.ru/lib/story.php?t=29
Жванецкий:
Цитата:
Все это действительно существует, что бы там ни говорили. Просто чтобы это увидеть, нужно попасть к ним внутрь. Они внутри, видимо, все это производят и, видимо, там же все это и потребляют.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 31 Июль, 2013 09:54 
Аватара пользователя

Зарегистрирован: Вторник, 04 Октябрь, 2011 17:45
Сообщения: 585
TAU писал(а):
Все это кажется сказкой. Но, как уже говорилось, это - не сказка, а быль. И подобная замечательная технология создания бортового программного обеспечения действительно была создана и внедрена в производственный процесс.

Хочу-хочу-хочу!
Где можно узнать об этой технологии?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 31 Июль, 2013 16:17 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 239
Откуда: Россия, Стерлитамак
Программа генерируется автоматически. А чем она генерируется? Не той ли же программой, которую все же будут писать программисты? Или она тоже будет сгенерирована автоматически. Прямо курица и яйцо какое-то :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 01 Август, 2013 11:19 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Ну разница-то есть: один раз квалифицированные системщики сделали инструмент - а потом прикладники по спецификациям получают код...

Помните, про это касательно ERP Alexus рассказывал: дайте средство конфигурации пользователям, обучите - и забудьте об мелких изменениях в их задачах ))


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 04 Август, 2013 02:35 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
Степан Митькин писал(а):
TAU писал(а):
Все это кажется сказкой. Но, как уже говорилось, это - не сказка, а быль. И подобная замечательная технология создания бортового программного обеспечения действительно была создана и внедрена в производственный процесс.
Хочу-хочу-хочу!
Где можно узнать об этой технологии?
Ну где - авторы загружены производственной текучкой, до сих пор не опубликовали, несмотря на мои призывы.Можете попробовать написать через официальный сайт mars-mokb.ru, скажите - на форуме прочитали про технологию и заинтересовались, они мне разрешали здесь написать о ней.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 04 Август, 2013 02:38 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
adva писал(а):
Программа генерируется автоматически. А чем она генерируется? Не той ли же программой, которую все же будут писать программисты? Или она тоже будет сгенерирована автоматически. Прямо курица и яйцо какое-то :)

Ассемблеры и компиляторы - тоже программы, написанные программистами. И генерирующие код.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB