На чем пишется софт для КА?

Автор hudvin, 06.05.2009 15:28:09

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

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

zyxman

Графическое программирование мейнстримовые програмисты уже пробовали, причем не раз.
И собственно основной недостаток как раз и есть обратная сторона достоинств - для маленьких проектов штука отличная - все красиво и наглядно, но увы, даже на средних проектах оказывается эффективнее пользоваться поиском в текстовых файлах и индексами, тк даже самых больших экранов не хватает :(

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

Так что получается замкнутый круг, почти как с созданием средств выведения - несомненно нужно разрабатывать новые системы чтобы удешевить выведение, но никто не торопится вести работы, тк не может гарантировать прибыль.
А в узкоспециализированных областях (разработка БИС/СБИС и космос/оборонка) вполне может оно жить. :D
"Демократия, это когда царь умный, а также добрый и честный по отношению к своим холопам".
--
Удача - подготовленный успех!

jettero

Цитировать
Цитировать
Цитироватькстати говоря, не везде, конечно, но вообще-то в некоторых местах в космической промышленности при создании программ используются ну даже очень современные средства разработки - до которых так называемый "коммерческий мэйнстрим" пока не дошел.
например?
Графическое программирование в системе ГРАФИТ-ФЛОКС, в НПЦ АП. Которое даже его автор В.Д. Паронджанов называет несколько провокационно "программированием без программистов".
А, вы про это. Читал я про эту систему и видел примеры программ в ней на Драконе. Очень спорное утверждение, что это современное средство разработки. Лично я бы никогда не стал на ней работать - элементарно неудобно :)
Судите сами http://store.oberoncore.ru/lib/image/drakon/list1.png , особо умиляет, что эта программа сделанная в "современном средстве разработки" (которая заняла бы несколько десятков строк на обычном ЯП), нарисована на формате A1, и в углу основная надпись по ГОСТу :D
Да, наверное можно обучится за несколько дней "кодить" на Драконе, но очень сомневаюсь, что кто-то возьмется на ней делать что-то реально сложное и большое, ну кроме разве что автора и нескольких закоренелых энтузиастов.
Кстати то, что это не применяется в "коммерческом мэйнстриме" всего лишь показывает, что реально это никому не нужно.

Вот кстати обсуждение из Википедии  (откуда была удалена статья по Дракону)
ЦитироватьДРАКОН (язык программирования)

Статья уже удалялась (в том числе и за отсутствием значимости) под названием ДРАКОН. Сейчас в статье источники — ссылки на народ.ру, форумы и книги автора этого языка, выложенные там же. А на странице обсуждения люди мучаются вопросом «Чем ДРАКОН отличается от Блок-схемы?» NBS 10:51, 22 июля 2009 (UTC)

    Да ничем не отличается. Нарисовали несолько блок-схем, процесс их рисования назвали умными словами, произнесли в там где надо слова типа "внутре у ея неонка и думатель", под это дело взяли бюджетных (или не очень - мне отсюда не видно) денег, попилили и довольны. Совершенно типичный случай. Sergej Qkowlew 17:55, 23 июля 2009 (UTC)
    А какого, извиняюсь за выражение, это "Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность" рисует блок-схемы на бусурманском? X Удалить, on-figo. Divot 21:52, 29 июля 2009 (UTC)

Итог

Удалено за незначимостью. Gruznov 02:28, 31 июля 2009 (UTC)

zyxman

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

Заранее Спасибо!
"Демократия, это когда царь умный, а также добрый и честный по отношению к своим холопам".
--
Удача - подготовленный успех!

LRV_75

Нет, ну я думаю с таким подходом далеко не улетишь, ИМНО. Ну должна же быть элементарная унификация. Ну почему в каждом проекте всё начинать практически с нуля? про КА не в курсе, работал по системам РН, но всё же. В высокоуровневых  современных языках  программирования уже практически  редко заикаются о реализации каких то математических алгоритмов, всё уже реализовано на уровне использования встроенных методов, и этот пакет постоянно пополняется. Просто берешь и грамотно используешь то что уже сделано и свои усилия концентрируешь на проработке алгоритма на достаточно высоком уровне. И это всё работает и достаточно надёжно, посмотрите на мир вокруг. Телевидение, информационные, банковские, платежные системы, реклама, это всё оттуда, этим живёт современный мир
Главное не наличие проблем, главное способность их решать.
У каждой ошибки есть Имя и Фамилия

Not

ЦитироватьВ высокоуровневых  современных языках  программирования уже практически  редко заикаются о реализации каких то математических алгоритмов, всё уже реализовано на уровне использования встроенных методов, и этот пакет постоянно пополняется.
О каких языках речь?

LRV_75

Цитировать
ЦитироватьВ высокоуровневых  современных языках  программирования уже практически  редко заикаются о реализации каких то математических алгоритмов, всё уже реализовано на уровне использования встроенных методов, и этот пакет постоянно пополняется.
О каких языках речь?
Studio, конкретно С#
Главное не наличие проблем, главное способность их решать.
У каждой ошибки есть Имя и Фамилия

Not

Цитировать
Цитировать
ЦитироватьВ высокоуровневых  современных языках  программирования уже практически  редко заикаются о реализации каких то математических алгоритмов, всё уже реализовано на уровне использования встроенных методов, и этот пакет постоянно пополняется.
О каких языках речь?
Studio, конкретно С#
И что, во "встроенных" методах языка реализован алгоритм (ну скажем) задачи трех тел?

MikeP

ЦитироватьНет, ну я думаю с таким подходом далеко не улетишь, ИМНО. Ну должна же быть элементарная унификация. Ну почему в каждом проекте всё начинать практически с нуля?

Если имеет место преемственность коллектива от разработки к разработке и преемственность техники по системе команд, то разработчик тоже не в корзину свои наработки выбрасывает. А я думаю, что это как раз имеет место. По-моему, Аргон 16, например, продолжал Аргона 15.

Инженер проекта

ЦитироватьКстати, интересный вопрос к специалистам:
какой потребный сейчас порядок величины производительности вычислительных систем КА?
Смотря каких КА. Они весьма различны.
«И каждый мнит себя стратегом,
Смотря на бой со стороны»

LRV_75

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

Понимаете, тут всё дело в спросе.
Если к примеру Вам понадобиться распарсить ТМИ кадр телеметрической системы "Орбита", которая сейчас ставиться на Тополя и будет на Ангаре, то поверьте, Вы реализации этих методов в современных средствах не найдете. Всё будете делать сами с нуля, а там декоммутация достаточно сложная.

А используя современные средства разработки, Вы автоматически используете труд десятков, а то и сотен высокооплачиваемых программистов какого нибудь Борланда или Майкрософт, которые уже реализовали эти алгоритмы и САМОЕ главное, тестировали, тестировали и еще раз тестировали, т.е. Вы уже применяете надёжный инструмент
Главное не наличие проблем, главное способность их решать.
У каждой ошибки есть Имя и Фамилия

zur

Вопрос использования аутсорсинга неоднозначен даже для бытовых приложений. Конечно, если надо что-то быстро сваять на коленке, посчитать какую-нибудь прибыль от акций, или новую приблуду вставить в "одноклассники", это конечно правильно.
Но использовать это для боевых приложений очень опасно.
И глюков в библиотеках тогоже Борланда огромное количество. Вот вчера нашел в Дельфи, что при FAIL-овском выходе из конструктора не сохраняется регистр EBX, что приводит к нарушению цикла FINALIZATION и аварийному завершению программы. И спрашивается, как они это тестировали!
Но главное, в том , что библиотеки сильно избыточны, что мало того, что замедляет программу и занимает памятЬ. Главное, что программа становится очень тяжелой и сложной в сопровождении, а поиск ошибок или там некорректного использования библиотек крайне трудоёмок.
И вот допустим надо отображать на экране текст. Можно взять крутую библиотеку с поддержкой всех режимов экрана, шрифтов, болда и италика, вывода под углом, отсечением по произвольной области  и т.д. И будет оно работать крайне меленно, даже если и надежно. А можно за неделю написать свою узенькую библиотечку с поддержкой только нужного режима и без лишнего выпендрёжа. И всё будеит быстрее на порядок и более надежно.
И так во многих других случаях, когда проще написать свою программу, чем искать и тестировать чужие, тем более в конце может оказаться, что они не подходят...

LRV_75

ЦитироватьНо главное, в том , что библиотеки сильно избыточны, что мало того, что замедляет программу и занимает памятЬ. Главное, что программа становится очень тяжелой и сложной в сопровождении, а поиск ошибок или там некорректного использования библиотек крайне трудоёмок.
И вот допустим надо отображать на экране текст. Можно взять крутую библиотеку с поддержкой всех режимов экрана, шрифтов, болда и италика, вывода под углом, отсечением по произвольной области  и т.д. И будет оно работать крайне меленно, даже если и надежно. А можно за неделю написать свою узенькую библиотечку с поддержкой только нужного режима и без лишнего выпендрёжа. И всё будеит быстрее на порядок и более надежно.
Так не вопрос, с Объектно Ориентированным программированием всеж знакомы. Создавайте свой объект и наследуйте только те свойства, которые необходимо
Главное не наличие проблем, главное способность их решать.
У каждой ошибки есть Имя и Фамилия

Not

Цитировать
Цитировать
ЦитироватьStudio, конкретно С#
И что, во "встроенных" методах языка реализован алгоритм (ну скажем) задачи трех тел?
Не реализован, но вполне может и появиться такой пакет, если это будет востребовано на рынке, т.е. появиться спрос. А так как на данный момент в общем случае не существует решения этого алгоритма, то о чём Вы говорите?

Вы путаете встроенные библиотеки языка и библиотеки третьих производителей. Это во-первых. Во-вторых, подобные библиотеки не будут востребованы на широком рынке еще очень долго, поскольку КА -  штучный товар. И, наконец, в третьих: ни Майкрософт, ни Борланд, ни другие подобные им компании, производящие ПО широкого применения никогда не будут производить продукт с уровнем качества требуемым на борту КА, поскольку это слишком дорого и не окупаемо. Все разговоры про тестирование "тысячами программистов" - утопия. Программисты тестируют, ошибки находятся, часть исправляется, часть нет, поскольку пора фирма уже занята новой версией продукта. И это всех устраивает в общем случае, поскольку потребитель чертыхнется и перезапустит приложение. Применение подобного ПО на борту КА может привести к огромным материальным потерям. Ширпотреб и в Африке ширпотреб :D


ЦитироватьА используя современные средства разработки, Вы автоматически используете труд десятков, а то и сотен высокооплачиваемых программистов какого нибудь Борланда или Майкрософт, которые уже реализовали эти алгоритмы и САМОЕ главное, тестировали, тестировали и еще раз тестировали, т.е. Вы уже применяете надёжный инструмент
Утопия, утопия и еще раз утопия  :D Вы слишком идеализируете высокооплачиваемых программистов  :D Они производят продукт требуемого уровня качества и не более. Они физически не могут сделать его лучше, поскольку это приведет к недопустимому удорожанию. Именно на этом нехитром принципе Майкрософт погубила немало конкурентов. И именно этот принцип делает применение ПО широкого потребления недопустимым как на борту КА, так и  в других чувствительных приложениях. Поинтересуйтесь при случае, какое ПО Боинг ставит в бортовых компьютерах. И КАК он его пишет, и КАК он его СЕРТИФИЦИРУЕТ. И, самое главное - СКОЛЬКО ЭТО СТОИТ. Это не широкий рынок, это узкий круг специализированных потребителей.

LRV_75

ЦитироватьВы путаете встроенные библиотеки языка и библиотеки третьих производителей. Это во-первых. Во-вторых, подобные библиотеки не будут востребованы на широком рынке еще очень долго, поскольку КА -  штучный товар. И, наконец, в третьих: ни Майкрософт, ни Борланд, ни другие подобные им компании, производящие ПО широкого применения никогда не будут производить продукт с уровнем качества требуемым на борту КА, поскольку это слишком дорого и не окупаемо. Все разговоры про тестирование "тысячами программистов" - утопия. Программисты тестируют, ошибки находятся, часть исправляется, часть нет, поскольку пора фирма уже занята новой версией продукта. И это всех устраивает в общем случае, поскольку потребитель чертыхнется и перезапустит приложение. Применение подобного ПО на борту КА может привести к огромным материальным потерям. Ширпотреб и в Африке ширпотреб :D
ЦитироватьА используя современные средства разработки, Вы автоматически используете труд десятков, а то и сотен высокооплачиваемых программистов какого нибудь Борланда или Майкрософт, которые уже реализовали эти алгоритмы и САМОЕ главное, тестировали, тестировали и еще раз тестировали, т.е. Вы уже применяете надёжный инструмент
Утопия, утопия и еще раз утопия  :D Вы слишком идеализируете высокооплачиваемых программистов  :D Они производят продукт требуемого уровня качества и не более. Они физически не могут сделать его лучше, поскольку это приведет к недопустимому удорожанию. Именно на этом нехитром принципе Майкрософт погубила немало конкурентов. И именно этот принцип делает применение ПО широкого потребления недопустимым как на борту КА, так и  в других чувствительных приложениях. Поинтересуйтесь при случае, какое ПО Боинг ставит в бортовых компьютерах. И КАК он его пишет, и КАК он его СЕРТИФИЦИРУЕТ. И, самое главное - СКОЛЬКО ЭТО СТОИТ. Это не широкий рынок, это узкий круг специализированных потребителей.
Нет, я говорю именно о встроенных библиотеках, которые идут в стандартном комплекте поставки. Во всём остальном, Да я с Вами тысячу раз согласен по поводу уникальности ПО для КА, да и для боинга в том числе. Вот я и говорю, в отрасли просто надо сделать что то подобное, т.е. унификация (заимствование). Как этого добиться? ну по крайней мере для начала сохранением кадров. Как это сделать думаю всем понятно. А по поводу надежности коммерческого ипользования ПО тут спор просто не уместен по одной причине. Так или иначе Это приносит прибыль. Программист коммерческой струткуры получает в несколько раз больше чем программист в структурах Роскосмоса и прочее. Это факт. ТОже, кстати можете поинтересоваться.
Главное не наличие проблем, главное способность их решать.
У каждой ошибки есть Имя и Фамилия

zur

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

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

+1 (даже +2)

Morin

Цитироватьа надежность у программы написанной с нуля для единичного случая ограниченным кол-вом специалистов будет всегда ниже, чем сборка библиотек теми же программистами
ха-ха-ха.  Видно, что вы весьма слабо представляете себе процесс создания - в том числе отладки - программного обеспечения КА.
Могу посоветовать прекрасную книгу: Управление космическими аппаратами зондирования Земли: Компьютерные технологии / Д.И. Козлов, Г.П. Аншаков, Я.А. Мостовой, А.В. Соллогуб.-М.: Машиностроение, 1998. Кстати, с двумя из авторов я знаком.[/quote]
С Яковом Абрамовичем? И как он вам?
Лучшее - враг хорошего

Morin

ЦитироватьLRV_75 пишет:
 
Цитироватьps Кстати Вы сказали СЕВ  :D  Гы, Вы тоже знаете что это такое? :wink:

Система единого времени?
Лучшее - враг хорошего

LRV_75

ЦитироватьMorin пишет:
 
Цитировать
Цитироватьps Кстати Вы сказали СЕВ  :D  Гы, Вы тоже знаете что это такое? :wink:

Система единого времени?
Совершенно верно  :D
Главное не наличие проблем, главное способность их решать.
У каждой ошибки есть Имя и Фамилия


Дем

Летать в космос необходимо. Жить - не необходимо.