OberonCore https://forum.oberoncore.ru/ |
|
Принцип приоритета угроз https://forum.oberoncore.ru/viewtopic.php?f=57&t=6119 |
Страница 1 из 2 |
Автор: | Info21 [ Воскресенье, 01 Октябрь, 2017 18:36 ] |
Заголовок сообщения: | Принцип приоритета угроз |
Д.В.Дагаев (РОСАТОМ) на Дне Оберона 2017 сформулировал (в докладе, по названию которого ничего такого ожидать было нельзя) абсолютно фундаментальный принцип: Цитата: При анализе новых фич (предлагаемых, например, к добавлению в язык программирования сверх некоторого минимума) приоритет следует отдавать не новым возможностям, а потенциальным угрозам, которые могут возникнуть из-за этих новых фич. Приоритетное внимание угрозам в ущерб любым удовольствиям -- это, на самом деле, фундаментальный принцип работы центральной нервной системы, выработанный Эволюцией за 4 миллиарда лет.Понятно, почему именно "росатомный" программист сформулировал принцип: в докладе крупно фигурировал жёлтый значок радиационной опасности: . И понятно, почему принцип стал актуален именно сейчас: кругом все эти беспилотные автомобили, многотонные нории, отрубающиеся системы управления воздушным движением в аэропортах и т.д. и т.п. Принцип отлично проясняет минимализм Оберона -- такой формулировки сильно не хватало. |
Автор: | Дмитрий Дагаев [ Воскресенье, 01 Октябрь, 2017 19:07 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
В докладе https://forum.oberoncore.ru/viewtopic.php?f=127&p=101972#p101972. Новые программные продукты привносят, во-первых, новые угрозы (не верифицируемость, уязвимость к кибер-атакам), и только во-вторых, новые преимущества. Вложение: alarmDP.png [ 5.06 КБ | Просмотров: 12748 ] Вложение: alarmMP.png [ 5.32 КБ | Просмотров: 12746 ] Вложение: alarmSO.png [ 5.12 КБ | Просмотров: 12746 ] Вложение: alarmLIFO.png [ 4.03 КБ | Просмотров: 12746 ] |
Автор: | Дмитрий Дагаев [ Воскресенье, 01 Октябрь, 2017 19:18 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
Купирование последствий угроз может быть дорогостоящим (например, защита в многопоточных приложениях). Нассим Талеб писал(а): Чистый убыток такого рода, ущерб от лечения (обычно скрытый или отложенный), который превышает пользу, называется ятрогенией (буквально причиненный врачом) Консервативный стиль Оберона - в отказе от новомодных программных технологий (выбрасывание всего лишнего), польза от которых сомнительна, а угроза причинения вреда - реальна. |
Автор: | prospero78 [ Среда, 04 Октябрь, 2017 11:45 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
Я тут нечаянно подумал, ведь можно к программной системе применить критерий устойчивости Найквиста? Есть вполне осязаемые метрики кода, как количественные, та и качественные. Оберон -- про качество, код -- про количество. Оберон -- марка стали, код -- размер щита из этой стали. Какие будут предложения?) |
Автор: | Alexey_Donskoy [ Среда, 04 Октябрь, 2017 11:57 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
prospero78 писал(а): Я тут нечаянно подумал, ведь можно к программной системе применить критерий устойчивости Найквиста? Какой, к лешему, Найквист для настолько нелинейной системы?!Каждый байт кода - потенциальная бифуркация с серьёзными последствиями. Тут никакая метрика не даст даже качественной оценки, имхо. |
Автор: | prospero78 [ Среда, 04 Октябрь, 2017 13:43 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
Да ладно?? Использование типизированных ссылок против не типизированных никакого качества не даёт? Или сигнатура функции по результату и параметрам ведь лучше чем просто произвольные параметры? Коэффициент для выравнивания качества можно, скажем, предусмотреть х500. Почему нет? А если есть аппаратная поддержка пространства модулей/кода/данных/стека -- разве это не критерий? |
Автор: | Alexey_Donskoy [ Среда, 04 Октябрь, 2017 16:17 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
prospero78 писал(а): Использование типизированных ссылок против не типизированных никакого качества не даёт? Само по себе - нет.Только в комплекте с дисциплиной разработки. На трудозатраты влияет прямо (или даже экспоненциально ), но трудозатраты и качество не взаимозависимы. Цитата: Коэффициент для выравнивания качества можно, скажем, предусмотреть х500. Почему нет? Да пожалуйста. Никто не запрещает использовать среднюю температуру по больнице. Цитата: А если есть аппаратная поддержка пространства модулей/кода/данных/стека -- разве это не критерий? Конечно, критерий.Я не против критериев. Я о том, что применение Найквиста к столь сильно "устреднённым" моделям практически бессмысленно. |
Автор: | prospero78 [ Среда, 04 Октябрь, 2017 16:39 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
Alexey_Donskoy писал(а): На трудозатраты влияет прямо (или даже экспоненциально ), но трудозатраты и качество не взаимозависимы. Вообще-то, взаимозаменяемы. Правда, я умолчу какова будет цена. Всё в этом мире имеет свою цену. Alexey_Donskoy писал(а): Я не против критериев. Я о том, что применение Найквиста к столь сильно "устреднённым" моделям практически бессмысленно. х500 -- это усреднение?)) |
Автор: | PSV100 [ Среда, 04 Октябрь, 2017 20:13 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
prospero78 писал(а): Оберон -- про качество ... Коэффициент для выравнивания качества можно, скажем, предусмотреть х500. Почему нет? И как же мерить качество? К примеру, вот здесь ограничений больше, чем в Оберонах (прежде всего -- статическое выделение ресурсов). Но в итоге любая программа сразу же по построению, как минимум, с гарантией отсутствия deadlock-ов и livelock-ов. И по сравнению с Обероном, к примеру, на борту имеются даже "generic"-и для обобщённых алгоритмов. Т.е. что-то урезано, но нечто другое расширено, и, главное, имеется условный формальный контроль -- вроде есть "качество", но могут быть ограничены возможности. Но, в принципе, динамическое выделение ресурсов (включая запуск процессов) "сдерживается" лишь проблематикой верификации. Однако возможны техники частичных проверок, и если допустить "динамику" -- возможностей возникает существенно больше, и вновь под контролем. В общем, лишь "выбрасывание всего лишнего" -- вряд ли можно принимать за фундаментальный критерий качества. |
Автор: | Илья Ермаков [ Среда, 04 Октябрь, 2017 21:46 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
Для встроенки динамика может быть структурирована по стадиям рантайма. viewtopic.php?f=152&t=6126 |
Автор: | Дмитрий Дагаев [ Четверг, 05 Октябрь, 2017 19:23 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
Важна также и ПРЕЗУМПЦИЯ НАЛИЧИЯ УГРОЗ. У Дейкстры и Хоара доказывается корректность программы исходя из некоторых необходимых условий. Если условия не удовлетворяются, программа не корректна. Дейкстра говорит в идеале об "интеллектуально-управляемых программах". Я разобрал программу по зернышкам и отдаю на экспертизу - мне отвечают, а докажите еще отсутствие взаимодействия каждого оператора одной процедуры с каждым оператором другой процедуры. Это - правильный подход. Зато, когда речь идет о хорошем коммерческом ПО, предлагается всегда ПРЕЗУМПЦИЯ ОТСУТСТВИЯ УГРОЗ. PSV100 писал(а): К примеру, вот здесь ограничений больше, чем в Оберонах (прежде всего -- статическое выделение ресурсов). Но в итоге любая программа сразу же по построению, как минимум, с гарантией отсутствия deadlock-ов и livelock-ов Я знаю, я в курсе АСУТП, но как разработчик я никаких гарантий не дам, до тех пор, пока мне не докажут каждую строчку кода. Верификация посредством тестирования доказательством корректности не является. Дейкстра писал(а): тестирование программы может весьма эффективно продемонстрировать наличие ошибок, но безнадежно неадекватно для демонстрации их отсутствия. Единственный эффективный способ значительно поднять уровень доверия к программам - предоставить убедительное доказательство их корректности.
|
Автор: | Info21 [ Четверг, 05 Октябрь, 2017 22:57 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
Дмитрий Дагаев писал(а): Важна также и ПРЕЗУМПЦИЯ НАЛИЧИЯ УГРОЗ. Да, это должно быть явной частью Принципа.
|
Автор: | prospero78 [ Пятница, 06 Октябрь, 2017 09:38 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
Дмитрий Дагаев писал(а): Верификация посредством тестирования доказательством корректности не является. Совершенно верно. Можно сколько угодно тестов написать, но если память сбоит -- то код даже после верификатора будет глючить. Доказательство трудоёмко и зачастую невозможно. Есть замечательная русская пословица:"Гладко было на бумаге да забыли про овраги" |
Автор: | PSV100 [ Пятница, 06 Октябрь, 2017 18:29 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
Дмитрий Дагаев писал(а): PSV100 писал(а): К примеру, вот здесь ограничений больше, чем в Оберонах (прежде всего -- статическое выделение ресурсов). Но в итоге любая программа сразу же по построению, как минимум, с гарантией отсутствия deadlock-ов и livelock-ов Я знаю, я в курсе АСУТП, но как разработчик я никаких гарантий не дам, до тех пор, пока мне не докажут каждую строчку кода. Верификация посредством тестирования доказательством корректности не является. В тех краях как раз компилятор выдаёт программы только после базовой верификации и гарантирует начальную достижимость. Здесь уточнения: viewtopic.php?f=152&t=6126#p102120 |
Автор: | PSV100 [ Пятница, 06 Октябрь, 2017 18:33 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
prospero78 писал(а): Можно сколько угодно тестов написать, но если память сбоит -- то код даже после верификатора будет глючить. Доказательство трудоёмко и зачастую невозможно. Есть замечательная русская пословица:"Гладко было на бумаге да забыли про овраги" У Мухопада были обзорчики принципов реализаций самоконтролируемых автоматов. См. в этом сборнике -- с.32: http://docplayer.ru/39045765-Informacio ... istem.html И ещё: http://www.problem-info.sscc.ru/2013-1/1.pdf Я о том, что кому нужно, тот и о железе позаботится. А верификация модели подтвердит, что все критические траектории системы правильно заданы (к примеру, не забыты спекулятивные вычисления в виде дублирования процессов, на разном железе или/и с разными алгоритмами, с последующим консенсусом -- анализ кворума результатов). |
Автор: | prospero78 [ Пятница, 06 Октябрь, 2017 19:45 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
Уважаемый PVS100!)) Не считаю приличным обсуждать то, в чем половину слов не понимаю)) Академические исследования, безусловно, надо осваивать. Но освоение -- это тоже технология и к этой технологии предъявляются всё те же требования: легко понять, легко внедрить, легко поддерживать. Шаги освоения должны быть понятными. Технология должна жизнь упрощать, а не наращивать сложность. И не забывает про правило 80/20. |
Автор: | Евгений Темиргалеев [ Вторник, 31 Октябрь, 2017 22:55 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
Эпиграф "Продать «смотрите, что я ради вас сделал» куда легче, чем «смотрите, от чего я ради вас уклонился»" (Нассим Талеб, Антихрупкость) подчёркивает важность формулирования оснований для отказа, в том числе на живых примерах из конкретного опыта. Про новое естественно рассказывать, а вот про отбрасываемое, ставшее не нужным, наоборот. Пример Вирта показателен тем, что он, набирая опыт применения инструмента, создавал следующий, отбрасывая лишнее. Интересно было бы посмотреть теперь процесс с самого начала, какие "several commonly used features of other languages" не попали в Паскаль и т. д. Не писал Вирт такого обзора? |
Автор: | Дмитрий Дагаев [ Среда, 06 Декабрь, 2017 21:25 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
Марвин Мински рассматривает ИИ как эмоциональную машину The Emotion Machine. §1-5. Seeing a Mind as a Cloud of Resources. Вложение: minsky_feelings.png [ 13.21 КБ | Просмотров: 12116 ] Ментальные состояния - ресурсы эмоциональной машины (нарисованные кружочками) оказываются в плену страстей: Гнев (Anger), Страх(Fear), Привязанность(Affection), Тревога(Alarm). Угроза(Threat) на рисунке рассмотрена как "смешанное чувство", захватывает ресурсы Гнева и Страха. Если Вам хотят закрыть глаза на имеющиеся (потенциальные) угрозы в предложенном Вам продукте, правильная тактика будет в активации чувства Привязанности для притупления алармистских настроений. - А посмотрите на наш замечательный бесплатный сыр! - А обратите внимание на объем функций новой MS Visual Studio 2017! |
Автор: | Дмитрий Дагаев [ Суббота, 21 Апрель, 2018 12:55 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
В медицине этот принцип известен давно как «Не навреди», или primum non nocere |
Автор: | Info21 [ Воскресенье, 18 Ноябрь, 2018 22:52 ] |
Заголовок сообщения: | Re: Принцип приоритета угроз |
Медицинская аналогия не вцепляется в подсознание. Может, кто-нибудь пофилософствует немного на эту тему? Чтобы вцеплялось на уровне интуиции. |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |