SASGIS

Веб-картография и навигация

Они пишут правильную вещь

Форум для обсуждения деталей разработки программы SAS.Планета

Модераторы: vdemidov, Tolik

Они пишут правильную вещь

Сообщение zed » 29 мар 2011, 12:36

Изображение

Статья про разработчиков ПО для шаттлов NASA:

    Правильная вещь появляется за 31 секунду, до времени Х.

    В то время, когда 120-ти тонный шаттл стоит, окруженный почти 4-мя миллионами фунтов ракетного топлива, источая ядовитые пары, с явным желанием бросить вызов земной гравитации; его бортовые компьютеры получают команду. Четыре идентичных компьютера, работающие под управлением идентичного ПО, собирают информацию из тысяч датчиков, принимая сотни миллисекундных решений, утверждая каждое решение, сверяясь друг с другом 250 раз в секунду. Пятый компьютер, с другим ПО, готов взять управление на себя в случае сбоя остальных четырех.

    В момент времени -6.6 секунды, если давления, насосы и температуры в норме, компьютеры дают приказ зажечь главные двигатели шаттла – каждый из трех двигателей вспыхивает ровно через 160 миллисекунд, тонны сверхохлажденного жидкого топлива попадают в камеры сгорания, корабль дрожит на своей пусковой площадке, удерживаемый на земле только креплениями. Когда главные двигатели достигают силы тяги в миллион фунтов, их выхлопы превращаются в голубые бриллианты пламени.

    Тогда и только тогда, в момент времени -0 секунд, если компьютеры убедились, что двигатели работают правильно, они дают приказ поджечь массивные ракетные ускорители. Менее чем за секунду, они развивают силу тяги в 6.6 миллионов фунтов. И именно в этот момент, компьютер отдает приказ взрывчатым креплениям взорваться, и корабль весом 4.5 миллионов фунтов величественно поднимается над стартовой площадкой.

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

    ...
    Спецификации для всего программного обеспечения в его текущем состоянии занимают 30 томов или около 40.000 страниц. (при том, что размер кода - 450 000 строк)

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

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

    Другая база данных – это база данных ошибок, является своего рода памятником тому пути, которым прошла бортовая группа шаттла в своей работе. Здесь содержатся все ошибки, которые были когда-либо допущены при написании или при работе с ПО, на протяжении почти 20 лет. Для каждой ошибки в базе данных хранятся записи о том, когда эта ошибка была обнаружена; какой набор команд привел к ней; кто обнаружил ошибку; на какой стадии ошибка была обнаружена – при тестировании, при тренировке или в полете. Здесь отслеживается как ошибка проявилась в программе; как ошибке удалось просочиться сквозь фильтры на каждой стадии поиска ошибок – почему она не была обнаружена при проектировании? при ревизиях кода? при тестировании? В конечном итоге база данных содержит информацию о том, как ошибка была исправлена и не могли ли подобные ошибки просочиться сквозь эти дыры.

За это сообщение автора zed поблагодарили: 2
gpsMax (27 май 2011, 00:53) • Parasite (29 мар 2011, 13:03)
Рейтинг: 10.53%
 
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Они пишут правильную вещь

Сообщение Tolik » 29 мар 2011, 13:01

Очень пафосно. Прям Артур Хейли.

А в обычной телефонной станции ещё больше строк кода. И каждая строчка снабжена комментарием. И базы данных есть, в которых всё то же самое.
Только тонны ракетного топлива никуда не попадают. Просто сотни тысяч абонентов слушают диалтон и давят кнопки.
Tolik
Гуру
 
Сообщения: 2603
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 277 раз.
Поблагодарили: 515 раз.

Re: Они пишут правильную вещь

Сообщение Parasite » 29 мар 2011, 13:02

zed писал(а):его бортовые компьютеры получают команду. Четыре идентичных компьютера, работающие под управлением идентичного ПО, собирают информацию из тысяч датчиков, принимая сотни миллисекундных решений, утверждая каждое решение, сверяясь друг с другом 250 раз в секунду. Пятый компьютер, с другим ПО, готов взять управление на себя в случае сбоя остальных четырех.

О мон шер, сколько пафоса...у них там что, время выбивания новых правительственных дотаций на носу? :)
Слегка нейтрализуем:

Изображение

4 июня 1996 г., меньше чем через минуту после своего первого старта, французская ракета Ariane 5 самоликвидировалась. Для расследования этого происшествия была назначена комиссия из сотрудников CNES (Национальный Центр космических исследований) и ESA (Европейское Космическое Агентство) под председательством специалиста по прикладной математике Jacques-Louis Lions. История раскрытия программной ошибки, которая привела к аварии, изложена на основе английского перевода отчета комиссии за N 146.

...

Положение и движения ракеты в пространстве измеряется SRI. SRI имеет собственный внутренний компьютер, в котором углы и скорости вычисляются на основе информации от лазерных гироскопов и акселерометров. Данные из SRI передаются через шину данных в бортовой компьютер (on-board computer - OBC), который выполняет программу полета и управляет соплами твердотопливных ускорителей и криогенного двигателя Vulcain через сервораспределители и гидроприводы.

Для повышения надежности имеется значительная избыточность на уровне оборудования. Две SRI функционируют параллельно с идентичными аппаратными средствами и программным обеспечением. Одна SRI является активной, а другая находится в горячем резерве; если OBC обнаруживает, что активная SRI отказала, он немедленно переключается на другую, что обеспечивает правильное функционирование системы. Аналогично имеются два OBC, а также дублирован ряд других модулей в системе управления полета.

Конструкция SRI, используемая в Ariane 5, почти идентична SRI в Ariane 4, особенно в плане ПО. На основе документации и данных, ставших достоянием комиссии, была установлена следующая цепочка событий, начинающихся с самоликвидации ракеты и прослеженная обратно во времени к первичной причине.

Ракета-носитель начала разламываться приблизительно на 39-й секунде из-за высоких аэродинамических нагрузок, появившихся вследствие увеличения угла атаки до величины больше, чем 20 градусов. Это привело к отделению ускорителей от самой ракеты, что, в свою очередь, включило самоликвидацию ракеты-носителя.

Такой угол атаки был вызван полным отклонением сопел твердотопливных ускорителей и главного двигателя Vulcain.

Отклонения сопел управлялись ПО бортового компьютера (OBC) на основе данных активной SRI (SRI 2). Часть данных в течение этого времени состояла не из нормальных данных полета, а представляла диагностический набор данных компьютера SRI 2, который интерпретировался как данные полета.

SRI 2 не посылала правильные данные положения, потому что система определила сбой из-за возникновения исключительного состояния при выполнении вычислений.

OBC не смог переключиться на резервную SRI (SRI 1), потому что эта система уже прекратила функционировать в течение предыдущего цикла обработки данных (период в 72 миллисекунд) по той же самой причине, что и SRI 2.

Внутреннее исключительное состояние при выполнении вычислений в ПО SRI произошло во время выполнения преобразования данных из 64-битового числа с плавающей запятой в 16-битовое целое число со знаком. Значение числа с плавающей запятой было большим, чем то, что могло бы быть представлено 16-битовым целым числом со знаком. В результате, возникла ошибка операнда. Эти команды преобразования данных (в тексте программы на языке Ада) не были защищены от ошибок операнда, хотя другие преобразования подобных переменных в том же самом месте в тексте программы были защищены.

Ошибка произошла в той части ПО, которое управляет только выравниванием платформы системы инерциальной навигации. Результаты, вычисленные этим программным модулем, имеют значение только до старта. После старта результаты работы этого модуля не используются. Функция выравнивания работает в течение 50 секунд после начала режима полета для SRI (3 секунды перед стартом для Ariane 5). Следовательно, после старта эта функция выполняется приблизительно в течение 40 секунд полета. Эта временная последовательность основана на требованиях Ariane 4, которые не относятся к Ariane 5.

Ошибка операнда произошла из-за непредвиденно высокого значения результата функции внутреннего выравнивания, называемого BH (горизонтальное смещение), который имеет отношение к горизонтальной скорости платформы SRI. Это значение вычисляется для определения точности выравнивания. Значение BH было намного выше ожидаемого, т.к. начальный участок траектории Ariane 5 отличается от подобного участка для Ariane 4 и приводит к значительно большим значениям горизонтальной скорости....

продолжение на http://www.ci.ru/inform11_97/vzrv.htm

Резюмэ: она ВНЕЗАПНО сумела летать быстрее чем думали, и упала © взорвалась, а упало то что сумело долететь.
При этом не забываем, что Ариан - гораздо более новая разработка, чем Шаттлы. Это вообще вершина технологий. Была, в смысле.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение

За это сообщение автора Parasite поблагодарил:
gpsMax (27 май 2011, 00:55)
Рейтинг: 5.26%
 
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 459 раз.

Re: Они пишут правильную вещь

Сообщение Parasite » 29 мар 2011, 13:11

Tolik писал(а):А в обычной телефонной станции ещё больше строк кода. И каждая строчка снабжена комментарием.

А в мое время были телефонные станции с девчонками и штеккерами. А потом (новая технология!) - автоматические на релюшках в больших серых шкафах.
Комментарии там были только от техников, которые ползали в пыли и выковыривали выбитые разрядники из кросса после очередной грозы, или протирали контакты релюшек зубной щеткой, если тот или иной регистр внезапно отвалится (это было слышно на ухо - стук и треск резко прекращались). Ежедневно чистили, посменно, круглосуточно, спиртиком (техническим синим, увы - если кому интересно)...Я эти комментарии сюда постесняюсь приводить... :) Это ж какой извращенной фантазией надо было обладать, чтобы в эти девайсы вкорячить релюшки с ОТКРЫТЫМИ контактами...! Первая же пыль или влага - это наше всё! :twisted:
Изображение
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 459 раз.

Re: Они пишут правильную вещь

Сообщение PavelML » 30 мар 2011, 14:00

Parasite писал(а):
Tolik писал(а):... Это ж какой извращенной фантазией надо было обладать, чтобы в эти девайсы вкорячить релюшки с ОТКРЫТЫМИ контактами...! Первая же пыль или влага - это наше всё!

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

Однако... хорошо смеяться имея уровень овременной микроэлектроники, оптику и ваймаксы... а что было делать в дотранзисторную эпоху?
PavelML
Заслуженный тролль ресурса
 
Сообщения: 104
Зарегистрирован: 20 фев 2010, 17:29
Благодарил (а): 0 раз.
Поблагодарили: 6 раз.

Re: Они пишут правильную вещь

Сообщение PavelML » 30 мар 2011, 14:07

Для повышения надежности имеется значительная избыточность на уровне оборудования.


Переводчик - не инженер.
Инженер не путает надежность и отказоустойчивость. Аппаратная избыточность - надежность снижает ВСЕГДА! Но она повышает отказоустойчивость. Причем не автоматически, а тоолько если как следует о проблему приложиться головой...
PavelML
Заслуженный тролль ресурса
 
Сообщения: 104
Зарегистрирован: 20 фев 2010, 17:29
Благодарил (а): 0 раз.
Поблагодарили: 6 раз.

Re: Они пишут правильную вещь

Сообщение Parasite » 30 мар 2011, 19:59

PavelML писал(а):
Parasite писал(а):
Tolik писал(а):... Это ж какой извращенной фантазией надо было обладать, чтобы в эти девайсы вкорячить релюшки с ОТКРЫТЫМИ контактами...! Первая же пыль или влага - это наше всё!

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

А разве герметичных (ну или хотя бы пыле\влагозащищенных) корпусов реле в ту эпоху не было? Странно, ибо то же РЭС-9 вполне себе кошерно в этом плане, да еще и по размерам много меньше. А про военку я и вообще молчу.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 459 раз.

Re: Они пишут правильную вещь

Сообщение Tolik » 31 мар 2011, 08:37

Подозреваю, что РЭС-9 и аналогичные не проходят по напряжению.
Макс. 115 В (для переменного тока), прочность изоляции 500 В. В абонентских линиях может быть гораздо больше.
Потому и использовались релюхи с контактами как медный пятак. Сам чистил их напильником на студенческой практике :)

Однако, начинался топик с ПО для Шаттла :lol:
Tolik
Гуру
 
Сообщения: 2603
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 277 раз.
Поблагодарили: 515 раз.

Re: Они пишут правильную вещь

Сообщение Parasite » 31 мар 2011, 12:10

Tolik писал(а):Подозреваю, что РЭС-9 и аналогичные не проходят по напряжению.

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

Tolik писал(а):Потому и использовались релюхи с контактами как медный пятак. Сам чистил их напильником на студенческой практике :)

Да какой там пятак. Вон, выше - релюшка с регистра, в натуральную величину. Контактики очень удобно чистятся жесткой зубной щеткой. :)
Hint: обычная телефонная лапша прекрасно держит и ток, и напряжение, и даже умеет разрядники на кроссе выбивать в грозу (сама оставаясь целой). Толщину жилы в лапше, я думаю - сам знаешь. Далеко не с пятак.

Контакты по пятаку были на силовых релюхах и концевиках у промышленного оборудования и прочих пускателей - и с них было очень удобно сковыривать серебряные накладки, плавить с бурой (на ближайшем автогене) и делать печатки\крестики. Эхх, хорошее было время... :)

Tolik писал(а):Однако, начинался топик с ПО для Шаттла :lol:

Ты хочешь сказать что на шаттлах релюшек нет? Тю...это ж разработка\сборка 70х годов прошлого века, тогда даже компьютеры были на них, родимых... :)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 459 раз.

Re: Они пишут правильную вещь

Сообщение Tolik » 31 мар 2011, 13:06

Про пятак - это, конечно, было преувеличение.
Может потому и не делали в корпусе, что всё равно контакты бы окислялись, только чистить их было бы труднее...

Что там в шаттле не знаю, а блок управления древней баллистической ракеты видел. Всё было утыкано релюшками, РЭС-10 или типа того. Отличная, кстати, была техника. Всё аналоговое, сейчас так никто уже не построит.
Tolik
Гуру
 
Сообщения: 2603
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 277 раз.
Поблагодарили: 515 раз.


Вернуться в Раздел для разработчиков программы SAS.Планета

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

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