MER-1 "Spirit"

Автор ratman, 04.01.2004 06:47:35

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

ratman

Немножко хороших новостей: ненужные файлы потерли, флэш почистили, машину перегрузили. Все работает :)

Завтра обещают полное восстановление функций, но, как и предполагалось, еще день-два будут тестировать железо, поэтому будут ограничения...
Quem Deus vult perdere, prius dementat

Marmot

ЦитироватьНемножко хороших новостей: ненужные файлы потерли, флэш почистили, машину перегрузили. Все работает :)

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

Athlon

Да ладно, значит, один ровер за 100 дней слопает 450 мегабаксов? А на пару почти миллиард?
А если они год ездить будут? Никакого бюджета не хватит!

CaRRibeaN

ratman>Немножко хороших новостей: ненужные файлы потерли, флэш почистили, машину перегрузили. Все работает

Плохо, если честно плохо то, что JPL так и не разобрались в ошибке. Т.е. видимо повторить на земле такое не сумели - отсюда и фразы типа "а если форматирование флеша не поможет, мы остановимся и будем думать дальше" и очень невнятные объяснения этой проблемы, которым если верить, что ошибка недостоенная даже программера с полугодовым стажем.

Все это несколько меня шокирует. Я конечно понимаю, что если понять не удаеться, эмпирически проблему обошли, надо позоку дальше по марсу пускать, иначе простой становиться слишком дорогим (для науки).

ratman

ЦитироватьТ.е. видимо повторить на земле такое не сумели - отсюда и фразы типа "а если форматирование флеша не поможет, мы остановимся и будем думать дальше" и очень невнятные объяснения этой проблемы, которым если верить, что ошибка недостоенная даже программера с полугодовым стажем.

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

А как програмист с десятилетним стажем, я бы не стал сплеча говорить, какая ошибка достойная, а какая недостойная... Видел (и делал) я и не такие ошибки и в более простых и отработанных системах... И с полным доступом. А уж в новых и с ограниченным дотупом...

Програмирование - не точная наука. Такова на сегодняшний день его сущность.

ЦитироватьПлохо, если честно плохо то, что JPL так и не разобрались в ошибке.

ЦитироватьВсе это несколько меня шокирует. Я конечно понимаю, что если понять не удаеться, эмпирически проблему обошли, надо позоку дальше по марсу пускать, иначе простой становиться слишком дорогим (для науки).

Сами себе противоречите. Так нужно было хорошенько разобраться в проблеме или заляпать на скорую руку и ехать дальше ? JPL определили для себя разумный баланс между этими двумя крайностями - вам не кажется, что им видней ? В конце концов, они этот ровер сделали :)

Что ни сделай - все равно все недовольны... :)
Quem Deus vult perdere, prius dementat

ratman

ЦитироватьКстати, каждый день работы с этой телегой стоит 4.5 мегабакса, так что можно посчитать во сколько обошлась ошибочка...

Хм. А давайте подумаем и догадаемся, как получена эта цифра.
Даю подсказку: стоимость ровера с запуском и всеми делами - 400М. Планируемая длина миссии - 90 дней. Дальше рассказывать ? :)

Так что сама по себе работа с ровером стоит, конечно, намного меньше.

Теперь о цене ошибки. Эти 400М были потрачены с определенной целью. Эта цель - выполнить миссию. Миссия включает в себя несколько пунктов: в том числе проведение определенных исследований и получение определенных результатов. Если все исследования и результаты будут получены за один день, то миссия выполнена.

Так что с точки зрения потраченных денег, есил миссия будет полностью выполнена, то ошибка не стоила ничего. А если Spirit'у не хватит этих десяти дней, чтобы выполнить миссию, то цена ошибки - 400М (меньше, потому что часть миссии уже выполнена)

Все конечно, не так бинарно - это просто пример, чтобы показать, что нельзя считать деньги линейно - по времени работы ровера. Если он там будет лишний месяц куролесить, но при этом никаких новых результатов не давать, то от этого толку будет не очень много...
Quem Deus vult perdere, prius dementat

Marmot

Цитировать
ЦитироватьКстати, каждый день работы с этой телегой стоит 4.5 мегабакса, так что можно посчитать во сколько обошлась ошибочка...

Хм. А давайте подумаем и догадаемся, как получена эта цифра.
Даю подсказку: стоимость ровера с запуском и всеми делами - 400М. Планируемая длина миссии - 90 дней. Дальше рассказывать ? :)

Не надо, тормознул я :-( :-)
Хотя даже 10 дней remote debugging-a это тоже результат, на самом деле.
Жизнь без проблем и багов не бывает...
В следующий раз сделают робота с встроенным отладчиком на отдельном CPU для подправления случайно съехавшей крыши :-)

CaRRibeaN

>В точности воспроизвести системный глюк вообще редко удается.

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

>А как програмист с десятилетним стажем, я бы не стал сплеча говорить, какая ошибка достойная, а какая недостойная...

Поверьте я не сплеча. Точнее конечно на объективность данное суждение не претендует, но некая выборка есть - я поговорил по поводу таких объяснений с 2 эмбедед и одинм вполне себе виндовс програмистами. И все поразились нелепости объяснений.

>Видел (и делал) я и не такие ошибки и в более простых и отработанных системах... И с полным доступом. А уж в новых и с ограниченным дотупом...

Не сомневаюсь. Но если объяснение правдивое, и действительно не хватило памяти при работе с флешом, то не отработать ТАКОЕ в ТАКОМ проекте... скорее всего ошибка выглядит по другому.

>Сами себе противоречите.

В чем? Да, плохо, но тут приходиться выбирать из принципа наименьшего зла.  

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

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

Нет, даже когда НАСА промахнулась мимо края атмосферы иъх упрекать не в чем, другие  и так-то не могли.

Но как-то... ведь это все будет усложяться...

>Что ни сделай - все равно все недовольны...

Ну почему все. Мои эмоции просто потому что я привык к гиперосторожному обращению с такой техникой, и к многочисленным фантаститчески инженерно красивым исправлениям разных багов разных АМС со стороны JPL.

ratman

Цитировать>В точности воспроизвести системный глюк вообще редко удается.

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

Нуууу :) Я с embedded не работал, поэтому врать не стану - может быть там все по-другому. Но в обычной жизни точно воспроизвести проблему часто сложнее, чем исправить :)

Автомат-то он, конечно, конечных состояний - но сколько у него нынче состояний ! :)  Это уже не калькулятор...

Это же все довольно случайная фигня - когда начинает корраптаться память - фиг его разберет, как именно она закорраптается.... Запустите на исполнение случайную последовательность байтов - вы можете сказать, что получится ? ;) Я понимаю, что там была другая проблема - но суть от этого не меняется - многообразие состояний автомата слишком велико. Есть такой термин: untracktable
Quem Deus vult perdere, prius dementat

Marmot

Ох, разбередили вы мои больные раны :-)

ЦитироватьНо как-то... ведь это все будет усложяться...
Вот именно, и чем дальше, тем больше, а NASA упорно использует древний, проверенный, но уже не работающуй подход: разработка bug-free software!
На самом деле надо делать системы которые устойчивы к багам, и могут выкарабкаться  из любой (кроме абсолютно фатальной) ситуации.
Вообще-то у них так и получилось, только на уровне железа, а надо-бы было всё это решить на уровне софта.
Кстати, ходят слухи, что для следующей телеги софт будут писать на Java, что является значительным шагом вперёд на пути использования защитного программирования. Я с интересом прослушал доклад на последней OOPSLA об экспериментах NASA в этой области.

Старый

Кстати, о програмистах.
 Получается, что Полар Лэндера тоже угробили програмисты? Там в программе была ошибка, которая выключила двигатели по сигналу от развертывания посадочных опор. Причём все знали, что этот сигнал выключает двигатели, его заблокировали, но намудрили программу так, что сигнал сохранился и когда блокировка снялась он бымсь!
1. Ангара - единственная в мире новая РН которая хуже старой (с) Старый Ламер
2. Назначение Роскосмоса - не летать в космос а выкачивать из бюджета деньги
3. У Маска ракета длиннее и толще чем у Роскосмоса
4. Чем мрачнее реальность тем ярче бред (с) Старый Ламер

X

ЦитироватьКстати, ходят слухи, что для следующей телеги софт будут писать на Java, что является значительным шагом вперёд на пути использования защитного программирования.

На каждую защиту найдётся ушлый разработчик, который выпустит улучшенную версию языка с возможностью обхода защиты. Затем найдётся ленивый программер, который будет этой версией пользоваться. А затем появится коммитет, который утвердит новую версию стандарта как единственно верную. Перефразируя генералиссимуса: не важно какой язык - важно кто пишет. У каждой эпохи был свой символ - Prolog, Forth, Java. И каждый преподносился как естественно предохраняющий от ошибок в силу структуры самого стиля или компилятора-интерпретатора. Мы, например, в конце 80х  писал бортовуху только на Modula-2 (жутко типизированный язык) и поносили сторонников С за анархизм типа long a = (int) b. Затем возможностей языка нам не хватало и начинались извращения типа ассемблерных вставок и т.п. Защитные свойства языка, которые должны были оградить от ошибок, благополучно преодолевались и всё возвращалось на круги своя ;)

Motor

Цитироватьratman>В точности воспроизвести системный глюк вообще редко удается.

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

ratman>А как програмист с десятилетним стажем, я бы не стал сплеча говорить, какая ошибка достойная, а какая недостойная...

Поверьте я не сплеча. Точнее конечно на объективность данное суждение не претендует, но некая выборка есть - я поговорил по поводу таких объяснений с 2 эмбедед и одинм вполне себе виндовс програмистами. И все поразились нелепости объяснений.

ratman>Что ни сделай - все равно все недовольны...

Ну почему все. Мои эмоции просто потому что я привык к гиперосторожному обращению с такой техникой, и к многочисленным фантаститчески инженерно красивым исправлениям разных багов разных АМС со стороны JPL.

Я работаю с embedded (вернее в embedded :) ) и могу сказать, что это совершенно нормальная ситуация. Особенно если учесть, что устройство находится черт знает где и ручками на месте ничего не подправишь. На Земле видят только то, что сами себе позволили увидеть, когда все это делали. В случае внештатных ситуаций я легко могу себе представить, что там случается, так как JPL - организация американская, а я с такими хорошо знаком. И даже участвовал не раз в таких авралах. Там, впрочем как и везде есть менеджеры которые в основном в технических вопросах не разбираются, зато хорошо понимают график проекта и его бюджет. Помогает реально всего один-два человека, остальные спрашивают "ну что случилось?", "ну когда починишь?", и еще мой любимый вопрос - "сколько тебе надо времени чтобы во всем разобраться?".

Насчет того, что нельзя ТАКИЕ ошибки допускать в ТАКИХ проектах - согласен, но только с точки зрения веры, что где-то софт делают так как его надо делать. :) Есть просто грамотные разработчики, а есть разгильдяи. В этом конкретном проекте очевидно было много грамотных и минимум один разгильдяй. :) И, сдается мне, этот человек писал требования, хотя все наверно думают, что это какой-нить тестер.  :roll:

IMHO, идеальных проектов практически не бывает, и работать в них - большая удача.

Старый

ЦитироватьПомогает реально всего один-два человека, остальные спрашивают "ну что случилось?", "ну когда починишь?", и еще мой любимый вопрос - "сколько тебе надо времени чтобы во всем разобраться?"

 Ну и дела! У них что, как у нас в авиации?
1. Ангара - единственная в мире новая РН которая хуже старой (с) Старый Ламер
2. Назначение Роскосмоса - не летать в космос а выкачивать из бюджета деньги
3. У Маска ракета длиннее и толще чем у Роскосмоса
4. Чем мрачнее реальность тем ярче бред (с) Старый Ламер

Motor

Цитировать
ЦитироватьПомогает реально всего один-два человека, остальные спрашивают "ну что случилось?", "ну когда починишь?", и еще мой любимый вопрос - "сколько тебе надо времени чтобы во всем разобраться?"

 Ну и дела! У них что, как у нас в авиации?

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

X

ЦитироватьНу и дела! У них что, как у нас в авиации?
Да, похоже это повсюду так, что в авиации, что где-либо еще. Такая общечеловеческая черта ;-/

Старый

Ну а сабж то как себя чувствует? Когда поедет?
1. Ангара - единственная в мире новая РН которая хуже старой (с) Старый Ламер
2. Назначение Роскосмоса - не летать в космос а выкачивать из бюджета деньги
3. У Маска ракета длиннее и толще чем у Роскосмоса
4. Чем мрачнее реальность тем ярче бред (с) Старый Ламер

Marmot

ЦитироватьНу а сабж то как себя чувствует? Когда поедет?
Похоже народ в JPL расслабился, ничего не нового не выкладывают.
Будем ждать завтрашнего брифинга, опять я в начале рабочего дня буду "занят" :-)

Kot

Вот горазды-то на программистов бочку катить  :?
Скорее всего все дело в программе и методике испытаний этих роверов. Нормальная программа испытаний обязана стоить больше чем сами роверы. А, скорее всего, на этом немного сэкономили. Вдобавок программа испытаний пишется с тем же самым "человеческим фактором". И писалась скорее всего без участия авторов программы. А ведь, несмотря на всю бюрократизацию, только они могут сказать как же все-таки работает эта железяка при самых разнообразных воздействиях. А может быть и еще похуже(как у меня ) - в тысячный раз прокручиваешь кусок кода, периферийным зрением обнаруживаешь хлипкие места, и говоришь своему внутреннему голосу - "Да,да все увидел, запомнил, не бурчи". Потом находятся дырки поширше и ... все вылазит в лучшем случае на демонстрации, а в худшем в эксплуатации  :shock: .

ratman

ЦитироватьНу а сабж то как себя чувствует? Когда поедет?

По состоянию на 6PM EST, сабж чувствует себя хорошо. Успешно перегружается в нормальном режиме (с использованием флэша). В понедельник сабжу на всякий случай переформатируют флэш (к тому моменту все полезные данные оттуда уже скачают).

После этого сабж продолжит работать с Адирондаком, a ближе к концу недели, наверное, переместится к другому камню.

http://marsrovers.jpl.nasa.gov/newsroom/pressreleases/20040201a.html
Quem Deus vult perdere, prius dementat