OberonCore
https://forum.oberoncore.ru/

Уроки Ариадны
https://forum.oberoncore.ru/viewtopic.php?f=5&t=2064
Страница 1 из 1

Автор:  Димыч [ Вторник, 17 Ноябрь, 2009 17:59 ]
Заголовок сообщения:  Уроки Ариадны

Набрел на статью «Уроки Ариадны» Jean-Marc Jézéquel и Bertrand Meyer.
Для меня это серьезный повод пересмотреть свое отношение к функциям LONG, SHORT и применению ASSERT…

Автор:  Иван Кузьмицкий [ Вторник, 17 Ноябрь, 2009 18:06 ]
Заголовок сообщения:  Re: Уроки Ариадны

Наверное, имелась в виду ракета "Ариан", а не Ариадна. А в чём пересмотр?

Автор:  Димыч [ Вторник, 17 Ноябрь, 2009 18:40 ]
Заголовок сообщения:  Re: Уроки Ариадны

Иван Кузьмицкий писал(а):
Наверное, имелась в виду ракета "Ариан", а не Ариадна. А в чём пересмотр?

Исходил из того, что речь идет о французском названии, а вот перевод

Просто я не до конца понимал, почему же, все-таки, в Обероне такой жесткий подход к типизации и почему для приведения типов используются специально выделенные функции.
Кроме того, Design by Contract (из Eiffel) мне до сих пор казался чем-то непостижимым, и уж тем более, мне не очень понятны были в этом свете ASSERTы.
Оказалось, я просто не умею их готовить :oops:

PS. А вот и один из русскоязычных вариантов: текст :)

Автор:  Иван Кузьмицкий [ Вторник, 17 Ноябрь, 2009 18:46 ]
Заголовок сообщения:  Re: Уроки Ариадны

А-а, так "Ариан" по-французски Ариадна - как-то я не задумывался про это :) Век живи, век учись :)

Пользительность ассертов лично я ощущаю на своей шкуре уже давно. При первоначальном запуске свеженаписанного трапы валятся как из ведра :), зато когда продерёшься через них, можно быть уверенным - дальше программа будет работать гладко :).
Кроме этого, если всё же в работе случается сбой, я прошу просто сохранить трап в документ и прислать мне почтой :)

Автор:  Рэйлвэй Каген [ Вторник, 17 Ноябрь, 2009 19:12 ]
Заголовок сообщения:  Re: Уроки Ариадны

Димыч писал(а):
..пересмотреть свое отношение к функциям LONG, SHORT и применению ASSERT…
имхо, только ими задача не решается. Там же был тупой реюз кода от Ariane4. То, что код был кривой и это не проверили, уже второй вопрос.

Автор:  Илья Ермаков [ Вторник, 17 Ноябрь, 2009 19:17 ]
Заголовок сообщения:  Re: Уроки Ариадны

И чего эта авария всё время мусолится с точки зрения технологий программирования и т.п.

Цитата:
Значение BH было намного выше ожидаемого, т.к. начальный участок траектории Ariane 5 отличается от подобного участка для Ariane 4 и приводит к значительно большим значениям горизонтальной скорости.


Вот она проблема: неучтена конкретная физика автоматизируемого процесса. Была бы учтена - была бы проведена работа по проекции этих отличий Арианов 4 и 5 из постановки задачи в код.
Почему программисты были не в курсе - организационная ли проблема; или просто "положили веский аргумент" - вот в чём вопрос.

И опять же к вопросу о "программировании без программистов".

Автор:  Илья Ермаков [ Вторник, 17 Ноябрь, 2009 19:22 ]
Заголовок сообщения:  Re: Уроки Ариадны

Хотя.. Вот и причина:

Цитата:
Не имеется никаких доказательств, что какие-либо данные о траекториях использовались для анализа поведения незащищенных переменных. Более того, важно отметить, что существовало совместное соглашение о невключении данных траектории Ariane 5 в требования и спецификации SRI.

Автор:  Илья Ермаков [ Вторник, 17 Ноябрь, 2009 19:29 ]
Заголовок сообщения:  Re: Уроки Ариадны

А вырубать БЦВМ при софтверной ошибке... Это, конечно, неправильно. Очевидно же, что если софт идентичен, то накроются и резервные.

Вообще, по поводу обработки исключений - не нужно использовать её в качестве "спец. разновидности управляющей логики". Что пропагандируется try-except-ами.

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

Автор:  Galkov [ Вторник, 17 Ноябрь, 2009 22:02 ]
Заголовок сообщения:  Re: Уроки Ариадны

Дык все же русским языком сказано:
Цитата:
Исключительная ситуация была обнаружена, но была обработана неподобающим образом, потому что было принято считать, что ПО должно рассматриваться, как правильное, пока не доказано обратное. Комиссия имеет основания предполагать, что этот же принцип лежит в основе и других разработок ПО для Ariane 5. Комиссия придерживается противоположной точки зрения - что ПО должно изначально считаться содержащим ошибки, пока использование принятых в настоящее время самых лучших практических методов не докажет, что оно правильное

Это мне кажется самым главным...
Грубо говоря, остальное - аргументация к этому.
Присоединяюсь к мнению комисии :D

Автор:  Galkov [ Вторник, 17 Ноябрь, 2009 22:09 ]
Заголовок сообщения:  Re: Уроки Ариадны

Илья Ермаков писал(а):
И чего эта авария всё время мусолится с точки зрения технологий программирования и т.п.

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

Автор:  Илья Ермаков [ Вторник, 17 Ноябрь, 2009 23:15 ]
Заголовок сообщения:  Re: Уроки Ариадны

Ну да.

Автор:  Рэйлвэй Каген [ Среда, 18 Ноябрь, 2009 00:05 ]
Заголовок сообщения:  Re: Уроки Ариадны

Илья Ермаков писал(а):
И чего эта авария всё время мусолится с точки зрения технологий программирования и т.п.
потому и выводы комиссии сделаны очень опытные - дабы не прибить системного архитектора. Всегда должен оставаться человек, который "ведёт" систему, вне зависимости от числа найденных ошибок. И этого товарища приносят в жертву только тогда, когда всю систему снимают окончательно и бесповоротно. Вопрос тут о том, надо ли будет тиражировать технологию или нет. Вот был беспилотный полёт "Бурана" 21 год назад, а сейчас компактные беспилотники в Израиле купили...

<2009-11-26> p.s.: Подтверждение подогнали. Тут.

Автор:  Geniepro [ Среда, 18 Ноябрь, 2009 08:14 ]
Заголовок сообщения:  Re: Уроки Ариадны

Ещё на эту тему:

Валерий Аджиев, "Мифы о безопасном ПО: уроки знаменитых катастроф"

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/