OberonCore
https://forum.oberoncore.ru/

Ошибки в софте для космоса
https://forum.oberoncore.ru/viewtopic.php?f=152&t=5933
Страница 2 из 2

Автор:  TAU [ Четверг, 08 Декабрь, 2016 14:30 ]
Заголовок сообщения:  Re: Ошибки в софте для космоса

Илья Ермаков писал(а):
В Роскосмосе большой зоопарк.
Где что.

НПЦ АП (а это только системы выведения, в основном, - РН и разгонные блоки) - ГРАФИТ-ФЛОКС (предок ДРАКОНа)

Насколько я знаю, в НПЦ АП тоже внутри "зоопарк". Не одним ГРАФИТ-ФЛОКСом живут. Есть, например, проблемно-ориентированный язык У (собственной разработки?), вроде для баллистических расчетов. Ну и ассемблером, не исключено, пользуются.

Илья Ермаков писал(а):
Очень хорошо отлажен процесс организационно (центральная база переменных-тегов для всех, с поддержанием информации, утверждение любых изменений документами, а не "в голове у разработчика", превосходный комплексный стенд испытаний, где вся система управления в сборе гоняется во всех режимах со съёмом телеметрии)

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

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

Илья Ермаков писал(а):
НПОА Семихатова - там у них разное, опять же. Есть свой язык автоматного программирования.
Там больше программистский подход, добротный, по тому, что я видел

Очень интересно! А можно поподробнее об их подходе (можно и по личным каналам связи :wink: ).

Илья Ермаков писал(а):
Уровень, конечно, - это НПО Решетнёва: http://www.inr.ac.ru/~info21/pdf/AAKpaper2006.pdf
У них не просто Модула, а полное инструментирование процесса и управление жизненным циклом

Полностью согласен. Во многом они, думаю, "впереди планеты всей" идут в технологиях создания БПО
и программного управления КА.

Вообще, конечно, сейчас любой космический аппарат - включая наноспутники размерами в сантиметры и весом в единицы килограмм,
имеет БЦВМ - представляет собой программно-аппаратный комплекс. И логика автономного управления реализуется ПО данной БЦВМ. Ясна важность БПО для реализации любой миссии.

Илья Ермаков писал(а):
По другим предприятиям, по-моему, всё гораздо дремучее. На "Тополях" всяких (закрытое подразделение НПЦАП), возможно, даже С++. Лавочкина - как придётся, кто придётся (пусть поправят, если я не прав)
По Самарскому ЦСКБ Прогресс уважаемый Андрей TAU лучше расскажет - там что-то крутится из его высокоуровневых визуальных инструментов, и что-то ещё...

Дремучесть, к сожалению, не изжита пока. Кстати, много где применяется Си.
К сожалению, системный отраслевой подход не внедрен пока Роскосмосом с определением лучших стандартизированных (а то и обязательных, как в западной авионике, например, по DO-178) практик разработки ПО.

Илья Ермаков писал(а):
РКК "Энергия" рассказывали о выстроенном орг. процессе на базе POSIX (QNX, Linux) и C - стека (кстати, винда на МКС тоже есть на вторичных машинах типа лабораторных. А так - QNX). По крайней мере, процесс как-то упорядочен

В "Энергии" создана под руководством уже академика и Генерального конструктора Е.А. Микрина методология КОПОРФИС.
В Интернете можно найти книги на эту тему.

Могу дать ссылку на презентацию, посвященную вопросу технологий создания БПО в нашей космической отрасли:
http://www.slideshare.net/IosifItkin/au ... e-industry

Автор:  TAU [ Четверг, 08 Декабрь, 2016 14:34 ]
Заголовок сообщения:  Re: Ошибки в софте для космоса

Цитата:
Скиапарелли упал из-за программных ошибок

Не вполне корректное заявление.

Во-первых, первичный сбой аппаратный налицо. БПО не смогло правильно его воспринять ("обработать исключительную ситуацию" в некотором смысле).

Во-вторых, ошибка, скорее, в системной логике - коя прописывается в спецификациях. Реализуется системная логика, безусловно, БПО, но если брать работу программиста как написание программы по спецификации - ошибка не программистов.

Автор:  Rifat [ Четверг, 08 Декабрь, 2016 15:00 ]
Заголовок сообщения:  Re: Ошибки в софте для космоса

По своему опыту могу сказать, что программисты (и аналитики, которые пишут спецификации) обычно более менее нормально рассматривают случай без ошибок (https://en.wikipedia.org/wiki/Happy_path). А случаи, в которых могут возникать какие-то ошибки, практически не рассматривают.

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

Автор:  Илья Ермаков [ Среда, 14 Декабрь, 2016 13:34 ]
Заголовок сообщения:  Re: Ошибки в софте для космоса

Интервью с разработчиком ПО марсохода:
https://habrahabr.ru/company/edison/blog/317288/

(спасибо за ссылку коллеге TAU)

Автор:  TAU [ Пятница, 23 Декабрь, 2016 22:25 ]
Заголовок сообщения:  Re: Ошибки в софте для космоса

Rifat писал(а):
По своему опыту могу сказать, что программисты (и аналитики, которые пишут спецификации) обычно более менее нормально рассматривают случай без ошибок (https://en.wikipedia.org/wiki/Happy_path). А случаи, в которых могут возникать какие-то ошибки, практически не рассматривают

Подобный подход при разработке ПО для космоса недопустим. Как раз необходимо составить и задокументировать перечень возможных нештатных ситуаций и прописать порядок выхода из них. При необходимости список пополняется и уточняется.

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