Форум Новости Космонавтики

Тематические разделы => Прикладная космонавтика => Тема начата: hudvin от 06.05.2009 15:28:09

Название: На чем пишется софт для КА?
Отправлено: hudvin от 06.05.2009 15:28:09
В википедии нашел, что ГЛОНАССы работают на Модула-2(попахивает некрофилией).
А на чем работают другие КА?
Название: На чем пишется софт для КА?
Отправлено: yos от 06.05.2009 15:39:23
Мне тоже интересно, особенно про наземную аппаратуру. А вот про некрофилию вы зря: старый язык не означает плохой. В конце-концов, конечной программе на машинном языке пофиг с чего её транслировали.
Название: На чем пишется софт для КА?
Отправлено: hudvin от 06.05.2009 15:42:13
с точки зрения машины  - конечно пофиг.
А с точки зрения разработчиков - очень важно. Конце-концов, на ней щас вообще никто и нигде не пишет. И писать не захочет даже под пытками  :D  :shock:

Еще вспомнилось: софт под Шаттл вроде бы на С писали. Хотя могу ошибаться.
Название: На чем пишется софт для КА?
Отправлено: yos от 06.05.2009 15:47:12
А почему так? А вы с Паскалем имели когда-то дело? Наверняка. А Модула-2 был придуман как развитие/замена Паскаля. Кроме того, прикладное ПО это нечто другое чем такое специальное, требования к языкам другие. Так появился Ада, например. Поэтому это ещё вопрос, кто на чём и для чего хочет писать под пытками или без. Я под пытками на С и просто так не писал бы, а для космической техники -- просто страшно было бы.
Название: На чем пишется софт для КА?
Отправлено: Feol от 06.05.2009 15:59:56
ЦитироватьВ википедии нашел, что ГЛОНАССы работают на Модула-2(попахивает некрофилией).
А на чем работают другие КА?
Гы :). На Модуле-2 кодируют, а разрабатывают ... на бумаге карандашом!!! Чем и как это попахивает, понять невозможно. Это нада прочувствовать :)
Название: На чем пишется софт для КА?
Отправлено: Инженер проекта от 06.05.2009 14:42:11
Да писать то на разных языках можно, без ассемблера в ряде случаев вообще не обойдёшься, вот интересно какие КА под какими ОСями летают?
Название: На чем пишется софт для КА?
Отправлено: hudvin от 06.05.2009 17:47:35
как я уже где-то писал, МКС работает под QNX. Сведения - из презентации QNX.
Название: На чем пишется софт для КА?
Отправлено: Инженер проекта от 06.05.2009 15:51:16
Тоже такое слышал. Некоторые вроде под DOSом летают.
Название: На чем пишется софт для КА?
Отправлено: yos от 06.05.2009 18:56:53
А вот меня также интерессуют наземные сегменты. Вот "недавно" КБ Южное написало чуть ли не всё ПО для нового старта для Зенита. Интересно, на чём, какие вспомогательные программы использовались, есть ли там "экзотические" программные или аппаратные системы или всё, как говорилось (Вованом, кажется), просто на ПК крутится?.. К сожалению, тут на форуме только железячники или же не приближённые к этим делам люди.
Название: На чем пишется софт для КА?
Отправлено: jettero от 06.05.2009 18:56:59
Цитироватькак я уже где-то писал, МКС работает под QNX. Сведения - из презентации QNX.
QNX может в каком-то контроллере есть, вообще там вроде VxWorks больше используют
PS Сейчас вспомнил – QNX это же канадская контора, наверное на канадском манипуляторе их софт.
Название: На чем пишется софт для КА?
Отправлено: vekazak от 06.05.2009 18:50:24
В кодах БЦВМ. И прошиваются буквально. Зато минимум памяти, надежно и никаких вирусов.
Название: На чем пишется софт для КА?
Отправлено: hudvin от 06.05.2009 19:58:10
БЦВЭМ - это вот это http://ru.wikipedia.org/wiki/%D0%91%D0%A6%D0%92%D0%9C_%D1%81%D0%B5%D1%80%D0%B8%D0%B8_%D0%A6 ?

а как тогда с unit/functional testing, рефакторингом и повторным использованием? да и средней вшивости компиллятор может оптимизировать код получше человека(как правило)
Название: На чем пишется софт для КА?
Отправлено: Инженер проекта от 06.05.2009 17:48:21
ЦитироватьА вот меня также интерессуют наземные сегменты. Вот "недавно" КБ Южное написало чуть ли не всё ПО для нового старта для Зенита. Интересно, на чём, какие вспомогательные программы использовались, есть ли там "экзотические" программные или аппаратные системы или всё, как говорилось (Вованом, кажется), просто на ПК крутится?.. К сожалению, тут на форуме только железячники или же не приближённые к этим делам люди.
Ну почему же не приближённые. :)  Есть и более-менее в курсе. Но сами понимаете, - чего можно в сетевую помойку писать, а чего не надо, - тут надо подумать.  :)
Название: На чем пишется софт для КА?
Отправлено: Инженер проекта от 06.05.2009 17:54:17
Цитироватьесть ли там "экзотические" программные или аппаратные системы или всё, как говорилось (Вованом, кажется), просто на ПК крутится?
Дайте ссылочку, посмотрим ... :)
Название: На чем пишется софт для КА?
Отправлено: Pyhesty от 06.05.2009 23:31:38
Вообще, зная, что Зеленоград уже давно обзавелся линией по
производству СБИС аля программируемые логические интегральные
схемы, только масочные и принимает подготовленные файлы для
микросхем типа Altera для производства, предполагаю, что современная оборонка оринтирована на них и соответственно пишут
на AHDL'е, Verilog'е, VHDL'е и подобном. Я бы поступил именно так. И заказчик доволен, что отечествонное, и поддержка разработчика
хорошая, проще в отладке.
А вообще в своё время, когда потребовалось на ПЛИС реализовать
стек TCP/IP(частично) и передачу UTP пакетов, я реализовал
за один вечер собственный процессор вида CISC со всеми феничкамии: четыре 16ти разрядных регистра, сложение, умножение,
инкрементирование, циклы, память (два куска) и кучу специализированных команд, типа копироваия памяти.
Сначала писал в машинных кодах, как наверное писали наши предки
в 80х, потом добрый программист написал компилятор. В тоге, стек
IP и UTP передача пакетов уложилась в 4кБайта кодов! И при этом
чисто аппаратное решение, которое не сбоит, не глючит, как если бы
там стояла ось.
В целом я думаю, каждая большая IT контора в итоге имеет
собственный микропроцессор, который её удовлетворяет и устраиват,
собственный язык и тп. При этом, конечно, же используя и
современные достижения в области.
Просто универсальность для дубовых автоматов в некотором роде
бывает вредна.
Название: На чем пишется софт для КА?
Отправлено: Pavel от 07.05.2009 01:09:10
Некрофилей, хм. А на чем по вашему надо писать?
Название: На чем пишется софт для КА?
Отправлено: Инженер проекта от 07.05.2009 06:23:38
Цитироватьсредней вшивости компиллятор может оптимизировать код получше человека(как правило)
Да ладно ...  :)
Название: На чем пишется софт для КА?
Отправлено: Not от 07.05.2009 20:03:35
ЦитироватьВ кодах БЦВМ. И прошиваются буквально. Зато минимум памяти, надежно и никаких вирусов.
А вот Галилео с Кассини почему-то не в кодах БЦВМ, и все системное ПО лежит во флэш-памяти. И причем тут собственно вирусы и надежность? Наоборот, допустив ошибку в программировании и прошив это в ПЗУ вы лишаетесь возможности эту ошибку исправить. Это скорее снижение надежности. Далее, откуда простите в БЦВМ могут пролезть вирусы? Межгалактический дух занесет, или по сети питания от лаптопов с американского сегмента просочатся?  :D
Название: На чем пишется софт для КА?
Отправлено: Not от 07.05.2009 20:06:42
Цитировать
Цитироватьсредней вшивости компиллятор может оптимизировать код получше человека(как правило)
Да ладно ...  :)
Кстати, Гудвин дело говорит. Поинтересуйтесь проектом (и языком) Рефал, активно востребованном в ИПМ. Они там программу глобально оптимизирут так, что ее объем в некоторых случаях уменьшается в десятки(!) раз, а скорость работы увеличивается примерно в таких же масштабах.
Название: На чем пишется софт для КА?
Отправлено: Lerm от 07.05.2009 10:30:36
ЦитироватьБЦВЭМ - это вот это http://ru.wikipedia.org/wiki/%D0%91%D0%A6%D0%92%D0%9C_%D1%81%D0%B5%D1%80%D0%B8%D0%B8_%D0%A6 ?

а как тогда с unit/functional testing, рефакторингом и повторным использованием? да и средней вшивости компиллятор может оптимизировать код получше человека(как правило)

С повторным использованием - всё в порядке! Вот, разработчики Ариан-5 (http://en.wikipedia.org/wiki/Ariane_5_Flight_501) подтвердят...  :lol:
Название: На чем пишется софт для КА?
Отправлено: hudvin от 07.05.2009 11:31:50
ЦитироватьДа ладно ... Smile
Обходит, обходит. В крайнем случае переписывание на асме даст прирост производительности 10-15%.  Поэтому на нем щас и пишут только либо сильно системные вещи, только очень(ОЧЧЕНЬ!) числодробильные.
Но справедливо для обычных процов и обычного софта. А как в космонавтике - не знаю, поэтому и спрашиваю.
Название: На чем пишется софт для КА?
Отправлено: Инженер проекта от 07.05.2009 10:04:40
ЦитироватьВ крайнем случае переписывание на асме даст прирост производительности 10-15%.  Поэтому на нем щас и пишут только либо сильно системные вещи, только очень(ОЧЧЕНЬ!) числодробильные.
С оптимизацией команд согласен, но я ещё имел ввиду оптимизацию алгоритма, а здесь компилятор не поможет  :) Думать за вас он не будет, это дано только человеку. "Умный" компилятор - это всего лишь приятное дополнение. Спецподход вылазит из за специфики работы с железками - реалтайм однако  :)
Название: На чем пишется софт для КА?
Отправлено: Bell от 07.05.2009 12:16:24
ЦитироватьТоже такое слышал. Некоторые вроде под DOSом летают.
Летать под дисковой операционной системой конечно можно.
Если знать - под чьей ;)
Название: На чем пишется софт для КА?
Отправлено: hudvin от 07.05.2009 14:11:01
ЦитироватьС оптимизацией команд согласен, но я ещё имел ввиду оптимизацию алгоритма, а здесь компилятор не поможет Smile Думать за вас он не будет, это дано только человеку. "Умный" компилятор - это всего лишь приятное дополнение. Спецподход вылазит из за специфики работы с железками - реалтайм однако Smile
ну тормозной алгоритм тормозить везде будет.
опять же, смотря какой реальтайм и на чем. Одно дело на вообще голой железке, другой - на железке под управлением RTOS
Название: На чем пишется софт для КА?
Отправлено: ДмитрийК от 07.05.2009 20:44:22
Цитировать... пишут на AHDL'е, Verilog'е, VHDL'е и подобном.
ПЛИС это замечательно но все-же кесарю-кесарево а слесарю-слесаево :) У ПЛИС и у процессоров какбы совсем разные ниши. Они конечно пересекаются до некоторой степени но в большинстве случаев выбор между С и VHDL очевиден.

Цитироватьи поддержка разработчика хорошая,
А можно поинтересоваться, о каком вендоре/платформе идет речь? Я пришел (а точнее вернулся) в железо из софта и если честно, был поначалу просто шокирован низким качеством ПО. MSVC просто недосягаемый идеал качества по сравнению напр. с Xilinx ISE или ModelSim.

Потом, вот еще какой вопрос. Компилятор - штука хорошо известная. В СССР/России была/есть?  своя неплохая школа. На худой конец в качестве отправной точки всегда есть OpenSource. Т.е. иметь/поддерживать/развивать свой инструментарий разработки ПО не должно быть особых проблем. Если честно не знаю как обстоит дело в России со своим софтом для разработки ПЛИС, но судя по тому как с этим в мире (хреново - софта мало, он дорогой, кривой и глючный), смело предполагаю что не очень. А каким образом режимный ФГУП получит нормальную поддержку от иностранного вендора - для меня загадка. В смысле как ей пользоваться?
- "Але, вендор, у меня PAR слетает, internal error 123"
- "Ну хорошо, пришлите нам ваш нетлист, мы посмотрим"
 - :shock:  :shock:  :shock: Ага, вот так щас прям и пришлю :shock:  :shock:  :shock:
У нас в контора ни с какими государственными/военными секретами дела не имеет, только обычная коммерческая тайна как у всех, и то пляски с бубном начались вокруг этой NDA на техподдержку.

Цитировать...проще в отладке.
Или вы шутить изволите или мы в параллельных вселенных обитаем. Для софта отладчик  (мелкософт) меня вполне устраивает, все что нужно в нем видно без проблем. Компилируется софт практически мгновенно (если мало изменений). Железо варится 40 минут, чтобы увидеть что происходит внутри надо на уши встать, одну запятую поменял - опять 40 минут сидишь читаешь форум НК :) Про ModelSim в моем случае вообще можно забыть. Вечером ставлю, с утра прихожу - он еще на середине пути.

Цитировать...за один вечер собственный процессор вида CISC со всеми феничками...
Да, все мы этим грешны :) Раньше говорилось что каждый настоящий программист должен хотя бы раз в жизни написать свой язык и свою ОС, теперь к этому добавился еще и процессор с периферией :) Не, свой процессор это круто, в хорошем смысле слова, вот только если играть по правилам то надо стопкой сложить спецификации, архитектурный / детальный дизайн, руководств по системе команд, описание интерфейсов, тест-план, и пр. и посмотреть сколько вместе дофига сантиметров получается. Я иронизирую конечно но только отчасти, потому что через нечто подобное проходил.

ЦитироватьВ целом я думаю, каждая большая IT контора в итоге имеет собственный микропроцессор, который её удовлетворяет и устраиват, собственный язык и тп.
А смысл? Процессоры они все похожи как близнецы-братья, в конце концов они все делают одно и тоже. Вот сейчас мы выбираем микроконтроллер для одного проекта.  Критерии - цена, производительность, как сделан DRАМ и DMA интерфейс, площадь корпуса, потребляемая мошность. Все. Какая там будет система команд - всем глубоко пофиг. Ну а если хочется/нужно иметь свой самопальный процессор, есть замечательные готовые системы команд и интерфейсы которые можно "позаимствовать". С языками похожая ситуация - по производительности они все примерно сравнялись а от навороченных абстракций часто приходится отказываться ради жесткого контроля программиста над тем что же на самом деле происходит. Поэтому какой-нибудь вариант embedded C будет не намного хуже любого другого. Или Модула если ее так любят, все один хрен. Зато когда новый человек приходит в команду, он может читать код сразу и без словаря.

А вообще программы (и железо) у нас в конторе пишут в основном в ворде, поверпойнте и визио,  еще на матлабе и питоне :)
Название: На чем пишется софт для КА?
Отправлено: ДмитрийК от 07.05.2009 21:05:13
ЦитироватьС оптимизацией команд согласен, но я ещё имел ввиду оптимизацию алгоритма, а здесь компилятор не поможет  :)
Зато его отсутствие может сильно помешать. На С человек может посмотреть на функцию и сказать "а дай-ка я здесь попробую хеш-таблицу вместо линейного списка". На ассемблере человек потратит полдня на то чтобы сэкономить 4 байта кода и 3 цикла, код будет красивый и изящный, но просто вот все бросить и переписать чтобы "попробовать" хеш-таблицу ему и в голову не придет. По себе знаю :)
Название: На чем пишется софт для КА?
Отправлено: ДмитрийК от 07.05.2009 21:13:01
ЦитироватьНо справедливо для обычных процов и обычного софта. А как в космонавтике - не знаю, поэтому и спрашиваю.
А что летает-то в основном? RISCи всякие по большей части, MIPSы и SPARCи вроде как если я не ошибаюсь? А для них на ассемблере писать - дело неблагодарное.
Название: На чем пишется софт для КА?
Отправлено: jettero от 07.05.2009 21:36:34
Понятно что основные проги для КА пишут на высоком уровне, где-то я встречал, что в НАСА на питоне часто пишут, на асме это убиться можно пока отладишь, да и ошибок можно больше пропустить.
А ассемблерный код, PIC'и, ПЛИС'ы и прочая мидлварь это более низкий уровень системы – это исполнительные механизмы, а основные программы стоят выше и обычно они под RTOS крутятся.

По логике так должно быть, хотя на старых спутниках могли и что-то сильно упрощенное юзать – типа конечного автомата, собранного на обычной логике.
Название: На чем пишется софт для КА?
Отправлено: Not от 08.05.2009 08:51:41
ЦитироватьС оптимизацией команд согласен, но я ещё имел ввиду оптимизацию алгоритма, а здесь компилятор не поможет  :)
Это смотря какой компилятор. Если компилятор достаточно совершенен, то он в состоянии 1) глобально оптимизировать ваш алгоритм с учетом известных входных данных. 2) Вывести более оптимальный алгоритм из существующего с учетом частично известных входных данных. Очень простой пример: предположим вам в программе нужно извлекать квадратный корень из числа. Вероятно вы или воспользуетесь стандартной подпрограммой sqrt(x), или даже напишете свою, оптимальную для вашего железа. Что сделает обычный комплилятор? оттранслирует ваш код в вызов функции. Что сделает глобально-оптимизирующий компилятор? Первым делом он проверит, не является ли значение, передаваемое в функцию, константой. Константным оно может стать где угодно на пути к этой функции, потому и речь о глобальной оптимизации. Далее, если оно константно, то значение корня тут же будет вычислено и подставлено вместо вызова функции sqrt(x). Это был простейший пример, но естественно возможны значительно более интересные и малопостижимые на первый взгляд ситуации. Отсюда и ускорение работы программы в десятки раз. Можно пойти еще дальше, применив суперкомпилятор, который не просто определит константность выражений, но преобразует алгоритм исходя из правил эквиваелнтных преобразований.
Подробности можете найти на сайти www.refal.net от Института прикладной математики.
Название: На чем пишется софт для КА?
Отправлено: YuriyV от 08.05.2009 01:23:59
Цитировать
ЦитироватьС оптимизацией команд согласен, но я ещё имел ввиду оптимизацию алгоритма, а здесь компилятор не поможет  :)
Это смотря какой компилятор. Если компилятор достаточно совершенен, то он в состоянии...
Для иллюстрации. Была написана программа на C++ с ассемблерными вставками. В новой версии решили отказаться от ассемблера и переписали вставки на С++. После компиляции с оптимизацией код стал компактнее и быстрее. Посчитали, оказалось, что оптимизированный код на С++ быстрее и компактнее "ручного" ассемблера процентов на 30. Не оптимизация ли это алгоритма? :-)
Название: На чем пишется софт для КА?
Отправлено: Not от 08.05.2009 11:54:38
Цитировать
Цитировать
ЦитироватьС оптимизацией команд согласен, но я ещё имел ввиду оптимизацию алгоритма, а здесь компилятор не поможет  :)
Это смотря какой компилятор. Если компилятор достаточно совершенен, то он в состоянии...
Для иллюстрации. Была написана программа на C++ с ассемблерными вставками. В новой версии решили отказаться от ассемблера и переписали вставки на С++. После компиляции с оптимизацией код стал компактнее и быстрее. Посчитали, оказалось, что оптимизированный код на С++ быстрее и компактнее "ручного" ассемблера процентов на 30. Не оптимизация ли это алгоритма? :-)
Возможно, нужно смотреть на параметры компилятора. Хотя, скорее всего компилятор оптимальнее сгенерировал код для конкретного процессора. Можно ведь и на ассемблере писать достаточно обще. Например, можно по-разному описывать пролог-эпилог вызова функции, что резко скажется на размере и скорости работы кода.
Название: На чем пишется софт для КА?
Отправлено: natsvin от 07.05.2009 19:02:38
у как
Цифровой Прогресс запустили аж в 2008 году..............
может Шарп или Нумерле наконец освоют...
а то наш балет тут непрокатывает...
Название: На чем пишется софт для КА?
Отправлено: Juni от 08.05.2009 06:46:34
А ГРАФИТ-ФЛОКС (ДРАКОН технологию) нельзя использовать для создания софта для КА? Только для РН и МБР используют?
Название: На чем пишется софт для КА?
Отправлено: Guest03 от 08.05.2009 09:05:18
С/С++. Все в зависимости от процессора бортовой машины. Некоторые вещи на ассемблере.
Компилятор оптимизирует код прекрасно. Зачем гнаться за оптимальностью в ассемблере, если скомпиленый код на СИ дает показатели удовлетворяющие всем критериям?
Название: На чем пишется софт для КА?
Отправлено: mOleg от 10.05.2009 13:09:16
а Форт не хотите?
http://forth.gsfc.nasa.gov/
это кстати и по поводу Шаттла, и процессора, если не ошибаюсь RTX2000 , который Форт-процессор :)
Название: На чем пишется софт для КА?
Отправлено: Александр Куприянов от 26.05.2009 22:42:53
ЦитироватьВ кодах БЦВМ. И прошиваются буквально. Зато минимум памяти, надежно и никаких вирусов.


http://www.fastcompany.com/magazine/06/writestuff.html

Для Шаттлов пишут в Hal/S - довольно любопытная технология "письма". Высоконадежная. Стоимость пронраммирования в 1600 (вроде так) раз дороже некосмических продуктов.
Название: На чем пишется софт для КА?
Отправлено: Александр Куприянов от 26.05.2009 22:44:25
ЦитироватьВ кодах БЦВМ. И прошиваются буквально. Зато минимум памяти, надежно и никаких вирусов.


http://www.fastcompany.com/magazine/06/writestuff.html

Для Шаттлов пишут в Hal/S - довольно любопытная технология "письма". Высоконадежная. Стоимость пронраммирования в 1600 (вроде так) раз дороже некосмических продуктов.
Название: На чем пишется софт для КА?
Отправлено: Александр Куприянов от 26.05.2009 23:16:32
ЦитироватьС/С++. Все в зависимости от процессора бортовой машины. Некоторые вещи на ассемблере.
Компилятор оптимизирует код прекрасно. Зачем гнаться за оптимальностью в ассемблере, если скомпиленый код на СИ дает показатели удовлетворяющие всем критериям?


Для Шаттлов пишут на HAL/S. Посмотрел последнее по нему руководство программиста - 441 страница.
Качество процесса программирования определяется не только $35 000 000 годовым бюджетом на 260 сотрудников, но и особенностями процессов:

And no coder changes a single line of code without specs carefully outlining the change. Take the upgrade of the software to permit the shuttle to navigate with Global Positioning Satellites, a change that involves just 1.5% of the program, or 6,366 lines of code. The specs for that one change run 2,500 pages, a volume thicker than a phone book. The specs for the current program fill 30 volumes and run 40,000 pages.

The developers have even begun their own formal inspections of the code in carefully moderated sessions, a rigorous proof-reading they hope will confound the testers. The verifiers, in turn, argue that they deserve credit for some errors found before they even start testing. "From the verification group's perspective," says Pat McLellan, a senior manager, "we're aware that if there was no independent verification group, the developers would tend to be more lax. Just the presence of our group makes them more careful."

Importantly, the group avoids blaming people for errors. The process assumes blame - and it's the process that is analyzed to discover why and how an error got through. At the same time, accountability is a team concept: no one person is ever solely responsible for writing or inspecting code. "You don't get punished for making errors," says Marjorie Seiter, a senior member of the technical staff. "If I make a mistake, and others reviewed my work, then I'm not alone. I'm not being blamed for this."
As the rest of the world struggles with the basics, the on-board shuttle group edges ever closer to perfect software.

Admittedly they have a lot of advantages over the rest of the software world. They have a single product: one program that flies one spaceship. They understand their software intimately, and they get more familiar with it all the time. The group has one customer, a smart one. And money is not the critical constraint: the groups $35 million per year budget is a trivial slice of the NASA pie, but on a dollars-per-line basis, it makes the group among the nation's most expensive software organizations
Название: На чем пишется софт для КА?
Отправлено: bsdv от 27.05.2009 10:33:25
Немного не в тему, но для Боингов ПО написано на С, процессор PowerPC.
Название: На чем пишется софт для КА?
Отправлено: Pavel от 27.05.2009 07:37:22
ЦитироватьНемного не в тему, но для Боингов ПО написано на С, процессор PowerPC.

А в МО США используется Ада. И что?  Ничего.. Вообще эти битвы стороников разных языков програмирования так умиляют... На мой взгляд идеальных языков нет и быть не может...
Вообще когда я изучал различные языки програмирования больше всего меня впечатлил Пролог.. Дейстительно вериться, что на его основе можно создать подобие искуственого интелекта.
Название: На чем пишется софт для КА?
Отправлено: Васил Жеков от 27.05.2009 17:23:08
Цитировать
ЦитироватьНемного не в тему, но для Боингов ПО написано на С, процессор PowerPC.

А в МО США используется Ада. И что?  Ничего.. Вообще эти битвы стороников разных языков програмирования так умиляют... На мой взгляд идеальных языков нет и быть не может...
Вообще когда я изучал различные языки програмирования больше всего меня впечатлил Пролог.. Дейстительно вериться, что на его основе можно создать подобие искуственого интелекта.

Искуственой интелект можно на любом язике создать, в обшем-то Пролог ничего оссобенное не представляет - back-tracking и все.
Название: На чем пишется софт для КА?
Отправлено: Александр Куприянов от 27.05.2009 19:44:17
Цитировать
ЦитироватьНемного не в тему, но для Боингов ПО написано на С, процессор PowerPC.

А в МО США используется Ада. И что?  Ничего.. Вообще эти битвы стороников разных языков програмирования так умиляют... На мой взгляд идеальных языков нет и быть не может...
Вообще когда я изучал различные языки програмирования больше всего меня впечатлил Пролог.. Дейстительно вериться, что на его основе можно создать подобие искуственого интелекта.

Судя по описанию, HAL сформирован из двух соображений:
1.Надежности, в том числе отсутствии двусмысленностей.
2.Понятности готового кода неспециалисту, что, между прочим, связано с п.1.

Ну и процедуры жизненного цикла ПО выстроены с банковской аккуратностью и требовательностью.

Что нужно делать, чтобы получить хороший, жизнестойкий красивый газон?
Правильно его обустроить и тщательно поддерживать - подстригать, подкармливать, поддерживать...  на протяжении трехсот лет...
Название: На чем пишется софт для КА?
Отправлено: Вадим Семенов от 27.05.2009 23:23:25
Вообще языки программирования бывают более или менее уязвимые к производству багов. Но титаническим усилиями, многократной проверкой и каменной задницей можно сделать безошибочный код на любом языке.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 28.05.2009 00:39:13
Цитировать
Цитировать
ЦитироватьНемного не в тему, но для Боингов ПО написано на С, процессор PowerPC.

А в МО США используется Ада. И что?  Ничего.. Вообще эти битвы стороников разных языков програмирования так умиляют... На мой взгляд идеальных языков нет и быть не может...
Вообще когда я изучал различные языки програмирования больше всего меня впечатлил Пролог.. Дейстительно вериться, что на его основе можно создать подобие искуственого интелекта.

Судя по описанию, HAL сформирован из двух соображений:
1.Надежности, в том числе отсутствии двусмысленностей.
2.Понятности готового кода неспециалисту, что, между прочим, связано с п.1.

Ну и процедуры жизненного цикла ПО выстроены с банковской аккуратностью и требовательностью.

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

Мне трудно понять, зачем надо было выдумывать специальный язык. Наверное, это было модно в 70-е. Также мне кажется, что надежность ПО, написанного на стандартном С для того же B787 или A380, на порядок выше шаттла (не в обиду будет сказано, просто риски несоизмеримы). А вот насчет процедур ЖЦ ПО согласен на 100%, бюрократия страшенная :D . По другому сертификацию не пройдешь.
Название: На чем пишется софт для КА?
Отправлено: Александр Куприянов от 28.05.2009 08:39:19
Цитироватьbsdv пишет:
 
ЦитироватьAllex пишет:
 
Цитировать
ЦитироватьНемного не в тему, но для Боингов ПО написано на С, процессор PowerPC.

Мне трудно понять, зачем надо было выдумывать специальный язык. Наверное, это было модно в 70-е. Также мне кажется, что надежность ПО, написанного на стандартном С для того же B787 или A380, на порядок выше шаттла (не в обиду будет сказано, просто риски несоизмеримы). А вот насчет процедур ЖЦ ПО согласен на 100%, бюрократия страшенная :D . По другому сертификацию не пройдешь.

Согласен, языки программирования, как и естественные, живут по социальным, а не технологическим,  законам, - в  сообществах, исторически.
Название: На чем пишется софт для КА?
Отправлено: yos от 28.05.2009 16:31:51
"Выдумывать" языки нужно будет ещё очень долго! Развитие языков дос их пор активно продолжается. А всё потому, что языки очень разные. А споры об этом действительно умиляют: "мне нравится этот язык, а мне тот". Это всё очень поверхностные и субьективные оценки. Суть в том, что языки разрабатывают не только, чтобы людям было приятно или легко с ними работать, а главное, особенно в случае с КА и прочей техникой, чтобы иметь "правильную" и понятную семантику. Почему это так важно? Да потому, что специальное ПО не пишут в традиционном смысле, а создают (частично) с помощью разных формальных методов, которые гарантируют корректность программ. Но сделать такое с такими языками как С невозможно, потому, что последний, например, не имеет понятной и достаточно простой семантики, чтобы привязать её к какому-либо методу формального программирования.
В связи с этим, специальное ПО и пишется на языках, которые "простым программистам" (уж извините) кажутся странными, старыми или экзотическими. Например Модула-2 или Ада (это обьяснение ложной "некрофилии" которую упомянули в первом сообщении темы).
Короче, все эти споры про языки программирования на уровне "програмёров"-самоучек. Нужно видеть подводную часть этого айсберга.
Название: На чем пишется софт для КА?
Отправлено: yos от 28.05.2009 16:34:40
ЦитироватьСогласен, языки программирования, как и естественные, живут по социальным, а не технологическим,  законам, - в  сообществах, исторически.
Это относится только к рынку и промышленности ширпотребного ПО. А в мире авиации и космонавтике и в других областях, где ПО должно быть безукоризненным совсем другая картина, см. выше.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 28.05.2009 19:45:10
ЦитироватьНо сделать такое с такими языками как С невозможно, потому, что последний, например, не имеет понятной и достаточно простой семантики, чтобы привязать её к какому-либо методу формального программирования.

Дык, потому языки и развиваются, охватывая новые предметные области. С++, С#, Matlab, Simulink, ObjectARX, MFC - что там еще программистская братия выдумает? В данном конкретном случае у С есть неоспоримое преимущество с названными выше языками, он известен многим :D . А из многих всегда легче выбрать лучших :D . А, собственно говоря, именно лучшие и задают безукоризненость кода, а не  язык сам по себе.
Название: На чем пишется софт для КА?
Отправлено: yos от 28.05.2009 23:41:32
Если мы ведём речь о спец. ПО для спутников, авиации и проч., то нет, никаких преимуществ С++ не имеет. В том то и дело, что именно сам язык позволяет или нет, из-за своей семантики, применять разные формальные методы. Например, если взять язык с указателями на поверхности, как С(++), то сразу получаем в подарок огромные сложности с формальной проверкой/доказательствами того, что в данной программе нету ошибок с указателями. Та-же самая лажа с ОО. Одним словом: слишком сложная и трудно поддающаяся формализированию семантика.
С другой стороны, если формальные методы не применяются (ширпотребное программирование), то "сложные" языки всё-равно создают проблемы. В этом случае для программистов, которые могут легко делать ошибки с такими языками. Именно имея это в виду разрабатывали Яву и позже С#. Майкрософт вообще позиционирует последний язык как основной для прикладного ПО, а С++ для "если уж очень нужно".
А популярность языков, к сожалению, часто не основана на их хороших качествах...
Название: На чем пишется софт для КА?
Отправлено: hudvin от 28.05.2009 23:52:03
Цитироватьс формальной проверкой/доказательствами того, что в данной программе нету ошибок с указателями.
что конкретно подразумевается в данном контексте? То же, что и для обычного (различные виды тестов - юнит, интерграциооные и прочее) или что то более хитрое?
Название: На чем пишется софт для КА?
Отправлено: yos от 29.05.2009 00:09:50
Нее, тесты это фигня. Существуют формальные(!) методы проверки или даже построения программ из их спецификаций. Всякие там специальные логики, например. Самая известная, но одновременно и слишком простая -- логика (исчисление) Хоара.
Соответственно существуют программные системы для формального построения программ. Грубо говоря, инженер составляет спецификацию, манипулирует нею, а в конце, опять таки грубо, нажимает на кнопочку и получает программу на Модуле-2 или Аде. Но не путать с модельно-ориентированным программированием, где программы тоже генерируются!
Конечно, эти методы гарантируют не всё и применяются для изолированных но критичных вещей, алгоритмы там всякие и прочее.
Так вот, формализовать, например, указатели очень сложно. В результате, сложно создать систему (формальную, а также её программную реализацию), которая бы смотрела на программу с указателями и выдавала результат "нет проблем" или "тут указатель в ничто" и подобное. Такие системы есть, но они не формальные, то есть не всегда могут то, что должны делать и/или не всегда выдают правильные результаты.

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

П.С. Чтобы было понятней: как говорил Дейкстра, тесты могут указать только на наличие ошибок в программе, а не на их отсутствие. А вот формальные методы как раз на отсутствие. Что не значит, что тесты не нужны или неполезны.
Название: На чем пишется софт для КА?
Отправлено: hudvin от 29.05.2009 00:41:20
ясно, разница конечно коренная.  Я спутал с верификацией/тестированием в функциональном программмировании.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 29.05.2009 02:39:55
Что-то мне кажется, что формальные методы не дадут оптимального кода - ни по быстродействию, ни по объемам памяти.
Название: На чем пишется софт для КА?
Отправлено: Not от 29.05.2009 12:42:30
ЦитироватьЧто-то мне кажется...
перекреститесь немедленно!  :lol:

Цитироватьчто формальные методы не дадут оптимального кода - ни по быстродействию, ни по объемам памяти.
написание оптимальных программ сродни решению задач мат. программирования, где вы находите оптимум целевой функции исходя из заданных ограничений. В данной постановке может существовать один оптимум, их может быть несколько, поиск оных может быть достижим в разумное время, может быть не достижим, и наконец постановка может быть несовмествной - при данной системе ограничений задача не имеет решений или имеет бесконечное их множество.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 29.05.2009 02:48:05
Цитировать
ЦитироватьЧто-то мне кажется...
перекреститесь немедленно!  :lol:

 :D  :D  :D
Название: На чем пишется софт для КА?
Отправлено: yos от 29.05.2009 03:51:22
ЦитироватьЧто-то мне кажется, что формальные методы не дадут оптимального кода - ни по быстродействию, ни по объемам памяти.
Е-е, как бы так сказать, одно не мешает другому. Формальные методы не генерируют за человека программы. Хотя для функционального программирования есть, действительно, метод основаный на лямбда исчислении, который позволяет извлечь программу из спецификации. Часто, такая программа будет действительно неоптимальной.

Но в большинстве своём, подчеркну, формальные методы дают возможность получить ответ на вопрос "делает ли моя программа то, что она должна делать?", а не каким-то чудесным способом дают готовую программу. Так что "оптимальность" тут ни при чём.
Название: На чем пишется софт для КА?
Отправлено: yos от 29.05.2009 03:57:37
Цитироватьнаписание оптимальных программ сродни решению задач мат. программирования...
Думаю, что под "оптимальностью" понимается, сложность алгоритма. Например, я говорю вам "найдите в словаре слово пионер". Вы просматриваете каждое слово по порядку: сложность алгоритма линейная. А кто-то другой смотрит в середину словаря, решает смотреть ли дальше и где, слева от середины или справа: сложность логарифмическая. Первый алгоритм менее "оптимальный" чем второй.
Название: На чем пишется софт для КА?
Отправлено: Вадим Семенов от 29.05.2009 07:10:46
ЦитироватьТак вот, формализовать, например, указатели очень сложно. В результате, сложно создать систему (формальную, а также её программную реализацию), которая бы смотрела на программу с указателями и выдавала результат "нет проблем" или "тут указатель в ничто" и подобное.
Да нет, все решаемо. Другое дело, что ни в С++, ни в Джаве, ни в C# нет для этого необходимого инструментария. В результате в больших проектах (даже без "космических" требований по надежности!) приходится в начале каждой процедуры выполнять проверку всех указателей на ноль. Потому что даже если сейчас требованеие ненулевых указателей выполняется, то в дальнейшем где-то в другом месте программы другим человеком поменяется спецификация, на вход придет ноль и получится креш. А можно было бы иметь специальный тип указателей, котрые не могут быть рвны нулю. В этом стучае мы получим сообщение еще на стадии компиляции программы, что код стал некорректным. И так же по многом другим типовым источникам ошибок. К сожалениею, существующие языки программирования на безошибочное программирование совершенно не заточены. Если брать те же указатели, в распространенных языках специфицировать, что такой-то указатель не может быть нулем невозможно. И когда действительно требуется безошибочность приходится путем титанических усилий выверять код по спецификации. Вручную, очень трудоемко. Хотя это вполне мог бы делать компилятор при наличии специального языка программирования.
Название: На чем пишется софт для КА?
Отправлено: Not от 29.05.2009 17:18:58
Цитировать
ЦитироватьТак вот, формализовать, например, указатели очень сложно. В результате, сложно создать систему (формальную, а также её программную реализацию), которая бы смотрела на программу с указателями и выдавала результат "нет проблем" или "тут указатель в ничто" и подобное.
Да нет, все решаемо. Другое дело, что ни в С++, ни в Джаве, ни в C# нет для этого необходимого инструментария. В результате в больших проектах (даже без "космических" требований по надежности!) приходится в начале каждой процедуры выполнять проверку всех указателей на ноль. Потому что даже если сейчас требованеие ненулевых указателей выполняется, то в дальнейшем где-то в другом месте программы другим человеком поменяется спецификация, на вход придет ноль и получится креш. А можно было бы иметь специальный тип указателей, котрые не могут быть рвны нулю. В этом стучае мы получим сообщение еще на стадии компиляции программы, что код стал некорректным. И так же по многом другим типовым источникам ошибок. К сожалениею, существующие языки программирования на безошибочное программирование совершенно не заточены. Если брать те же указатели, в распространенных языках специфицировать, что такой-то указатель не может быть нулем невозможно. И когда действительно требуется безошибочность приходится путем титанических усилий выверять код по спецификации. Вручную, очень трудоемко. Хотя это вполне мог бы делать компилятор при наличии специального языка программирования.
А причем тут нулевые указатели? Это лишь частный случай проблемы. Не менее серьезная проблема состоит в слабой типизации и в адресной арифметике. Иначе говоря, возможность переместить указатель куда угодно и что угодно туда записать. Что делает верификацию принципиально неразрешимой (диапазон смещения указателя может зависеть от входных данных недоступных на момент верификации. Все что можно сделать в данной ситуации - построить упрощенную формальную модель программы, доказать что она в точности отображается в реальный код и вести анализ на этой модели. Что безусловно лучше, чем ничего, но не безгрешно, увы.
Название: На чем пишется софт для КА?
Отправлено: Not от 29.05.2009 19:46:34
Цитировать
Цитироватьнаписание оптимальных программ сродни решению задач мат. программирования...
Думаю, что под "оптимальностью" понимается, сложность алгоритма. Например, я говорю вам "найдите в словаре слово пионер". Вы просматриваете каждое слово по порядку: сложность алгоритма линейная. А кто-то другой смотрит в середину словаря, решает смотреть ли дальше и где, слева от середины или справа: сложность логарифмическая. Первый алгоритм менее "оптимальный" чем второй.
Вообще под оптимальностью в приложении к программированию можно много чего понимать. Например можно оптимально распределять регистры процессора для данного алгоритма, используя раскраску вершин информационного графа алгоритма в минимальное число красок. Точно так же можно минимизировать объем потребляемой памяти. Или можно оптимально преобразовывать код, имея в качестве критерия оптимальности минимальное время исполнения. Все это давно и прекрасно используется в компиляторах. Можно конечно и сложность алгоритмов мининимизировать, переходя от полиномиальных к линейными или логарифмическим, но это значительно более сложная задача, обычно требующая вмешательство естественного интеллекта.  :D
Название: На чем пишется софт для КА?
Отправлено: bsdv от 29.05.2009 14:11:26
Цитировать
ЦитироватьТак вот, формализовать, например, указатели очень сложно. В результате, сложно создать систему (формальную, а также её программную реализацию), которая бы смотрела на программу с указателями и выдавала результат "нет проблем" или "тут указатель в ничто" и подобное.
Да нет, все решаемо. Другое дело, что ни в С++, ни в Джаве, ни в C# нет для этого необходимого инструментария. В результате в больших проектах (даже без "космических" требований по надежности!) приходится в начале каждой процедуры выполнять проверку всех указателей на ноль. Потому что даже если сейчас требованеие ненулевых указателей выполняется, то в дальнейшем где-то в другом месте программы другим человеком поменяется спецификация, на вход придет ноль и получится креш. А можно было бы иметь специальный тип указателей, котрые не могут быть рвны нулю. В этом стучае мы получим сообщение еще на стадии компиляции программы, что код стал некорректным. И так же по многом другим типовым источникам ошибок. К сожалениею, существующие языки программирования на безошибочное программирование совершенно не заточены. Если брать те же указатели, в распространенных языках специфицировать, что такой-то указатель не может быть нулем невозможно. И когда действительно требуется безошибочность приходится путем титанических усилий выверять код по спецификации. Вручную, очень трудоемко. Хотя это вполне мог бы делать компилятор при наличии специального языка программирования.

Пользуйтесь COM интерфейсами, иногда помогает :D
Название: На чем пишется софт для КА?
Отправлено: yos от 29.05.2009 14:38:15
ЦитироватьМожно конечно и сложность алгоритмов мининимизировать, переходя от полиномиальных к линейными или логарифмическим, но это значительно более сложная задача, обычно требующая вмешательство естественного интеллекта.  :D
Ну так об этом и речь. Оптимизации в компиляторе это одно, они не касаются программиста. А вот за хороший по сложности алгоритм отвечает человек. Об этом выше и шла речь.
Название: На чем пишется софт для КА?
Отправлено: yos от 29.05.2009 14:46:11
Цитировать
ЦитироватьТак вот, формализовать, например, указатели очень сложно. В результате, сложно создать систему (формальную, а также её программную реализацию), которая бы смотрела на программу с указателями и выдавала результат "нет проблем" или "тут указатель в ничто" и подобное.
Да нет, все решаемо. Другое дело, что ни в С++, ни в Джаве, ни в C# нет для этого необходимого инструментария.
Мы, думаю, чуть-чуть о разном говорим. Дело не в языках, а в том, что разработать логико-математическую теорию указателей, которая могла бы служить формальной системой для верификации программ, очень сложно. А то, что ведутся попытки усовершенствовать языки, сделав их более устойчивыми к ошибкам человека, то это другая история. Но все эти изменения в языках означают изменения в их семантике, как ваш пример с непустыми указателями (кстати, наверное не поможет). А "хорошая" семантика возможно позволит на её основе применить один из форм. методов. Так что всё связано довольно сложным образом.
Название: На чем пишется софт для КА?
Отправлено: Александр Куприянов от 29.05.2009 16:41:55
Цитироватьyos пишет:
 "Выдумывать" языки нужно будет ещё очень долго! Развитие языков дос их пор активно продолжается. А всё потому, что языки очень разные. А споры об этом действительно умиляют: "мне нравится этот язык, а мне тот". Это всё очень поверхностные и субьективные оценки. Суть в том, что языки разрабатывают не только, чтобы людям было приятно или легко с ними работать, а главное, особенно в случае с КА и прочей техникой, чтобы иметь "правильную" и понятную семантику. "
Конешно, языки (программирования) возникают по технологическим причинам, а возникнув, как и естественные, живут и умирают вместе с сообществом - носителем...
Название: На чем пишется софт для КА?
Отправлено: sychbird от 29.05.2009 16:15:44
К сожалению не помню точных ссылок, но в свое время мне попадались в материалах по  машинному переводу сведения о  якобы доказательствах вроде методами матлогики, ЕМНИП, принципиальной неосуществимости однозначности на семантическом уровне.
Название: На чем пишется софт для КА?
Отправлено: Вадим Семенов от 29.05.2009 20:18:23
Цитировать
Цитировать
ЦитироватьТак вот, формализовать, например, указатели очень сложно. В результате, сложно создать систему (формальную, а также её программную реализацию), которая бы смотрела на программу с указателями и выдавала результат "нет проблем" или "тут указатель в ничто" и подобное.
Да нет, все решаемо. Другое дело, что ни в С++, ни в Джаве, ни в C# нет для этого необходимого инструментария. В результате в больших проектах (даже без "космических" требований по надежности!) приходится в начале каждой процедуры выполнять проверку всех указателей на ноль. Потому что даже если сейчас требованеие ненулевых указателей выполняется, то в дальнейшем где-то в другом месте программы другим человеком поменяется спецификация, на вход придет ноль и получится креш. А можно было бы иметь специальный тип указателей, котрые не могут быть рвны нулю. В этом стучае мы получим сообщение еще на стадии компиляции программы, что код стал некорректным. И так же по многом другим типовым источникам ошибок. К сожалениею, существующие языки программирования на безошибочное программирование совершенно не заточены. Если брать те же указатели, в распространенных языках специфицировать, что такой-то указатель не может быть нулем невозможно. И когда действительно требуется безошибочность приходится путем титанических усилий выверять код по спецификации. Вручную, очень трудоемко. Хотя это вполне мог бы делать компилятор при наличии специального языка программирования.
А причем тут нулевые указатели? Это лишь частный случай проблемы.
Конечно. Я ее и рассотрел, как частный случай для иллюстрации основной мысли.

ЦитироватьНе менее серьезная проблема состоит в слабой типизации и в адресной арифметике.
Согласен, я о том и писал. Существующие языки программирования не предоставляют надлежащей типизации. (Хотя только лигь типизацией вопрос не исчерпывается). Отдельные здравые вещи попадаются в малоиспользуемых языках типа Эйфеля и Ады, но в полной мере, пожалуй, не удоволетворяет никто.
Название: На чем пишется софт для КА?
Отправлено: Вадим Семенов от 29.05.2009 20:19:16
ЦитироватьПользуйтесь COM интерфейсами, иногда помогает :D
При чем тут СОМ интерфейсы?
Название: На чем пишется софт для КА?
Отправлено: yos от 29.05.2009 23:55:58
ЦитироватьК сожалению не помню точных ссылок, но в свое время мне попадались в материалах по  машинному переводу сведения о  якобы доказательствах вроде методами матлогики, ЕМНИП, принципиальной неосуществимости однозначности на семантическом уровне.
Однозначности чего? Семантика -- хорошо развитая область теоретической информатики, успешно достигнуты многие результаты. И всё там однозначно потому, что формально.
Другое дело, что некоторые вещи вообще трудно формализировать, например указатели и ОО. Но попытки ведутся, некоторые довольно таки успешные, другие -- нет.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 30.05.2009 00:01:25
Цитировать
ЦитироватьПользуйтесь COM интерфейсами, иногда помогает :D
При чем тут СОМ интерфейсы?
Физически не дают убить данные, пока их кто-нибудь использует. Всех проблем динамических объектов эта технология конечно не решает, но их количество  все же уменьшается. По-крайней мере отпадает надобность в повторной  проверке указателей :D .
Название: На чем пишется софт для КА?
Отправлено: yos от 30.05.2009 00:04:55
Мы ведём речь о вещах на более низком уровне абстракции.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 30.05.2009 00:18:04
ЦитироватьМы ведём речь о вещах на более низком уровне абстракции.
Ну куда уж ниже. Есть задачи, которые возможно решить на уровне компиляции, есть задачи, принципиально не решаемые на этом этапе. С этим надо смириться. Отсюда растут ноги у динамических типов данных, со всеми их достоинствами и недостатками. С недостатками стараются бороться, придумывая различные технологии - вроде управления жизненным циклом объектов(данных).
Но честно говоря, жизненно важные функции управления техническими объектами ( по-крайней мере те- с которыми мне приходилось встречаться) имеют конечную размерность исходных/вычислительных данных, обусловленную конечными техническими  возможностями иформационно-измерительной части самой техники, что при условии достаточности вычислительных мощностей (главным образом памяти) вполне позволяет обходиться без этих программистских изысков.
Название: На чем пишется софт для КА?
Отправлено: Agent от 30.05.2009 10:27:11
ЦитироватьП.С. Чтобы было понятней: как говорил Дейкстра, тесты могут указать только на наличие ошибок в программе, а не на их отсутствие. А вот формальные методы как раз на отсутствие. Что не значит, что тесты не нужны или неполезны.

Все ити попытки формализации тихонько зачахли еще лет 20 назад. Вместе с попытками написать ИИ. Язык программирования роли не играет. Так же как и язык общения. Написание программы - это правильный подбор кадров и правильная организация техпроцесса.
Название: На чем пишется софт для КА?
Отправлено: Вадим Семенов от 30.05.2009 00:50:58
ЦитироватьФизически не дают убить данные, пока их кто-нибудь использует. Всех проблем динамических объектов эта технология конечно не решает, но их количество  все же уменьшается.
Ну этого недостаточно. Указатель изначально может быть нулевым. Кроме того он и полезен иногда нулевым, обозначающим отсутствие объекта. Нужно ведь не запретить нулевые указатели в принципе, а отлавливать возможные проблемы.
Название: На чем пишется софт для КА?
Отправлено: Вадим Семенов от 30.05.2009 00:54:01
ЦитироватьНо честно говоря, жизненно важные функции управления техническими объектами ( по-крайней мере те- с которыми мне приходилось встречаться) имеют конечную размерность исходных/вычислительных данных, обусловленную конечными техническими  возможностями иформационно-измерительной части самой техники, что при условии достаточности вычислительных мощностей (главным образом памяти) вполне позволяет обходиться без этих программистских изысков.
Я тоже так думаю, но указатели это только частный случай. Могут быть и другие потенциально уязвимые места, например, переполнение, которое однажды сгубило Ариан-5
Название: На чем пишется софт для КА?
Отправлено: Вадим Семенов от 30.05.2009 00:56:08
ЦитироватьВсе ити попытки формализации тихонько зачахли еще лет 20 назад. Вместе с попытками написать ИИ. Язык программирования роли не играет. Так же как и язык общения. Написание программы - это правильный подбор кадров и правильная организация техпроцесса.
Да, к сожалению, дело пошло по пути грубой силы, увеличения трудоемкости и стоимости, вместо устранения причин. Ну может быть разработка софта не самая большая статья расходов и экономить нужды нет.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 30.05.2009 01:05:20
Цитировать
ЦитироватьФизически не дают убить данные, пока их кто-нибудь использует. Всех проблем динамических объектов эта технология конечно не решает, но их количество  все же уменьшается.
Ну этого недостаточно. Указатель изначально может быть нулевым. Кроме того он и полезен иногда нулевым, обозначающим отсутствие объекта. Нужно ведь не запретить нулевые указатели в принципе, а отлавливать возможные проблемы.

Насколько я понимаю, главная проблема заключается в том, что данные, на которые ссылается ваш указатель, могут быть уничтожены участком кода, не подозревающем об необходимости их дальнейшего использования. Поэтому в COM технологии одним из ключевых столпов является подсчет самим объектом  используемых ссылок на свою сущность. При этом ведется счет необнуленых ссылок, и объект сможет вызвать свой метод Destroy (другими словами освободить занимаемую им память) только если в коде больше не осталось указателей (ссылок) на него самого.

Но, как я уже говорил, это не единственная проблема...
Название: На чем пишется софт для КА?
Отправлено: bsdv от 30.05.2009 01:14:46
Цитировать
ЦитироватьНо честно говоря, жизненно важные функции управления техническими объектами ( по-крайней мере те- с которыми мне приходилось встречаться) имеют конечную размерность исходных/вычислительных данных, обусловленную конечными техническими  возможностями иформационно-измерительной части самой техники, что при условии достаточности вычислительных мощностей (главным образом памяти) вполне позволяет обходиться без этих программистских изысков.
Я тоже так думаю, но указатели это только частный случай. Могут быть и другие потенциально уязвимые места, например, переполнение, которое однажды сгубило Ариан-5

Ну это уже более простой вопрос- вопрос корректной фильтрации измерительных данных, вкупе с вопросом размерности переменных. Вот тут уж формальным методам есть где разгуляться :D
Название: На чем пишется софт для КА?
Отправлено: Agent от 30.05.2009 11:19:13
Цитировать
ЦитироватьВсе ити попытки формализации тихонько зачахли еще лет 20 назад. Вместе с попытками написать ИИ. Язык программирования роли не играет. Так же как и язык общения. Написание программы - это правильный подбор кадров и правильная организация техпроцесса.
Да, к сожалению, дело пошло по пути грубой силы, увеличения трудоемкости и стоимости, вместо устранения причин.
Причина в другом - из линейного выполнения, ветвления, цикла и разновидностей оных больше ничего не выжмешь. Попытки формализации (написать программу которая пишет программу) уперлась в ту же проблему что и "генераторы текстов" - "Война и Мир" никак не получается. Пиши хоть в машинных кодах хоть на чем то прологообразном - принципы в основе те же. Точно так же как ученые и инженеры могут делать свое дело на русском, китайском, английскои м тд. Попытки в свое время создать суперязык общения разбились о ту же проблему - не в языке дело.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 30.05.2009 01:22:09
Цитировать
Цитировать
ЦитироватьВсе ити попытки формализации тихонько зачахли еще лет 20 назад. Вместе с попытками написать ИИ. Язык программирования роли не играет. Так же как и язык общения. Написание программы - это правильный подбор кадров и правильная организация техпроцесса.
Да, к сожалению, дело пошло по пути грубой силы, увеличения трудоемкости и стоимости, вместо устранения причин.
Причина в другом - из линейного выполнения, ветвления, цикла и разновидностей оных больше ничего не выжмешь. Попытки формализации (написать программу которая пишет программу) уперлась в ту же проблему что и "генераторы текстов" - "Война и Мир" никак не получается. Пиши хоть в машинных кодах хоть на чем то прологообразном - принципы в основе те же. Точно так же как ученые и инженеры могут делать свое дело на русском, китайском, английскои м тд. Попытки в свое время создать суперязык общения разбились о ту же проблему - не в языке дело.

Осмелюсь предположить, что дело в интеллекте :D
Название: На чем пишется софт для КА?
Отправлено: Agent от 30.05.2009 12:43:27
ЦитироватьОсмелюсь предположить, что дело в интеллекте :D
Типа того. Поэтому программисты и получают так много. Всмысле те кто умеют писать программы. А когда задача такова, что каждый потребленный милливатт стоит дороже годовой зарплаты лучшего программиста, то код будет на ассемблере, оптимален и без ошибок. Несмотря на примитивность языка.
Название: На чем пишется софт для КА?
Отправлено: Туман Андромедов от 30.05.2009 16:42:34
ЦитироватьНесмотря на примитивность языка.

1. Этот язык не примитивен. Он (а вернее его специальные версии - "технологические трансляторы") очень удобен для написания реальных систем управления техническими объектами. Когда операндами являются исполнительные органы, а логика построена на Булевой алгебре.
2. Надо различать несколько принципиально разных задач "написания программ для КА", вот основые из них:
- наведение и навигация (баллистические вычисления на борту)
- "развёртывание" циклограммы конкретного участка полёта
- управление отдельными системами с собственной логикой и обратной связью:  ориентация, регилирование соотношения компонентов и т.д. и т.п.
- управление конкретными исполнительными органами и механизмами (включить-выключить, повернуть, открыть-закрыть  и т.д. и т.п.)

для всех этих задач используются различные инструменты как собственно программирования, так и загрузки (почему-то прижилось это слово) ПО в память разнообразных вычислительных средств и устройств на борту КА. Ну и в добавок не забываем, что отдельные системы КА производятся различными организациями, в том числе, расположенными в разных странах.
Название: На чем пишется софт для КА?
Отправлено: yos от 30.05.2009 23:37:37
ЦитироватьВсе ити попытки формализации тихонько зачахли еще лет 20 назад. Вместе с попытками написать ИИ. Язык программирования роли не играет. Так же как и язык общения. Написание программы - это правильный подбор кадров и правильная организация техпроцесса.
Извините, но вы просто не в курсе. С помощью формальных методов создаётся реальное ПО и работы в этой области ведутся.
Другое дело, что внедрить формальные методы в массы действительно не удалось и они используются в основном в специальных областях: космос, авиация, транспорт. А в академических кругах (в коих сейчас я, оттуда и знания предмета) ничего не зачахло.
Название: На чем пишется софт для КА?
Отправлено: yos от 31.05.2009 00:18:09
Цитировать[Надо различать несколько принципиально разных задач "написания программ для КА", вот основые из них: ...
Это всё управление железяками. А самое главное это функция КА. Самое главное, это чтобы вычисления в Ураганх были правильными, чтобы "модуляция" цифрового сигнала в КА связи была правильной, чтобы протоколы связи были без ошибок, чтобы не "висли" паралельные программы и т.д. Вот это основные цели формальных методов в программировании (КА).
Название: На чем пишется софт для КА?
Отправлено: Вадим Семенов от 31.05.2009 04:05:48
ЦитироватьПопытки формализации (написать программу которая пишет программу) уперлась в ту же проблему что и "генераторы текстов" - "Война и Мир" никак не получается. Пиши хоть в машинных кодах хоть на чем то прологообразном - принципы в основе те же.
Ну так этого и не требуется. Программу пусть человек пишет. Требуется максимально автоматизированным образом проверить, что программа соотвествует спецификации. А для этого нужно как минимум иметь средства выразить эту спецификацию на языке программирования. К сожалению, существующие языки програмирования не позволяют выразить даже такие простые вещи как "указатель не может быть нулем" или "переменная может принимать такой-то диапазон занчений"

ЦитироватьТочно так же как ученые и инженеры могут делать свое дело на русском, китайском, английскои м тд. Попытки в свое время создать суперязык общения разбились о ту же проблему - не в языке дело.
Никто и не предлагает разрабатывать суперязык. Есть разные прикладные области и в каждой тот или иной язык может быть более или менее адекватен. Как и вообще для каждой задачи наиболее подходит свой инструмент. К сожалению, подходящего языка для высоконадежного программирования пока нет. А то, что и отверткой теоретически можно забить гвоздь сомнений нет. Но молотком это делать намного эффективнее.
Название: На чем пишется софт для КА?
Отправлено: KBOB от 31.05.2009 04:57:43
Цитировать
Цитировать
ЦитироватьВсе ити попытки формализации тихонько зачахли еще лет 20 назад. Вместе с попытками написать ИИ. Язык программирования роли не играет. Так же как и язык общения. Написание программы - это правильный подбор кадров и правильная организация техпроцесса.
Да, к сожалению, дело пошло по пути грубой силы, увеличения трудоемкости и стоимости, вместо устранения причин.
Причина в другом - из линейного выполнения, ветвления, цикла и разновидностей оных больше ничего не выжмешь. Попытки формализации (написать программу которая пишет программу) уперлась в ту же проблему что и "генераторы текстов" - "Война и Мир" никак не получается. Пиши хоть в машинных кодах хоть на чем то прологообразном - принципы в основе те же. Точно так же как ученые и инженеры могут делать свое дело на русском, китайском, английскои м тд. Попытки в свое время создать суперязык общения разбились о ту же проблему - не в языке дело.

Ну почему-же? Суперязыки существуют во всех областях. Например язык химических формул уже давно интернационален. Формулу спирта поймет химик любой национальности. Непоследнюю роль в создании языка химических формул сыграла организация IUPAC.
И вообще становление ЛЮБОЙ НАУКИ связано с возникновением какого-то специфического, присущего этой науке языка.
Програмирование в настоящий момент наукой не является, а представляет на мой взгляд, некую сумму технологий производства товаров массового потребления, то что некоторые из этих товаров становятся произведениями искуства ничего особо не меняет, единого языка в програмировании так до сих пор и нет, потому, что с точки зрения производства и потребления отсуствие научной основы с ее специфическим языком не является проблеммой вообще.
C другой стороны программы для КА не являются предметом массового потребления их главная роль - делегирование отвественности. Отвественность оператора дистанционно управляющего КА частично или полностью делегирована копьютерной программе. Можно думать, что делегирование отвествености программе подразумевает наложение этой отвественности  только на програмистов, тестировщиков и их менеджеров, но это не так! В тех случаях когда цена ошибки копьютерной программы высока т.е. измеряется миллиардами долларов, есть желание делегировать отвественность на более широкий круг лиц!
Действительно в чем может быть виновать программист, чей программный код привел к сбою в работе КА ценой миллиарды долларов, если человечество до сих пор не изобрело универсальный язык программирования? Не вольно чуствуешь себя отвественным!
Интересная ситуация возникает, когда мы хотим делегировать отвественность на компьютерную программу как таковую! Очевидно это означает, что компьютерная программа должна быть настолько сложной, что могла бы самостоятельно осознавать всю отвественность которая возложена на нее! Коротко это называется искуственный интелект.
Название: На чем пишется софт для КА?
Отправлено: Not от 31.05.2009 20:52:18
Вы меня конечно извините, но порете жуткую чушь.  :D
ЦитироватьЯзык программирования роли не играет. Так же как и язык общения. Написание программы - это правильный подбор кадров и правильная организация техпроцесса.
Правда что ли язык не важен? Ну давайте, пишите программу реального времени на Прологе. Как надоест бороться с недетерминированностью времени выполнения операторов - вернемся к разговору. Касательно же персонала и техпроцесса - ну да, это важно. Равно как и наличие электричества и освещения.
ЦитироватьПричина в другом - из линейного выполнения, ветвления, цикла и разновидностей оных больше ничего не выжмешь.
А много можно выжать из языка, скажем топологических преобразований? А ведь выжимали, выжимают и будут выжимать новое. Может в консерватории что-то поменять?  :D
ЦитироватьПопытки формализации (написать программу которая пишет программу) уперлась в ту же проблему что и "генераторы текстов" - "Война и Мир" никак не получается.
Да не нужна "Война и мир", нужна надежная программа среднего уровня. И никто вас не просит сгенерировать программу из ТЗ. В большинстве случаев достаточно уметь генерировать ее из корректного формального описания. Пример - генерация программы лексического -  синтаксического разбора из формальной грамматики.

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

ЦитироватьПрограмирование в настоящий момент наукой не является, а представляет на мой взгляд, некую сумму технологий производства товаров массового потребления
Вы батенька вообще специалист в этой области, чтобы так безаппеляционно программирование к ногтю пришпиливать? Вы про науку информатику слышали? Она же Computer Science. Это во-первых. Во-вторых, программирование тесно сплетается с мат. логикой, алгеброй и многими другими разделами математики. Безусловно, "программирование" можно понимать по-разному. Это и наука (почитайте например книжку "Теоретическое программирование" Ершова, или труды Кнута), это и инженерия - разработка больших проектов, это и кодирование - вот тут да,  особой науки не требуется. Но ведь то же самое присутствует и в других областях. Создание машины - это и материаловедение, механика, сопромат (науки), и инженерия - проектирование, расчет прочности  и собственно работа напильником. Вы видимо про напильник рассуждаете?  :D


Цитироватьединого языка в програмировании так до сих пор и нет, потому, что с точки зрения производства и потребления отсуствие научной основы с ее специфическим языком не является проблеммой вообще.
Сами то поняли, что сказали?  :D Единого языка в программировании нет и не будет, точно так же как нет единого языка в математике. Для каждой математической задачи определяется свой язык, состоящий из строго определенных терминов и аксиом, и заключений, строго выведенных из этих аксиом.

ЦитироватьC другой стороны программы для КА не являются предметом массового потребления их главная роль - делегирование отвественности. Отвественность оператора дистанционно управляющего КА частично или полностью делегирована копьютерной программе. Можно думать, что делегирование отвествености программе подразумевает наложение этой отвественности  только на програмистов, тестировщиков и их менеджеров, но это не так! В тех случаях когда цена ошибки копьютерной программы высока т.е. измеряется миллиардами долларов, есть желание делегировать отвественность на более широкий круг лиц!
Действительно в чем может быть виновать программист, чей программный код привел к сбою в работе КА ценой миллиарды долларов, если человечество до сих пор не изобрело универсальный язык программирования? Не вольно чуствуешь себя отвественным!
Интересная ситуация возникает, когда мы хотим делегировать отвественность на компьютерную программу как таковую! Очевидно это означает, что компьютерная программа должна быть настолько сложной, что могла бы самостоятельно осознавать всю отвественность которая возложена на нее! Коротко это называется искуственный интелект.
Простите, конечно, но я в ваших "логических" построениях ни искусственного интеллекта не вижу, ни естественного  :D
Название: На чем пишется софт для КА?
Отправлено: KBOB от 31.05.2009 11:53:56
Цитировать
ЦитироватьПрограмирование в настоящий момент наукой не является, а представляет на мой взгляд, некую сумму технологий производства товаров массового потребления
Вы батенька вообще специалист в этой области, чтобы так безаппеляционно программирование к ногтю пришпиливать? Вы про науку информатику слышали?
Я даже слышал про научный Коммунизм и про продажную дефку капитализма - кибернетику.  :lol:
Мода бывает во всем. Модно стало последние 30 лет компьютерами баловаться - побалуются и перестанут.
Название: На чем пишется софт для КА?
Отправлено: Дмитрий Виницкий от 31.05.2009 17:17:31
Это как? Вы перестали баловаться водопроводом? :D
Название: На чем пишется софт для КА?
Отправлено: KBOB от 31.05.2009 13:22:03
ЦитироватьЭто как? Вы перестали баловаться водопроводом? :D
Информатика это паровозостроение 21-го века.
Название: На чем пишется софт для КА?
Отправлено: Дмитрий Виницкий от 31.05.2009 17:25:16
А что же является элекктровозом? Телепатия???
Название: На чем пишется софт для КА?
Отправлено: KBOB от 31.05.2009 14:28:11
ЦитироватьА что же является элекктровозом? Телепатия???
В 2029г увидим! (производительность суперкомпьютеров увиличивается в 1000 раз каждые 10-11 лет)
http://www.heise.de/english/newsticker/news/106017
Название: На чем пишется софт для КА?
Отправлено: yos от 01.06.2009 00:27:14
ЦитироватьПрограмирование в настоящий момент наукой не является, а представляет на мой взгляд, некую сумму технологий производства товаров массового потребления, то что некоторые из этих товаров становятся произведениями искуства ничего особо не меняет, единого языка в програмировании так до сих пор и нет, потому, что с точки зрения производства и потребления отсуствие научной основы с ее специфическим языком не является проблеммой вообще.
Ндааа.... Программирование имеет О-Г-Р-О-М-Н-У-Ю теоретическую, самую настоящую научную базу, которая охватывает многие области математики и из-за которой возникли новые специальные области, которые называют теоретической информатикой.

Другое дело, что это не очень заметно ибо "средний" программист ничерта об этом не знает (и, обьективно говоря, оно ему и не нужно). А на самом деле, науки хотя-бы в языках программирования (только в их свойствах!) ооочень много. А ещё есть куча всяких других вещей из которых состоит информатика, за которыми стоят огромнейшие и разные теории.
Название: На чем пишется софт для КА?
Отправлено: KBOB от 01.06.2009 01:01:27
Цитировать
ЦитироватьПрограмирование в настоящий момент наукой не является, а представляет на мой взгляд, некую сумму технологий производства товаров массового потребления, то что некоторые из этих товаров становятся произведениями искуства ничего особо не меняет, единого языка в програмировании так до сих пор и нет, потому, что с точки зрения производства и потребления отсуствие научной основы с ее специфическим языком не является проблеммой вообще.
Ндааа.... Программирование имеет О-Г-Р-О-М-Н-У-Ю теоретическую, самую настоящую научную базу, которая охватывает многие области математики и из-за которой возникли новые специальные области, которые называют теоретической информатикой.

Другое дело, что это не очень заметно ибо "средний" программист ничерта об этом не знает (и, обьективно говоря, оно ему и не нужно). А на самом деле, науки хотя-бы в языках программирования (только в их свойствах!) ооочень много. А ещё есть куча всяких других вещей из которых состоит информатика, за которыми стоят огромнейшие и разные теории.

Вот именно блин! Что-бы написать программу и продать ее никаких теориев знать не нужно. В задачу програмиста только входит овладение инструментами - языками програмирования.
А тот кто разрабатывает инструмент тоже без теориев обходится, потому что ему нужен инструмент понятный большинству, поэтому паскаль как самый простой в изучении язык и всякие там дельфи наего основе. Плюс интерпретаторы как более простые в отладке. Плюс "сборка мусора" для тех кто нехочет думать про выделение памяти. Плюс нежесткая типизация для тех кто вообще нехочет думать.
К счастью разработчики процессоров на которых исполняется байткод особо не огорчают.
Название: На чем пишется софт для КА?
Отправлено: yos от 01.06.2009 18:29:21
ЦитироватьВот именно блин! Что-бы написать программу и продать ее никаких теориев знать не нужно.
Да, но относится это только к наивному программированию ширпотреба. Да и то, качество этого ширпотреба -- известная проблема.
Не относится к разработкам специального ПО для самолётов, транспорта, космической техники и т.д.
ЦитироватьА тот кто разрабатывает инструмент тоже без теориев обходится, потому что ему нужен инструмент понятный большинству, поэтому паскаль как самый простой в изучении язык и всякие там дельфи наего основе. Плюс интерпретаторы как более простые в отладке. Плюс "сборка мусора" для тех кто нехочет думать про выделение памяти. Плюс нежесткая типизация для тех кто вообще нехочет думать.
Нет, нет, нет! Как раз инструменты и содержат большую часть науки. Все вещи, которые вы назвали от балды не пишутся, без специальных знаний. Вот все пользуются компиляторами, но это не значит, что "большинству", как вы пишете, понятно, как они работают. Т.е. в инструментах очень много теории, но она не обязательно видна пользователю, т.е. программисту. Это же простой и общий принцип: не все люди знают, как работает двигатель в автобусе, на котором они едут, не говоря уже об АЭС, а ведь ток это нормально...
Название: На чем пишется софт для КА?
Отправлено: yos от 01.06.2009 18:52:41
ЦитироватьВ задачу програмиста только входит овладение инструментами - языками програмирования.
Забыл сказать, что это абсолютно не соответствует реальности. Такой программист, хоть и будет знать языки программирования, не сможет написать ничего кроме тривиальных "учебных" программ-упражнений, от которых нет пользы. Чтобы быть "минимальным" но полезным программистом выше уровня увлечённого старшекласника, нужно знать намного больше.
Название: На чем пишется софт для КА?
Отправлено: Вадим Семенов от 01.06.2009 19:32:59
ЦитироватьВот именно блин! Что-бы написать программу и продать ее никаких теориев знать не нужно. В задачу програмиста только входит овладение инструментами - языками програмирования.
А тот кто разрабатывает инструмент тоже без теориев обходится, потому что ему нужен инструмент понятный большинству, поэтому паскаль как самый простой в изучении язык и всякие там дельфи наего основе. Плюс интерпретаторы как более простые в отладке. Плюс "сборка мусора" для тех кто нехочет думать про выделение памяти. Плюс нежесткая типизация для тех кто вообще нехочет думать.
Да вобщем-то и для того, чтобы ракету сделать ничего знать не нужно. Достаточно денег и желания. Правда, в таком случае она вряд ли полетит. Ну так и программа у незнающих и недумающих будет полна багов... :)
Название: На чем пишется софт для КА?
Отправлено: KBOB от 01.06.2009 15:40:41
Цитировать
ЦитироватьВот именно блин! Что-бы написать программу и продать ее никаких теориев знать не нужно. В задачу програмиста только входит овладение инструментами - языками програмирования.
А тот кто разрабатывает инструмент тоже без теориев обходится, потому что ему нужен инструмент понятный большинству, поэтому паскаль как самый простой в изучении язык и всякие там дельфи наего основе. Плюс интерпретаторы как более простые в отладке. Плюс "сборка мусора" для тех кто нехочет думать про выделение памяти. Плюс нежесткая типизация для тех кто вообще нехочет думать.
Да вобщем-то и для того, чтобы ракету сделать ничего знать не нужно. Достаточно денег и желания. Правда, в таком случае она вряд ли полетит. Ну так и программа у незнающих и недумающих будет полна багов... :)
Не буду напоминать про отечественные автомобили, но за определенную цену даже их покупают, не сомневаюсь, что их конструировали знающие и думающие люди.
Название: На чем пишется софт для КА?
Отправлено: sychbird от 01.06.2009 18:57:03
То КВОВ

Это очень старая тема. Средний ремесленник может сделать скрипку для цыганского оркестра. Но скрипки Страдивари и Амати воспроизвести не удается.  В их время не писали комментариев к программам. :)

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

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

Но массовое производство вычислительной и телекомуникационной аппаратуры и создание техносферы информатизации всех без исключения сторон человеческой деятельности выдвигают специфические для массового производства и обучения массовым профессиям проблемы.
И не стоит путать эту специфическую по целям и условиям деятельности область техногии с фундаментальными областями знания и технологическим искуством, лежащими в основании.
Название: На чем пишется софт для КА?
Отправлено: yos от 01.06.2009 23:24:31
ЦитироватьЯ лично сомневаюсь, можно ли отнести, гигантский опыт   и знания, накопленные в теории программирования, к области науки.
Интересно, на чём базируются ваши сомнения? Информатика это несомненно наука, просто новая. Но зато очень обьёмная и богатая.
Название: На чем пишется софт для КА?
Отправлено: Вадим Семенов от 02.06.2009 01:35:06
ЦитироватьИ не стоит путать эту специфическую по целям и условиям деятельности область техногии с фундаментальными областями знания и технологическим искуством, лежащими в основании.
Я согласен, что это технология. Как и ракетостроение. Но -- возвращаясь к теме -- это никак не отменяет необходимости использовать адекватные инструменты. Либо иметь геморой.
Название: На чем пишется софт для КА?
Отправлено: KBOB от 02.06.2009 01:04:19
Цитировать
ЦитироватьЯ лично сомневаюсь, можно ли отнести, гигантский опыт   и знания, накопленные в теории программирования, к области науки.
Интересно, на чём базируются ваши сомнения? Информатика это несомненно наука, просто новая. Но зато очень обьёмная и богатая.
Я тоже сомневаюсь вместе с sychbird. Была раньше наука кибернетика, продажная дефка капитализьма кстати! А тут вдруг появилась какаято информатика и даже внесена в школьную программу. Зачем это политические игры?
Название: На чем пишется софт для КА?
Отправлено: KBOB от 02.06.2009 01:14:45
Цитировать
ЦитироватьИ не стоит путать эту специфическую по целям и условиям деятельности область техногии с фундаментальными областями знания и технологическим искуством, лежащими в основании.
Я согласен, что это технология. Как и ракетостроение. Но -- возвращаясь к теме -- это никак не отменяет необходимости использовать адекватные инструменты. Либо иметь геморой.

Понимаете технология появляется перед появлением науки. Технология измерения земельных наделов предшествовала появлению геометрии, алхимия предшествовала появлению химии.
То, что технологии программирования уже существуют не означает, что есть уже какая-то наука о программировании. Вам вообще не кажется странным, что при наличии какой-то там науки о программировании, никаких научнообоснованных доказательств, того что операционная система W лучше чем операционная система L, D или Q, нет.
Вы лично можете научно обосновать необходимость использования указателей в языках програмирования? С точки зрения той самой науки о программировании.
Название: На чем пишется софт для КА?
Отправлено: sychbird от 02.06.2009 11:14:55
Цитировать
ЦитироватьЯ лично сомневаюсь, можно ли отнести, гигантский опыт   и знания, накопленные в теории программирования, к области науки.
Интересно, на чём базируются ваши сомнения? Информатика это несомненно наука, просто новая. Но зато очень обьёмная и богатая.
Есть такой в общем-то бюрократической природы документ, перечень специальностей, по которым присуждаются ученые степени ВАК. Лет пять тому назад, информатика входилав в него в качестве филисофской дисциплины. :D  
Я соглаен, что это аргумент не шибко солидный. Но он в некоторой степени отражает неустановившийся окончательно взгляд на предмет изучения информатики.
 Термин Computer Science, насколько мне известно, объединяет в большей степени знания в области архитектуры специализированных типов процессоров,  вычислительных комплексов и вычислительных сетей. Есть отдельные подразделы, объединяемые вроде бы термином technology? занимающиеся больше ороганизацией типов сервисов, чем собственно технологией программирования.

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

Проблемы искуственного интелекта скорее всего будут выделены в отдельную дисциплину.
Название: На чем пишется софт для КА?
Отправлено: sychbird от 02.06.2009 11:30:43
В качестве справки:

Информатика как фундаментальная наука занимается разработкой методологии создания информационного обеспечения процессов управления любыми объектами на базе компьютерных информационных систем. В Европе можно выделить следующие основные научные направления в области информатики: разработка сетевой структуры, компьютерно-интегрированные производства, экономическая и медицинская информатика, информатика социального страхования и окружающей среды, профессиональные информационные системы.

Информатика как прикладная дисциплина занимается:

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

Задачи информатики состоят в следующем:

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

http://www.rusedu.info/Informatika.html
Название: На чем пишется софт для КА?
Отправлено: KBOB от 02.06.2009 09:08:20
Цитировать
ЦитироватьВам вообще не кажется странным, что при наличии какой-то там науки о программировании, никаких научнообоснованных доказательств, того что операционная система W лучше чем операционная система L, D или Q, нет.
А какая наука вообще отвечает на такие вопросы? Это химия штоль может доказать что элемент O лучше чем Na или Pb???

Химия может ответить на вопрос какой растворитель лучше растворяет, какой окислитель лучше окисляет причем вполне объективно.
Название: На чем пишется софт для КА?
Отправлено: Not от 02.06.2009 23:33:07
ЦитироватьТермин Computer Science, насколько мне известно, объединяет в большей степени знания в области архитектуры специализированных типов процессоров,  вычислительных комплексов и вычислительных сетей. Есть отдельные подразделы, объединяемые вроде бы термином technology? занимающиеся больше ороганизацией типов сервисов, чем собственно технологией программирования.
Вообще говоря не только архитектура, процессоры и т.д.

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

И многое, многое другое, все то, что формирует дисциплину computer science.
Название: На чем пишется софт для КА?
Отправлено: sychbird от 02.06.2009 14:27:10
Цитировать
ЦитироватьТермин Computer Science, насколько мне известно, объединяет в большей степени знания в области архитектуры специализированных типов процессоров,  вычислительных комплексов и вычислительных сетей. Есть отдельные подразделы, объединяемые вроде бы термином technology? занимающиеся больше ороганизацией типов сервисов, чем собственно технологией программирования.
Вообще говоря не только архитектура, процессоры и т.д.

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

И многое, многое другое, все то, что формирует дисциплину computer science.
Ну да, я не возражаю. Я больше акцентировал внимание, на тот момент, что полноценного разделения всего комплекса междесциплинарных проблемм теории и практики программирования еще не произошло на данный момент времени.
И в термин "информатика", о котором говорил eos? в европейском понимании содержания этой дисциплины большая часть перечисленного Вами не входит.

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

В этом смысле я область высоких технологий ставлю выше, чем собственно научное знание. Она всегда идет впереди научной сферы. Фантазия(в смысле изобретатательства и искуства  совершенствования неких процедур  в духовной или практической деятельности) всегда более креативна, чем рутинное архивирование и первичное обобщение, свойственное научной сфере.
Название: На чем пишется софт для КА?
Отправлено: yos от 02.06.2009 20:52:50
ЦитироватьВы лично можете научно обосновать необходимость использования указателей в языках програмирования? С точки зрения той самой науки о программировании.
Конечно, я могу научно обосновать необходимость использования указателей. Но судя по вашим репликам (про политические игры выше) вы или шутите-издеваетесь, либо научное обьяснение будет вам непонятно.
Название: На чем пишется софт для КА?
Отправлено: yos от 02.06.2009 20:54:27
ЦитироватьТермин Computer Science, насколько мне известно, объединяет в большей степени знания в области архитектуры специализированных типов процессоров,  вычислительных комплексов и вычислительных сетей
Это абсолютно не так! "Компьютерные науки" это как раз то, что перечислил выше Not.

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

И вообще, ситуация в точности наоборот и не так, как некоторые себе предствавляют. Это вот в Украине, к примеру, учиться на "программиста" это означает тупо зубрить языки программирования, компьютерные сети, устройтсво компьютеров и другие, довольно устаревшие и не очень нужные в современности дисциплины. Только в лучших учебных заведениях учебная программа содержит элементы настоящей науки информатики и предметов, которые перечислил Not!

А вообще то у нас от "Европ" в этом смысле серьёзное отставание. Во-первых в науке, во-вторых там уже 40 лет существоует настоящий рынок и настоящая отрасль ПО. Этого в совке не было и круг замыкается. Хотя многие, наверное, в это не поверят. Я сам в молодые годы посмеиваясь думал что мы самые "крутые програмёры" в мире. :lol: А потом увидел мир...
Название: На чем пишется софт для КА?
Отправлено: yos от 02.06.2009 21:13:20
ЦитироватьЯ вообще склонен все, что не покрывается целями типизации и индуктивно-дедуктивных предсказаний на основе  больших массивов фактологических, или подвергнутых  теоретическому обобщению данных не включать в понятие научное знание. А относить к области высоких технологий, где значение идивидуальных особенностей личностных  интелектов,   оперирующих  данными с целью формирования новых процессов и устройств, намного выше, чем в научной сфере.
Там гораздо больше  функционирующих собирателей и хранителей данных по отношению к числу индвидуальностей, формирующих эпохальные обобшения.

В этом смысле я область высоких технологий ставлю выше, чем собственно научное знание. Она всегда идет впереди научной сферы. Фантазия(в смысле изобретатательства и искуства  совершенствования неких процедур  в духовной или практической деятельности) всегда более креативна, чем рутинное архивирование и первичное обобщение, свойственное научной сфере.
Не хотелось бы начинать дискуссию о науке. (Когда-то мне нравился предмет философия науки...), но скажу только, что в "Европах", о которых мы начали, все, как вы говорите, технологии кропотливо научными методами, а не талантом-везухой людей, разрабатываются в университетах, а потом, разнымит путями взаимодействия науки и промышленности, которые нам сложно вообразить, попадают в предприятия и коммерциализируются.
И вообще, если бы вы могли познакомиться с направлениями информатики, мировой научной литературой по информатике, если бы знали, сколько проходит разных конференций, сколько есть учёных, какие есть премии, как работают и над чем работают университеты (не наши и ваши отсталые), что за границей изучать информатику можно на разный уровнях -- от среднего специального, до высшего образования и насколько это разные "информатики", то я уверен, что тогда бы у вас не было сомнений, что это настоящая наука. Но для этого нужно было бы... стать инженером ПО, проучившись для этого 5 лет в нужном месте.  :D
Название: На чем пишется софт для КА?
Отправлено: Fakir от 02.06.2009 21:27:49
Цитироватьуниверситеты (не наши и ваши отсталые),

Сэр, вообще-то за подобные категоричные обобщения иногда и в торец можно ;)

"За базар ответите?"

Что вот-де, отсталое заведение, Институт Прикладной Математики им. Келдыша, или там кафедры ВМК МГУ, и т.п., и что любой университет, скажем, города Бремена или Марселя делает их как бог черепаху?
Название: На чем пишется софт для КА?
Отправлено: sychbird от 02.06.2009 20:32:25
Fields of computer science[/size]
As a discipline, computer science spans a range of topics from theoretical studies of algorithms and the limits of computation to the practical issues of implementing computing systems in hardware and software.[17][18] The Computer Sciences Accreditation Board (CSAB) – which is made up of representatives of the Association for Computing Machinery (ACM), the Institute of Electrical and Electronics Engineers Computer Society, and the Association for Information Systems – identifies four areas that it considers crucial to the discipline of computer science: theory of computation, algorithms and data structures, programming methodology and languages, and computer elements and architecture. In addition to these four areas, CSAB also identifies fields such as software engineering, artificial intelligence, computer networking and communication, database systems, parallel computation, distributed computation, computer-human interaction, computer graphics, operating systems, and numerical and symbolic computation as being important areas of computer science.[17]
http://en.wikipedia.org/wiki/Computer_science#Fields_of_computer_science

Из текста изложенного в указанной ссылке можно сделать следующую численную прикидку: 3/6 в пользу Вашего мнения, 2/6 в пользу моего. :) У меня было ощущение в пользу обратного соотношения - признаю ощибку. :cry:

относительно термина "информатика":

Today, the term information technology has ballooned to encompass many aspects of computing and technology, and the term has become very recognizable. The information technology umbrella can be quite large, covering many fields. IT professionals perform a variety of duties that range from installing applications to designing complex computer networks and information databases. A few of the duties that IT professionals perform may include data management, networking, engineering computer hardware, database and software design, as well as the management and administration of entire systems.
http://en.wikipedia.org/wiki/Information_technology

Не стоит абсолютизировать Ваш личный европейский опыт (Если бы Вы могли.....) А откуда уверенность, что не могли?  :P   :)
Название: На чем пишется софт для КА?
Отправлено: yos от 02.06.2009 21:35:16
Цитировать
Цитироватьуниверситеты (не наши и ваши отсталые),

Сэр, вообще-то за подобные обобщения иногда и в торец можно ;)

"За базар ответите?"

Что вот-де, отсталое заведение, Институт Прикладной Математики им. Келдыша, или там кафедры ВМК МГУ, и т.п., и что любой университет, скажем, города Бремена или Марселя делает их как бог черепаху?
Это не меняет сути. Любой средний университет там "делает" средний университет у вас и у нас, с большим отставанием. Можно смело предположить, что такой же результат будет в сравнении "важных" университетов.
Иметь 2-3 даже 4 хороших университета недостаточно на фоне их общего количества. Не знаю, как у вас в России, но у нас идиоты решили, что все институты должны массово стать университетами. Конечно, науки там было раньше не очень много (на то и институты), а сейчас они ещё дальше деградировали, из-за денег, из-за коррупции из-за много чего...
И вообще, тема не об этом. Высшее образование и наука отстают. Сильно. Точка. Не согласны -- мечтайте дальше. Я тоже хотел-бы, но уже не получается.
Название: На чем пишется софт для КА?
Отправлено: Fakir от 02.06.2009 21:38:44
ЦитироватьИ вообще, тема не об этом. Высшее образование и наука отстают. Сильно. Точка. Не согласны -- мечтайте дальше. Я тоже хотел-бы, но уже не получается.

Я не знаю, как там у вас на Украине, но за все вузы РФ не расписывайтесь, ок?
Вот когда пощупаете на зуб МГУ, Физтех, МИФИ, новосибирские заведения (а также очень желательно и НИИ, являющиеся обычно базовыми выпускающими кафедрами), как следует будете понимать о чём говорите - вот тогда и получите какое-то право делать подобные заявления.
А пока в глупом виде себя выставляете.


Про средние ничего не знаю. Речь за топ.
Название: На чем пишется софт для КА?
Отправлено: yos от 02.06.2009 21:40:01
ЦитироватьToday, the term information technology has ballooned to encompass many aspects of computing and technology, and the term has become very recognizable. The information technology umbrella can be quite large, covering many fields. IT professionals perform a variety of duties that range from installing applications to designing complex computer networks and information databases. A few of the duties that IT professionals perform may include data management, networking, engineering computer hardware, database and software design, as well as the management and administration of entire systems.
http://en.wikipedia.org/wiki/Information_technology
А вот ИТ, это уже чуть дальше от науки и даже "серьёзного" программирования и ближе к интернету/сайтам, цифровой связи, сетям, автоматизации и т.д. и соотвественным коммерческим областям. Но это субьективно.
Название: На чем пишется софт для КА?
Отправлено: yos от 02.06.2009 21:46:12
ЦитироватьПросто когда 5% инженеров (из МГУ и т.д.) имеют хорошие современные знания, то это плохо и принимать во внимание только лучшие уч. заведения это самообман.
Вы не видите в этом проблемы и будете твердить о том, кто и что придумал водиночку?

А ещё есть такая вещь как статистика и наблюдения. На фоне мировых достижений уч. заведения которые вы защищаете не блещут реальными достижениями. А в средних университетах "там", всякие модные вещи, о которых у вас там только "базар", типа пресловутой нанотехники, уже давно стали обыденными. Это в средних университетах. Так как там дела с нанотехникой в России, которая имеет МГУ и прочие?..

А насчёт Интела, так это не о чём не говорит. Или один пример доказывает общее? Вон на Атласе РД-180, и что?
Название: На чем пишется софт для КА?
Отправлено: Fakir от 02.06.2009 22:02:52
Цитироватьyos пишет:
 Среднее это главное. Потому что хорошее всегда есть, но его мало и оно не задаёт тенденцию

Да-да. Нуль изобрел миллион средних индусов :) Уравнения Максвелла открыли тысячи средних британцев.

А главное - ваш тезис звучал не как "отсталые средние университеты", а "ваши отсталые университеты". Фактически квантор общности употреблён.
Любому человеку, претендующему на научность подхода, подобные высказывания просто обязаны быть органически противны ;)

ЦитироватьИ не факт, что МГУ и прочие такие уж серьёзные заведения.

"Пастернака не читал, но осуждаю".

Идите на сайты соотв. факультетов и хоть программы соотв. групп, специлизирующихся в информатике и т.п. почитайте, что ли.
Там, ФРТК или ФУПМ МФТИ, ВМК МГУ.

Можете отписать им, что они все дураки и не лечатся :)
А заодно в Интел - пущай свои программы взаимодействия с  кафедрами закрывает, фигли на эту отсталость время тратить?!

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

ЦитироватьЯ ни за что не расписываюсь и за "базар" отвечать не буду, т.к. просто излагаю своё мнение.

Видите ли, цена мнению, не основанному на знаниях и опыте - копейка в базарный день.
Название: На чем пишется софт для КА?
Отправлено: yos от 02.06.2009 22:17:07
ЦитироватьНе стоит абсолютизировать Ваш личный европейский опыт (Если бы Вы могли.....) А откуда уверенность, что не могли?  :P   :)
Извините, если неправильно выразился. Я исхожу из того, что вы в возрасте когда уже не учатся, а времени, чтобы хорошо познакомится со всем перечисленым нету. Я не имел в виду, что у вас не получилось бы.
Название: На чем пишется софт для КА?
Отправлено: yos от 02.06.2009 22:19:26
(Что-то не туда попало сообщение)

ЦитироватьПросто когда 5% инженеров (из МГУ и т.д.) имеют хорошие современные знания, то это плохо и принимать во внимание только лучшие уч. заведения это самообман.
Вы не видите в этом проблемы и будете твердить о том, кто и что придумал водиночку?

А ещё есть такая вещь как статистика и наблюдения. На фоне мировых достижений уч. заведения которые вы защищаете не блещут реальными достижениями. А в средних университетах "там", всякие модные вещи, о которых у вас там только "базар", типа пресловутой нанотехники, уже давно стали обыденными. Это в средних университетах. Так как там дела с нанотехникой в России, которая имеет МГУ и прочие?.. У нас, кстати, тоже самое, я не шовинист, не подумайте.

А насчёт Интела, так это не о чём не говорит. Или один пример доказывает общее? Вон на Атласе РД-180, и что?
Название: На чем пишется софт для КА?
Отправлено: Вадим Семенов от 03.06.2009 01:43:07
ЦитироватьДа-да. Нуль изобрел миллион средних индусов :) Уравнения Максвелла открыли тысячи средних британцев.
Если речь идет не о чистой науке, а о технологиях, то массовый уровень очень важен. Для ракетостроения одного выдающегося Королева недостаточно, нужны еще тысячи безвестных толковых инженеров, делающих свою часть работы. А если они уже не столь толковые, если не сказать хуже, то даже Королев в одиночку ничего не сделает.

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

ЦитироватьА товарищ (теперь уже мистер) Пентковский, канеш, лох лохом, ну что взять с продукта отсталого образования, кроме третьего Пентиума...
Мистер Пентковский закончил МФТИ в каком году? В 1970? Так то было в другой стране и с другими вузами. Вы про какие вузы и каких выпускников пишете? Про тех, которые "тогда" или тех, которые "сейчас"?
Название: На чем пишется софт для КА?
Отправлено: jettero от 03.06.2009 14:23:13
ЦитироватьА вообще то у нас от "Европ" в этом смысле серьёзное отставание. Во-первых в науке, во-вторых там уже 40 лет существоует настоящий рынок и настоящая отрасль ПО. Этого в совке не было и круг замыкается. Хотя многие, наверное, в это не поверят. Я сам в молодые годы посмеиваясь думал что мы самые "крутые програмёры" в мире. :lol: А потом увидел мир...
Согласен что мы отстаем в ИТ. Но в век интернета все желающие могут изучать все что им интересно. Например MIT выкладывает все курсовые материалы в онлайне http://ocw.mit.edu/OcwWeb/web/courses/courses/index.htm
А вот конкретно и Computer Science http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/index.htm
Вот все собираюсь выделить время и поучиться по их материалам, диплом конечно не дадут, но все же...  :)

Кстати, они выкладывают не просто так, от нечего делать, а считают своей миссией поднимать уровень образования во всем мире, поскольку считают себя лучшим ВУЗом в мире. И эти материалы в основном предназначены для преподов в других странах, чтобы помогать им в работе.
Хороший контраст с нашим подходом, "у нас лучшее образование, завидуйте нам"  :D
Совок умрет еще не скоро...
Название: На чем пишется софт для КА?
Отправлено: jettero от 03.06.2009 14:49:42
PS А по теме форума, вот тут курсы с кафедры Аэронавтика и астронавтика.
http://ocw.mit.edu/OcwWeb/Aeronautics-and-Astronautics/index.htm
там и про разработку софта для КА несколько курсов есть.
Название: На чем пишется софт для КА?
Отправлено: KBOB от 03.06.2009 12:12:13
Цитировать
ЦитироватьА вообще то у нас от "Европ" в этом смысле серьёзное отставание. Во-первых в науке, во-вторых там уже 40 лет существоует настоящий рынок и настоящая отрасль ПО. Этого в совке не было и круг замыкается. Хотя многие, наверное, в это не поверят. Я сам в молодые годы посмеиваясь думал что мы самые "крутые програмёры" в мире. :lol: А потом увидел мир...
Согласен что мы отстаем в ИТ. Но в век интернета все желающие могут изучать все что им интересно. Например MIT выкладывает все курсовые материалы в онлайне http://ocw.mit.edu/OcwWeb/web/courses/courses/index.htm
А вот конкретно и Computer Science http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/index.htm
Вот все собираюсь выделить время и поучиться по их материалам, диплом конечно не дадут, но все же...  :)

Кстати, они выкладывают не просто так, от нечего делать, а считают своей миссией поднимать уровень образования во всем мире, поскольку считают себя лучшим ВУЗом в мире. И эти материалы в основном предназначены для преподов в других странах, чтобы помогать им в работе.
Хороший контраст с нашим подходом, "у нас лучшее образование, завидуйте нам"  :D
Совок умрет еще не скоро...

Вот неплохой курс!
http://ocw.mit.edu/OcwWeb/Mathematics/18-098January--IAP--2008/CourseHome/index.htm
Название: На чем пишется софт для КА?
Отправлено: vekazak от 03.06.2009 17:40:54
Для РФ - на русском языке. Материалы по логике управления и контроля. На основе МЛУ рисуются алгоритмы и програмы в кодах БЦВМ, или где память неограничена на СИ.
Название: На чем пишется софт для КА?
Отправлено: TAU от 05.06.2009 00:20:33
Боже мой, какая тема!
А я-то ее поначалу "прошляпил".

Много правильного тут уже написали Not, yos (за исключением бреда об университетах), и vekazak.

Итак, что вспомню из попавшегося на предыдущих страницах:
1. Да, в НПО ПМ пишут на Модуле-2 (и не только). Кое-где - в основном на ассемблере.
2. На МКС операционной системой в основном служит VxWorks. Кое-где используются специальные отечественные ОС реального времени.
3. Почему создали и использовали для "Спэйс Шаттлов" специализированный HAL/S - потому что на нем удобнее писать, он проблемно-ориентированный, в частности, встроены операции реального времени, и векторные операции, важные для, например, навигационных расчетов.
4. Искусный программист на ассемблере, как правило, все же пишет более оптимальные программы, нежели самый что ни на есть оптимизирующий компилятор генерирует.
5. Предметная область управления КА действительно допускает применение формальных методов верификации программ, и даже их автоматизированный синтез - и это является одним из важных и перспективных направлений исследований в мире.
6. К программам управления КА формализм троек Хоара без модификации неприменим. Дело в том, что управляющие алгоритмы реального времени имеют принципиально иную семантику, нежели алгоритмы вычислительного типа, для которых важно преобразование входных данных в выходные. При управлении КА важно обеспечить нужные управляющие воздействия в требуемое время, реализующие корректную логику управления бортовыми системами в зависимости от наличия тех или иных условий, отражающих текущую ситуацию на борту и в окружающей среде. Именно в этом кроется высокий потенциал специализированных языков в данной предметной области.
7. Визуальные (графические) языки действительно перспективны в программировании в отрасли, и ГРАФИТ-ФЛОКС, используемый в НПЦ АП имени Пилюгина - лишь одно из подтверждений.

Если еще есть вопросы - задавайте!
Название: На чем пишется софт для КА?
Отправлено: TAU от 05.06.2009 00:39:02
Добавлю еще кое-что.

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

В то же время, выбор языка программирования тоже весьма существенен. В некоторых языках некоторые ошибки легче совершить, чем в других. С/C++ с этой точки зрения - далеко не лучший выбор, опороченная незаслуженно тут Модула-2 значительно более уместна.

Идеальный вариант, конечно - автоматическая генерация программы и документации на нее, гарантированно соответстующей спецификации (при условии, конечно, непротиворечивой и правильной спецификации - а это отдельная важная проблема!). Если программа эта - типовая, то задача предствляется разрешимой и без создания "ИИ в сильном смысле".
Название: На чем пишется софт для КА?
Отправлено: KBOB от 05.06.2009 01:27:36
ЦитироватьДобавлю еще кое-что.

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

В то же время, выбор языка программирования тоже весьма существенен. В некоторых языках некоторые ошибки легче совершить, чем в других. С/C++ с этой точки зрения - далеко не лучший выбор, опороченная незаслуженно тут Модула-2 значительно более уместна.

Идеальный вариант, конечно - автоматическая генерация программы и документации на нее, гарантированно соответстующей спецификации (при условии, конечно, непротиворечивой и правильной спецификации - а это отдельная важная проблема!). Если программа эта - типовая, то задача предствляется разрешимой и без создания "ИИ в сильном смысле".
Вот вам спецификация: программа должна скалдывать два натуральных числа А и B.
Название: На чем пишется софт для КА?
Отправлено: Александр Куприянов от 05.06.2009 10:05:42
ЦитироватьБоже мой, какая тема!
А я-то ее поначалу "прошляпил".

Много правильного тут уже написали Not, yos (за исключением бреда об университетах), и vekazak.

Итак, что вспомню из попавшегося на предыдущих страницах:
1. Да, в НПО ПМ пишут на Модуле-2 (и не только). Кое-где - в основном на ассемблере.
2. На МКС операционной системой в основном служит VxWorks. Кое-где используются специальные отечественные ОС реального времени.
3. Почему создали и использовали для "Спэйс Шаттлов" специализированный HAL/S - потому что на нем удобнее писать, он проблемно-ориентированный, в частности, встроены операции реального времени, и векторные операции, важные для, например, навигационных расчетов.
4. Искусный программист на ассемблере, как правило, все же пишет более оптимальные программы, нежели самый что ни на есть оптимизирующий компилятор генерирует.
5. Предметная область управления КА действительно допускает применение формальных методов верификации программ, и даже их автоматизированный синтез - и это является одним из важных и перспективных направлений исследований в мире.
6. К программам управления КА формализм троек Хоара без модификации неприменим. Дело в том, что управляющие алгоритмы реального времени имеют принципиально иную семантику, нежели алгоритмы вычислительного типа, для которых важно преобразование входных данных в выходные. При управлении КА важно обеспечить нужные управляющие воздействия в требуемое время, реализующие корректную логику управления бортовыми системами в зависимости от наличия тех или иных условий, отражающих текущую ситуацию на борту и в окружающей среде. Именно в этом кроется высокий потенциал специализированных языков в данной предметной области.
7. Визуальные (графические) языки действительно перспективны в программировании в отрасли, и ГРАФИТ-ФЛОКС, используемый в НПЦ АП имени Пилюгина - лишь одно из подтверждений.

Если еще есть вопросы - задавайте!



Интересное "включение", даже менторский тон почти и не раздражает, за исключением нарочито цепляющих - со словом бред,... существовала некогда оценка "БСК" ( бред сивой кобылы) - и некоторые педагоги ее ставили... :)
Название: На чем пишется софт для КА?
Отправлено: KBOB от 05.06.2009 07:24:55
ЦитироватьБоже мой, какая тема!
А я-то ее поначалу "прошляпил".

Много правильного тут уже написали Not, yos (за исключением бреда об университетах), и vekazak.

Итак, что вспомню из попавшегося на предыдущих страницах:
1. Да, в НПО ПМ пишут на Модуле-2 (и не только). Кое-где - в основном на ассемблере.
2. На МКС операционной системой в основном служит VxWorks. Кое-где используются специальные отечественные ОС реального времени.
3. Почему создали и использовали для "Спэйс Шаттлов" специализированный HAL/S - потому что на нем удобнее писать, он проблемно-ориентированный, в частности, встроены операции реального времени, и векторные операции, важные для, например, навигационных расчетов.
4. Искусный программист на ассемблере, как правило, все же пишет более оптимальные программы, нежели самый что ни на есть оптимизирующий компилятор генерирует.
5. Предметная область управления КА действительно допускает применение формальных методов верификации программ, и даже их автоматизированный синтез - и это является одним из важных и перспективных направлений исследований в мире.
6. К программам управления КА формализм троек Хоара без модификации неприменим. Дело в том, что управляющие алгоритмы реального времени имеют принципиально иную семантику, нежели алгоритмы вычислительного типа, для которых важно преобразование входных данных в выходные. При управлении КА важно обеспечить нужные управляющие воздействия в требуемое время, реализующие корректную логику управления бортовыми системами в зависимости от наличия тех или иных условий, отражающих текущую ситуацию на борту и в окружающей среде. Именно в этом кроется высокий потенциал специализированных языков в данной предметной области.
7. Визуальные (графические) языки действительно перспективны в программировании в отрасли, и ГРАФИТ-ФЛОКС, используемый в НПЦ АП имени Пилюгина - лишь одно из подтверждений.

Если еще есть вопросы - задавайте!
О! сразу и незаметил :shock:, мда. Стебаться мне нужно прекращать.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 06.06.2009 19:09:42
Цитировать
ЦитироватьБоже мой, какая тема!
А я-то ее поначалу "прошляпил".

Много правильного тут уже написали Not, yos (за исключением бреда об университетах), и vekazak.

Итак, что вспомню из попавшегося на предыдущих страницах:
1. Да, в НПО ПМ пишут на Модуле-2 (и не только). Кое-где - в основном на ассемблере.
2. На МКС операционной системой в основном служит VxWorks. Кое-где используются специальные отечественные ОС реального времени.
3. Почему создали и использовали для "Спэйс Шаттлов" специализированный HAL/S - потому что на нем удобнее писать, он проблемно-ориентированный, в частности, встроены операции реального времени, и векторные операции, важные для, например, навигационных расчетов.
4. Искусный программист на ассемблере, как правило, все же пишет более оптимальные программы, нежели самый что ни на есть оптимизирующий компилятор генерирует.
5. Предметная область управления КА действительно допускает применение формальных методов верификации программ, и даже их автоматизированный синтез - и это является одним из важных и перспективных направлений исследований в мире.
6. К программам управления КА формализм троек Хоара без модификации неприменим. Дело в том, что управляющие алгоритмы реального времени имеют принципиально иную семантику, нежели алгоритмы вычислительного типа, для которых важно преобразование входных данных в выходные. При управлении КА важно обеспечить нужные управляющие воздействия в требуемое время, реализующие корректную логику управления бортовыми системами в зависимости от наличия тех или иных условий, отражающих текущую ситуацию на борту и в окружающей среде. Именно в этом кроется высокий потенциал специализированных языков в данной предметной области.
7. Визуальные (графические) языки действительно перспективны в программировании в отрасли, и ГРАФИТ-ФЛОКС, используемый в НПЦ АП имени Пилюгина - лишь одно из подтверждений.

Если еще есть вопросы - задавайте!
О! сразу и незаметил :shock:, мда. Стебаться мне нужно прекращать.

Хочу расширить тему, а на чем этот софт собственно крутится?
Название: На чем пишется софт для КА?
Отправлено: KBOB от 06.06.2009 17:02:30
Выступление раасказывающе о мемах мемах (http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%BC) единицах культурной информации, распространяемых от одного человека к другому посредством имитации, научения и др.
Видео youtube с субтитрами на русском языке.
часть 1 (http://www.youtube.com/watch?v=91m9ZVotsCA)
часть 2 (http://www.youtube.com/watch?v=RJe725WJLPA)

Подобно генам, мемы — это репликаторы (англ. replicators), то есть объекты, которые копируют сами себя. Для мемов выживание зависит от наличия, по крайней мере, одного носителя, а воспроизводство зависит от наличия того носителя, который пытается распространить сущность мема. Информационное содержание конкретного мема влияет на ту вероятность, с которой он будет скопирован, производя свой оптимон. Мемы могут видоизменяться (комбинироваться или разделяться), чтобы формировать новые мемы. Они участвуют в борьбе друг с другом за ресурсы (умы людей), и, в результате, подвергаются естественному отбору.

В выступлении рассказыватся и так называемых т-мемах (технологических мемах), требующих для своей репликации дополнительных технологий - письменности, радио, телевидения, интернет.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 07.06.2009 01:31:21
Посмотрел, послушал, интересно... . Все конечно правильно, слов нет. Одно из виду упустили - все мы гости на этой планете, и царям и рабам отмерено поровну. Ну и кем бы стал homo sapience без этих самих memo?
Название: На чем пишется софт для КА?
Отправлено: Дмитрий Виницкий от 07.06.2009 01:50:12
ЦитироватьВыступление раасказывающе о мемах мемах (http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%BC) единицах культурной информации, распространяемых от одного человека к другому посредством имитации, научения и др.
Видео youtube с субтитрами на русском языке.
часть 1 (http://www.youtube.com/watch?v=91m9ZVotsCA)
часть 2 (http://www.youtube.com/watch?v=RJe725WJLPA)

Подобно генам, мемы — это репликаторы (англ. replicators), то есть объекты, которые копируют сами себя. Для мемов выживание зависит от наличия, по крайней мере, одного носителя, а воспроизводство зависит от наличия того носителя, который пытается распространить сущность мема. Информационное содержание конкретного мема влияет на ту вероятность, с которой он будет скопирован, производя свой оптимон. Мемы могут видоизменяться (комбинироваться или разделяться), чтобы формировать новые мемы. Они участвуют в борьбе друг с другом за ресурсы (умы людей), и, в результате, подвергаются естественному отбору.

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

Санитары!!! :D
Название: На чем пишется софт для КА?
Отправлено: TAU от 07.06.2009 01:37:05
дубль
Название: На чем пишется софт для КА?
Отправлено: TAU от 07.06.2009 01:38:12
дубль
Название: На чем пишется софт для КА?
Отправлено: TAU от 07.06.2009 01:40:02
дубль
Название: На чем пишется софт для КА?
Отправлено: TAU от 07.06.2009 01:40:50
дубль
Название: На чем пишется софт для КА?
Отправлено: TAU от 07.06.2009 01:41:05
ЦитироватьХочу расширить тему, а на чем этот софт собственно крутится?

БЦВМ:
Аргон (http://avt.miem.edu.ru/Kafedra/Argon/argon.html)
Салют (http://www.buran.ru/htm/gud%2032.htm)
С-530 (http://www.novosti-kosmonavtiki.ru/phpBB2/viewtopic.php?t=3621&)
Бисер (http://www.ihst.ru/~akm/17t31)
Название: На чем пишется софт для КА?
Отправлено: KBOB от 07.06.2009 04:36:47
Цитировать
ЦитироватьВыступление раасказывающе о мемах мемах (http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%BC) единицах культурной информации, распространяемых от одного человека к другому посредством имитации, научения и др.
Видео youtube с субтитрами на русском языке.
часть 1 (http://www.youtube.com/watch?v=91m9ZVotsCA)
часть 2 (http://www.youtube.com/watch?v=RJe725WJLPA)

Подобно генам, мемы — это репликаторы (англ. replicators), то есть объекты, которые копируют сами себя. Для мемов выживание зависит от наличия, по крайней мере, одного носителя, а воспроизводство зависит от наличия того носителя, который пытается распространить сущность мема. Информационное содержание конкретного мема влияет на ту вероятность, с которой он будет скопирован, производя свой оптимон. Мемы могут видоизменяться (комбинироваться или разделяться), чтобы формировать новые мемы. Они участвуют в борьбе друг с другом за ресурсы (умы людей), и, в результате, подвергаются естественному отбору.

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

Санитары!!! :D

Я не согласен со всем что говорится в выступлении, но идея интересная.
Тем более генетическое программирование существует.
http://algolist.manual.ru/ai/ga/intro.php
Название: На чем пишется софт для КА?
Отправлено: ааа от 07.06.2009 09:14:42
ЦитироватьСанитары!!! :D
Странно, что вам так поплохело от того, что среди идей и понятий тоже существует естественный отбор. :)
Название: На чем пишется софт для КА?
Отправлено: jettero от 07.06.2009 10:53:44
ЦитироватьВот неплохой курс!
http://ocw.mit.edu/OcwWeb/Mathematics/18-098January--IAP--2008/CourseHome/index.htm
Да, прикольно уметь на пальцах рассчитывать аэродинамику падающего конуса :D
Название: На чем пишется софт для КА?
Отправлено: jettero от 07.06.2009 10:54:12
дубль
Название: На чем пишется софт для КА?
Отправлено: jettero от 07.06.2009 10:55:36
дубль
Название: На чем пишется софт для КА?
Отправлено: jettero от 07.06.2009 10:57:32
дубль
Название: На чем пишется софт для КА?
Отправлено: sychbird от 07.06.2009 11:03:37
Cтоит только приложить понятие т-мема к проблемам воспроизводства технологии НК-33 или РД-120 и сразу становиться понятно, что санитары не причем. Но давайте будем снисходительны к недавнему юбиляру. :)
А вообще социогенетика уже лет как 15 является линией фронтира в социальных дисциплинах, и у нас здесь намечается такой же провал, как и в IT- науках. Cобственно  отечественные школы этого направления уже вполне сфомировались, но выхода в массовое образования пока не имеют. Там по прежнему правят бал лишь слегка подкрасившие перышки православием маркситологи.

Пардон за офтоп, эти вопросы явно не для этой темы.
Название: На чем пишется софт для КА?
Отправлено: TAU от 07.06.2009 11:05:25
дубль
Название: На чем пишется софт для КА?
Отправлено: TAU от 07.06.2009 14:05:02
БЦВМ КА:
Аргон (http://avt.miem.edu.ru/Kafedra/Argon/argon.html)
Салют (http://www.buran.ru/htm/gud%2032.htm)
С-530 (http://www.novosti-kosmonavtiki.ru/phpBB2/viewtopic.php?t=3621&)
Бисер (http://www.ihst.ru/~akm/17t31)
Название: На чем пишется софт для КА?
Отправлено: jettero от 07.06.2009 15:22:27
дубль
Название: На чем пишется софт для КА?
Отправлено: TAU от 07.06.2009 21:34:31
БЦВМ КА:
Аргон (http://avt.miem.edu.ru/Kafedra/Argon/argon.html)
Салют (http://www.buran.ru/htm/gud%2032.htm)
С-530 (http://www.novosti-kosmonavtiki.ru/phpBB2/viewtopic.php?t=3621&)
Бисер (http://www.ihst.ru/~akm/17t31)
Название: На чем пишется софт для КА?
Отправлено: kopiev от 07.06.2009 23:22:28
Очевидно: Forth[/color] (http://ru.wikipedia.org/wiki/Forth), Ассемблер[/color] (http://ru.wikipedia.org/wiki/Assembler), Си(язык программирования)[/color] (http://ru.wikipedia.org/wiki/%D0%A1%D0%B8). Почему никто не вспомнил Ада[/color] (http://ru.wikipedia.org/wiki/Ada)? Он кажется специально для этого разрабатывался. :cry:
Название: На чем пишется софт для КА?
Отправлено: bsdv от 08.06.2009 17:08:45
Кое что по сабжу...

Automatic code and test generation

 
The advantage of having a model based representation of the requirements or the design of a system is that it is very often possible to derive some code from the models automatically, and to derive some tests under given conditions.
 
 
Automatic code generation
 
Code can be generated for:
HOOD models; if the Object Description Skeleton is filled with the appropriate pseudo code, then the tools can translate it into flight code
UML models, which generate the code skeleton. Some tools assist in editing the code in a graphical way, the code is inserted automatically in the right place. Several tools ensure consistency of the code and the model (round trip engineering)
Behavioural models, where code has already been generated for the simulation, but specific code is generated for on-board use.
MatLab has code generators for C and Ada. They have been modified to be Ravenscar compatible (Margot project)
Telelogic Tau has a SDL-to-C code generator
Autocode requires a good definition of the system/software process, a deep knowledge of the autocoder, and a strong control of the software architecture, as indicated in the ESA guidelines.
 
 
Automatic test generation
 
Automatic test generation is another benefit derived from the existence of a model. The level of the model is important. It must be a model of the requirements. If tests are derived from the very same model from which code is derived, then the tests are testing the code generator. Tests must be derived from a high level model, which will be refined towards the autocode model.
An experiment has been performed with a B model of part of the ATV flight code, using the Leirios technology.


ftp://ftp.estec.esa.nl/pub/wm/wme/Web/AutotestBSSE2005.pdf
ftp://ftp.estec.esa.nl/pub/wm/wme/Web/Guidelines%20on%20the%20use%20of%20automatic%20code%20generation%201.0.PDF
Название: На чем пишется софт для КА?
Отправлено: TAU от 08.06.2009 17:06:44
ЦитироватьКое что по сабжу...

ftp://ftp.estec.esa.nl/pub/wm/wme/Web/AutotestBSSE2005.pdf
ftp://ftp.estec.esa.nl/pub/wm/wme/Web/Guidelines%20on%20the%20use%20of%20automatic%20code%20generation%201.0.PDF
Спасибо, очень интересно!

Да, мыслили люди в том же направлении... Фактически обосновывают наш подход  8)
Название: На чем пишется софт для КА?
Отправлено: Studento от 10.06.2009 13:32:41
С языками вроде понятно. А какие операционные системы используются на КА?
Только реального времени или встречаются аппараты скажем на Линуксе?
Название: На чем пишется софт для КА?
Отправлено: TAU от 10.06.2009 14:11:28
ЦитироватьС языками вроде понятно
вряд ли все ;-)

ЦитироватьА какие операционные системы используются на КА?Только реального времени или встречаются аппараты скажем на Линуксе?
Ну, сложно использовать для основных задач на борту ОС не реального времени.
Но есть среди них и "похожие" на Linux.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 10.06.2009 17:51:28
Вот например, как у них :D
http://www.ghs.com/products/rtos/integrity.html
http://www.ghs.com/products/RAD750_development.html
http://www.ghs.com/products/S950_development.html
http://www.ghs.com/products/RAD6000_development.html
Интересно, а что у нас? :D
Название: На чем пишется софт для КА?
Отправлено: TAU от 11.06.2009 14:11:43
ЦитироватьИнтересно, а что у нас? :D
Уточните вопрос
Название: На чем пишется софт для КА?
Отправлено: Pyhesty от 11.06.2009 15:18:20
Интересно, а военные КА летают под МСВС?
Название: На чем пишется софт для КА?
Отправлено: bsdv от 11.06.2009 17:14:59
Цитировать
ЦитироватьИнтересно, а что у нас? :D
Уточните вопрос

Какие RTOS в ходу, читал что для ГЛОНАСС есть отечественные разработки НИИ ПМ на основе Модула-2. На чем летают остальные - секрет за семью печатями. Могу предположить,  что это не QNx  или VxWorks. :D
Название: На чем пишется софт для КА?
Отправлено: jettero от 13.06.2009 12:29:37
Цитировать
Цитировать
ЦитироватьИнтересно, а что у нас? :D
Уточните вопрос

Какие RTOS в ходу, читал что для ГЛОНАСС есть отечественные разработки НИИ ПМ на основе Модула-2. На чем летают остальные - секрет за семью печатями. Могу предположить,  что это не QNx  или VxWorks. :D
Про отечественные RTOS не скажу, но когда я будучи студентом работал в лаборатории на кафедре, там для ЗРК софт писался под осью RTEMS. Правда сейчас точно не вспомню, был это эскпортный вариант ЗРК или отечественный. Если у RTEMS исходники открыты вполне могли писать и для себя.
Да, точно RTEMS (http://en.wikipedia.org/wiki/RTEMS) распространяется под GPL, значит исходники есть и скорее-всего эта ось стояла и на экспортном и на отечественном варианте ЗРК, а различие было в железках - на экспортном активно использовались ПЛИСЫ Xilinx. Было это все лет 15 назад.
Название: На чем пишется софт для КА?
Отправлено: TAU от 14.06.2009 00:52:31
ЦитироватьКакие RTOS в ходу, читал что для ГЛОНАСС есть отечественные разработки НИИ ПМ на основе Модула-2. На чем летают остальные - секрет за семью печатями. Могу предположить,  что это не QNx  или VxWorks. :D
Ну, где-то на нашем сегменте МКС точно VxWorks используется.

Кстати, по поводу Модулы-2 - не уверен, что в НПО ПМ именно операционная система на ней написана. Но в принципе этот язык используется.
Название: На чем пишется софт для КА?
Отправлено: Дмитрий Виницкий от 14.06.2009 02:05:54
Mars Pathfinder использовал VxWorks :wink:
Название: На чем пишется софт для КА?
Отправлено: Старый от 14.06.2009 09:43:32
Джентльмены, если кто знает - расскажите кем создавались авиационные БЦВМ "Орбита" и какова в целом история этого ряда и нынешняя его судьба?
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 14.06.2009 11:27:59
Цитироватькем создавались авиационные БЦВМ "Орбита"
Ленинградской "Электроавтоматикой". Может и еще где-нибудь.
Название: На чем пишется софт для КА?
Отправлено: Дмитрий Виницкий от 14.06.2009 11:29:08
http://chernykh.net/content/view/405/611/
Название: На чем пишется софт для КА?
Отправлено: Инженер проекта от 15.06.2009 18:26:58
ЦитироватьНа чем летают остальные - секрет за семью печатями.
А в чём собственно может состоять причина  особой секретности?
Название: На чем пишется софт для КА?
Отправлено: bsdv от 16.06.2009 00:55:46
Цитировать
ЦитироватьНа чем летают остальные - секрет за семью печатями.
А в чём собственно может состоять причина  особой секретности?

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

http://www.ihst.ru/~akm/17t31
http://www.rabota.ru/company119921.html
Название: На чем пишется софт для КА?
Отправлено: Not от 17.06.2009 18:48:54
Вообще написать ОС РВ для конкретного железа особой сложности не представляет. Все давно известно, бери и реализовывай готовые алгоритмы. Я сам когда-то написал небольшую ОС для навигационного приемника с картой, на заре появления оных. На все про все (включая драйверы) ушел год с небольшим. Команда же опытных разработчиков и быстрее справится. Сложности появляются когда нужно обеспечить совместимость с разными процессорами, обеспечить преемстсвенность и т.д. Но тоже вполне подъемно для развитой авиакосмической фирмы. Так что совсем необязательно гоняться за фирменными продуктами общего назначения.
Название: На чем пишется софт для КА?
Отправлено: Инженер проекта от 17.06.2009 07:29:53
ЦитироватьВообще написать ОС РВ для конкретного железа особой сложности не представляет.
Теоретически да, практически не всё так просто.

Проще использовать готовые ОСи.
Название: На чем пишется софт для КА?
Отправлено: Not от 17.06.2009 20:49:18
Цитировать
ЦитироватьВообще написать ОС РВ для конкретного железа особой сложности не представляет.
Теоретически да, практически не всё так просто.

Проще использовать готовые ОСи.
А что конкретно вас смущает? Я персонально писал ОС РВ, готов ответить на вопросы.
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 18.06.2009 08:22:49
ЦитироватьЯ персонально писал ОС РВ, готов ответить на вопросы.
А что именно Вы называете ОС РВ? Диспетчер прикладных задач? Управление "железом"?
Название: На чем пишется софт для КА?
Отправлено: Ghost505 от 18.06.2009 12:33:25
ЦитироватьА что конкретно вас смущает? Я персонально писал ОС РВ...
Да никаких проблем НАПИСАТЬ и даже пройти полный цикл производства и сдачи ХОРОШЕЙ и НАДЕЖНОЙ ОС нет. Только свисни - толпа програмеров набежит.  
Проблема в том, что нет ЗАКАЗА.
И не будет.
Объяснить, почему? Или сами уже догадались?
Название: На чем пишется софт для КА?
Отправлено: Александр Куприянов от 18.06.2009 13:50:00
Цитировать
ЦитироватьА что конкретно вас смущает? Я персонально писал ОС РВ...
Да никаких проблем НАПИСАТЬ и даже пройти полный цикл производства и сдачи ХОРОШЕЙ и НАДЕЖНОЙ ОС нет. Только свисни - толпа програмеров набежит.  
Проблема в том, что нет ЗАКАЗА.
И не будет.
Объяснить, почему? Или сами уже догадались?



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

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

В отличие от "национальной ОС", которая все же представляется, imho, "за гранью", - выглядит вполне здраво и не про "распил бабла", как помянутое потустороннее явление социально-политической (не-ИТ) жизни.
Название: На чем пишется софт для КА?
Отправлено: Ghost505 от 18.06.2009 15:09:55
ЦитироватьНу, исходя из дебатов по части "национальной ОС" реально внятная причина - Алкснис не знает об этой проблеме.

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

В отличие от "национальной ОС", которая все же представляется, imho, "за гранью", - выглядит вполне здраво и не про "распил бабла", как помянутое потустороннее явление социально-политической (не-ИТ) жизни.
Э-э-э, ничонепонял. О чем это Вы?  :shock:  :?:  :?:
Название: На чем пишется софт для КА?
Отправлено: Александр Куприянов от 18.06.2009 17:10:36
ЦитироватьGhost505 пишет:
 
ЦитироватьНу, исходя из дебатов по части "национальной ОС" реально внятная причина - Алкснис не знает об этой проблеме.

Э-э-э, ничонепонял. О чем это Вы?  :shock:  :?:  :?:

В 2007-2008гг тема обсуждалась довольно бурно http://v-alksnis2.livejournal.com/22850.html и сейчас частенько обсуждается политиками  и ITшниками, - есть социально-политический заказ на нешто национальное и ITшное, хорошо бы ОС...
Название: На чем пишется софт для КА?
Отправлено: Ghost505 от 18.06.2009 17:49:13
2Allex
Вообще-то здесь речь шла об ОС РВ для авионики.
Если Вы в курсе, то я все еще не понял Вашу мысль.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 18.06.2009 18:13:19
ЦитироватьAllex пишет:
 
Цитировать
ЦитироватьНу, исходя из дебатов по части "национальной ОС" реально внятная причина - Алкснис не знает об этой проблеме.

Э-э-э, ничонепонял. О чем это Вы?  :shock:  :?:  :?:

В 2007-2008гг тема обсуждалась довольно бурно http://v-alksnis2.livejournal.com/22850.html и сейчас частенько обсуждается политиками  и ITшниками, - есть социально-политический заказ на нешто национальное и ITшное, хорошо бы ОС...

Ну потеснить Microsoft в области персональной техники наверное уже не получится, а вот в сегменте встраиваемых систем, а тем более отечественной разработки - думаю вполне по силам.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 18.06.2009 18:19:04
ЦитироватьПроблема в том, что нет ЗАКАЗА.

Проблема не только в этом, нет организации как таковой. Как следствие нет стандартизации, сертификации и других прелестей технологического общества. Отрасль перестала этим заниматься (и не только один Роскосмос).
Название: На чем пишется софт для КА?
Отправлено: Ghost505 от 18.06.2009 18:59:17
2Allex
Теперь понял, Вы рассчитываете на госзаказ. Желаю удачи.  :P
Только под какую архитектуру? Под существующие западные? И в чем великий сакральный смысл?
Я могу себе представить, что это захотят военные, скажем, чтобы зловредный вражеский вирус не пролез в нашу ракету  :lol:
Но тогда для начала надо сваять свой оригинальный камень (как китайцы), причем на своей фабрике, которую еще надо построить, а уж потом делать ОСь под него.

2bsdv
ЦитироватьПроблема не только в этом, нет организации как таковой. Как следствие нет стандартизации, сертификации и других прелестей технологического общества. Отрасль перестала этим заниматься (и не только один Роскосмос).

В целом согласен с Вами, но все это дело наживное, было бы желание. И опять все упирается в заказ; никому все это по-настоящему не нужно  :(
Название: На чем пишется софт для КА?
Отправлено: Александр Куприянов от 19.06.2009 08:49:17
Цитировать2Allex
Теперь понял, Вы рассчитываете на госзаказ. Желаю удачи.  :P
Только под какую архитектуру? Под существующие западные? И в чем великий сакральный смысл?
Я могу себе представить, что это захотят военные, скажем, чтобы зловредный вражеский вирус не пролез в нашу ракету  :lol:
Но тогда для начала надо сваять свой оригинальный камень (как китайцы), причем на своей фабрике, которую еще надо построить, а уж потом делать ОСь под него.

2bsdv
ЦитироватьПроблема не только в этом, нет организации как таковой. Как следствие нет стандартизации, сертификации и других прелестей технологического общества. Отрасль перестала этим заниматься (и не только один Роскосмос).
В целом согласен с Вами, но все это дело наживное, было бы желание. И опять все упирается в заказ; никому все это по-настоящему не нужно  :(


Рассчитывать... в Россию можно только верить.

Политический заказ на нешто национальное есть.
IT'шники российские подобный нишевый продукт - вполне осилят - при наличии воли, а не только благих пожеланий, малой толики денег от, к примеру, Ростехнологий, и канала управления, обставленного в манере, скажем, The Clinger-Cohen Act (CCA), formerly the Information Technology Management Reform Act of 1996 (ITMRA),
( http://en.wikipedia.org/wiki/Clinger-Cohen_Act )

Да, а насчет "камня" - у нас же нанотехнологии - прям ух-ты! Не в курсе? :) :lol:

P.S. Вчера сервер упорно не хотел вечером брать коммент, я три раза авторизовался-переписывал без толку.
Безопасникам сайтовым ручонки оторвать пора?
Название: На чем пишется софт для КА?
Отправлено: Not от 19.06.2009 19:09:58
Цитировать
ЦитироватьЯ персонально писал ОС РВ, готов ответить на вопросы.
А что именно Вы называете ОС РВ? Диспетчер прикладных задач? Управление "железом"?
ОС РВ = операционная система реального времени. Та, что писал я представляла из себя многозадачную ОС с вытеснением и приоритетностью задач/прерываний. Включала в себя диспетчер задач/прерываний, управление внешней памятью (процессор - специальное расширение Intel 286), драйверы PCMCIA, граф. адаптера  последовательного порта, сенсорного экрана, GPS-приемника (одного из первых), управление питанием и кое-что еще по мелочи. Библиотеки поддержки многозадачности (семафоры, очереди, мониторы и т.д.), работы с графическими функциями и т.п. Все писалось под конкретную задачу, с минимумом дополнительной функциональности. Писалось потому, что существующие компактные ОС РВ или не подходили к этому железу, или банально не влезали в память. После консультаций с разработчиками оных (в частности Apple и Gео Works) было решено плюнуть на это безобразие и рискнуть сделать самим.

Там не было динамических библиотек, динамически загружаемых драйверов и прочего джентльменского набора характерного для ОС общего назначения. Да и не требуется оно как правило в авионике.

Портировалось туда специальное ПО написанное для ОС VRTX и процессора МС68000.
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 19.06.2009 10:34:09
ЦитироватьОС РВ = операционная система реального времени. Та, что писал я представляла из себя многозадачную ОС с вытеснением и приоритетностью задач/прерываний. Включала в себя диспетчер задач/прерываний, управление внешней памятью (процессор - специальное расширение Intel 286), драйверы PCMCIA, граф. адаптера  последовательного порта, сенсорного экрана, GPS-приемника (одного из первых), управление питанием и кое-что еще по мелочи. Библиотеки поддержки многозадачности (семафоры, очереди, мониторы и т.д.), работы с графическими функциями и т.п.
И для всего этого Вы написали свое собственное программное обеспечение без использования чужих функций/подпрограмм/прерываний/драйверов/и т.п.? Если так, то это вызывает очень большое уважение.

Тем не менее, мне кажется, что такой подход не является хорошим, эфективным, надежным и т.д. ОСы должны создаваться в фирмах, которые на этом специализируются, имеют опыт, специалистов, базу и т.п. А программисты "космических фирм" должны создавать прикладные программы для КА.  Разделение труда. Хотя не всегда есть четкая граница между ОС и прикладными программами.
Название: На чем пишется софт для КА?
Отправлено: Not от 19.06.2009 20:38:55
Цитировать
ЦитироватьОС РВ = операционная система реального времени. Та, что писал я представляла из себя многозадачную ОС с вытеснением и приоритетностью задач/прерываний. Включала в себя диспетчер задач/прерываний, управление внешней памятью (процессор - специальное расширение Intel 286), драйверы PCMCIA, граф. адаптера  последовательного порта, сенсорного экрана, GPS-приемника (одного из первых), управление питанием и кое-что еще по мелочи. Библиотеки поддержки многозадачности (семафоры, очереди, мониторы и т.д.), работы с графическими функциями и т.п.
И для всего этого Вы написали свое собственное программное обеспечение без использования чужих функций/подпрограмм/прерываний/драйверов/и т.п.? Если так, то это вызывает очень большое уважение.

Тем не менее, мне кажется, что такой подход не является хорошим, эфективным, надежным и т.д. ОСы должны создаваться в фирмах, которые на этом специализируются, имеют опыт, специалистов, базу и т.п. А программисты космические фирмы должны создавать прикладные программы для КА.  Разделение труда. Хотя не всегда есть четкая граница между ОС и прикладными программами.
Да, все это я написал сам, в рамках прототипа, который впоследствии с небольшими доработками был выдан заказчику. Вообще проект был малобюджетный и наша небольшая команда была загружена соответственно. Таких примеров кстати немало, вспомните Линукс, написанный в прототипе студентом, или тот же VxWorks, написанный интерном.
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 19.06.2009 11:08:45
ЦитироватьДа, все это я написал сам, в рамках прототипа, который впоследствии с небольшими доработками был выдан заказчику. Вообще проект был малобюджетный
Было бы несправедливо, если и оплата Вашей работы была малобюджетной. В дополнение к уважению, такой труд должен очень хорошо оплачиваться.

Цитироватьвспомните Линукс, написанный в прототипе студентом, или тот же VxWorks, написанный интерном.
У Эдисона было больше тысячи патентов. Вряд ли сейчас кто-то способен это повторить. Ушло время гениальных изобретателей-одиночек. Тоже самое произойдет (или уже произошло) и с программистами...
Название: На чем пишется софт для КА?
Отправлено: Not от 19.06.2009 21:36:37
Цитировать
ЦитироватьДа, все это я написал сам, в рамках прототипа, который впоследствии с небольшими доработками был выдан заказчику. Вообще проект был малобюджетный
Было бы несправедливо, если и оплата Вашей работы была малобюджетной. В дополнение к уважению, такой труд должен очень хорошо оплачиваться.

Цитироватьвспомните Линукс, написанный в прототипе студентом, или тот же VxWorks, написанный интерном.
У Эдисона было больше тысячи патентов. Вряд ли сейчас кто-то способен это повторить. Ушло время гениальных изобретателей-одиночек. Тоже самое произойдет (или уже произошло) и с программистами...
Ага, и с математиками, физиками... Ничего никуда не ушло и не уйдет. Меньше нужно бояться собственного неумения.  :D На самом деле для того чтобы писать большую систему малыми силами нужно руководствоваться простыми правилом: не уходить от формальной математики (она выведет) и как следствие оного не допускать перебора вариантов (алгоритмов), от которых зависят остальные части дерева проекта. И тогда получается вполне себе линейная сложность написания кода.
Название: На чем пишется софт для КА?
Отправлено: Инженер проекта от 19.06.2009 10:23:48
Цитироватьнаписал сам, в рамках прототипа, который впоследствии с небольшими доработками был выдан заказчику.
Весьма неплохо, вызывает уважение. Вполне допускаю, что для конкретной задачи это был оптимальный вариант. Насколько долго отлаживали/тестировали?

Тем не менее, для большинства прикладных задач согласен с Далёким гостем,
ЦитироватьОСы должны создаваться в фирмах, которые на этом специализируются, имеют опыт,
а то так можно дойти до "сам добыл руду, сам выплавил сталь, сам выточил винты, сам разработал новый язык, написал ОС, ну и так далее"  :)
Название: На чем пишется софт для КА?
Отправлено: Not от 20.06.2009 00:09:21
Цитировать
Цитироватьнаписал сам, в рамках прототипа, который впоследствии с небольшими доработками был выдан заказчику.
Весьма неплохо, вызывает уважение. Вполне допускаю, что для конкретной задачи это был оптимальный вариант. Насколько долго отлаживали/тестировали?
Около полугода ушло на тестирование собственно ОС и в составе с прикладным ПО.  

ЦитироватьТем не менее, для большинства прикладных задач согласен с Далёким гостем,
ЦитироватьОСы должны создаваться в фирмах, которые на этом специализируются, имеют опыт,
а то так можно дойти до "сам добыл руду, сам выплавил сталь, сам выточил винты, сам разработал новый язык, написал ОС, ну и так далее"  :)
А потом эти люди рассуждают про "национальную" ОС  :D На самом деле, я хотел лишь подчеркнуть, что ОС для конкретного набора задач конкретного прибора - не настолько сложная вещь. Намного проще, чем, например, компилятор с языка программирования (в этой областе тоже имеется некоторый опыт  :D ) Бытующее мнение, что ОС - это "очень сложно", выросло из опыта эксплутации монструозных систем от мегакорпораций типа Microsoft или, скажем, AT&T. Но ведь, в большинстве случаев встраиваемых систем реального времени, ОС - лишь тонкая прослойка между прикладным ПО и железом. И ломать из-за этой прослойки копья, пытаясь впихнуть туда невпихиваемое - часто совершенно бесполезное занятие. Сделайте один раз, потратьте 2-4 человеко-года и забудьте про зависимость от слонов программной индустрии. Что особенно актуально в свете чувствительности предприятий аэрокосмической отрасли к политическим разногласиям  :wink:
Название: На чем пишется софт для КА?
Отправлено: Инженер проекта от 19.06.2009 11:25:58
ЦитироватьА потом эти люди рассуждают про "национальную" ОС  :D
Вы меня с кем то спутали, про "национальную" ОС я не писал  :)

Ну и Виндовс под сети заточенный и например QNX, это несколько разные ОСи.
Название: На чем пишется софт для КА?
Отправлено: Ghost505 от 20.06.2009 02:12:28
Цитироватьв Россию можно только верить.
Изо всех сил!!!  :oops:
ЦитироватьПолитический заказ на нешто национальное есть.
На распил  :evil:
Цитировать...у нас же нанотехнологии - прям ух-ты! Не в курсе? :) :lol:
В курсе :) :lol:

2Not
Ответьте мне на простой вопрос: Допустим, у меня многомиллионный контракт и ограниченное время (что, кстати, характерно для космоса). И какие побуждения могут заставить меня заказывать новую ОС, если готовые оси доступны в широком ассортименте и за смешные (по меркам контракта) деньги, а то и вовсе бесплатно? Причем оси отработанные и полетавшие!
Купить готовое всегда:
   а) надежнее
   в) быстрее
   с) дешевле
Ну из каких соображений я буду увеличивать затраты, при этом увеличивая риски?
Это Абсурд!

Вот если Вы создаете коммерческий продукт и желаете конкурировать с ведущими производителями софта – тогда, конечно - вперед!
Название: На чем пишется софт для КА?
Отправлено: Not от 20.06.2009 14:39:47
Цитировать
Цитироватьв Россию можно только верить.
Изо всех сил!!!  :oops:
ЦитироватьПолитический заказ на нешто национальное есть.
На распил  :evil:
Цитировать...у нас же нанотехнологии - прям ух-ты! Не в курсе? :) :lol:
В курсе :) :lol:

2Not
Ответьте мне на простой вопрос: Допустим, у меня многомиллионный контракт и ограниченное время (что, кстати, характерно для космоса). И какие побуждения могут заставить меня заказывать новую ОС, если готовые оси доступны в широком ассортименте и за смешные (по меркам контракта) деньги, а то и вовсе бесплатно? Причем оси отработанные и полетавшие!
Купить готовое всегда:
   а) надежнее
   в) быстрее
   с) дешевле
Ну из каких соображений я буду увеличивать затраты, при этом увеличивая риски?
Это Абсурд!

Вот если Вы создаете коммерческий продукт и желаете конкурировать с ведущими производителями софта – тогда, конечно - вперед!
Вы никогда не задумывались, почему оснастку для производства РКН (или самолета) делают на том же заводе? И никто не страдает по этому поводу. Я не вижу ничего запредельно сложного во встраиваемой ОС РВ и не понимаю чем она по уровню сложности должна отличаться от тех же драйверов которые вам все равно придется писать. Учтите также, что космическая техника обычно двойного назначения. Вы с легкой душой затолкаете в бортовую вычислительную машину ОС произведенную на территории вероятного противника?  :D А если поправку Веника ужесточат и не будут вам ее больше продавать, что тогда? Разведете руками - Ну не шмогла?
Название: На чем пишется софт для КА?
Отправлено: Туман Андромедов от 20.06.2009 10:37:17
ЦитироватьВы никогда не задумывались, почему оснастку для производства РКН (или самолета) делают на том же заводе?

При всём уважении к авторам операционных систем, всё же прошу вас удержаться от высказываний на тему, с которой не знакомы.
РКН на заводе вообще не изготовляют. РКН получается на полигоне в результате стыковки составных частей РКН. И составные части РКН изготовлены не только на разных предприятиях, но, зачастую, в разных странах. Поэтому создание рабочих мест на полигоне по подготовке РН, РБ, КА, КГЧ, РКН - весьма трудоёмкая работа.  
А стапели, тележки, в том числе и монтажно-стыковочные, грузо-захватные средства, всевозможные средства обслуживания, балансировочные и обмерочные стенды, разнообразнейшее испытательное оборудование и т.д. и т.п. разрабатываются и изготавливаются, по сложившейся давным-давно кооперации, на специализированных предприятиях. Часть оснастки вообще "покупная", если говорить в терминах спецификаций - например УСБ для изготовления ферм.
Название: На чем пишется софт для КА?
Отправлено: Not от 20.06.2009 21:58:09
Цитировать
ЦитироватьВы никогда не задумывались, почему оснастку для производства РКН (или самолета) делают на том же заводе?

При всём уважении к авторам операционных систем, всё же прошу вас удержаться от высказываний на тему, с которой не знакомы.
РКН на заводе вообще не изготовляют. РКН получается на полигоне в результате стыковки составных частей РКН. И составные части РКН изготовлены не только на разных предприятиях, но, зачастую, в разных странах. Поэтому создание рабочих мест на полигоне по подготовке РН, РБ, КА, КГЧ, РКН - весьма трудоёмкая работа.  
А стапели, тележки, в том числе и монтажно-стыковочные, грузо-захватные средства, всевозможные средства обслуживания, балансировочные и обмерочные стенды, разнообразнейшее испытательное оборудование и т.д. и т.п. разрабатываются и изготавливаются, по сложившейся давным-давно кооперации, на специализированных предприятиях. Часть оснастки вообще "покупная", если говорить в терминах спецификаций - например УСБ для изготовления ферм.
Авторы достаточно осведомлены о процессе изготовления оснастки в авиапроме. В частности, о древнем как этот мир плазово-шаблонном методе. Например, на ИАПО конструкторско-технологический отдел занимается проектированием оснастки, которая изготавливвается в специальном цехе этого же предприятия. Вероятно на вашей фирме это происходит несколько иначе.
Название: На чем пишется софт для КА?
Отправлено: Ghost505 от 20.06.2009 13:05:17
Цитировать...
Я не вижу ничего запредельно сложного во встраиваемой ОС РВ
А никто и не говорит о запредельной сложности. Понятно, что не боги горшки обжигают. Речь идет об ответственности и о цене ошибки, если Вы еще не поняли.

Цитироватьи не понимаю чем она по уровню сложности должна отличаться от тех же драйверов которые вам все равно придется писать.
Все же согласитесь, что посложнее. К тому же на ОСи крутится все остальное ПО, отсюда и требования к ней немножко другие.

Цитировать. Вы с легкой душой затолкаете в бортовую вычислительную машину ОС произведенную на территории вероятного противника?  :D А если поправку Веника ужесточат и не будут вам ее больше продавать, что тогда?
А ничего. Если у вас уже есть ОС, то куда она подевается? :) А вот с чипами могут быть проблемы, если своей фабрики нет.  
К тому же есть свободные ОС РВ с открытыми исходниками.

Короче, Вы меня не убедили. Вы забываете про стандарты, совместимость, преемственность. Вы предлагаете всем изобретать велосипед и совершать забеги по одним и тем же граблям снова и снова? Или это просто самореклама? В таком случае не вижу смысла в продолжении дискуссии.  8)
Название: На чем пишется софт для КА?
Отправлено: sychbird от 20.06.2009 12:48:29
ЦитироватьА ничего. Если у вас уже есть ОС, то куда она подевается? :

Короче, Вы меня не убедили. Вы забываете про стандарты, совместимость, преемственность. Вы предлагаете всем изобретать велосипед и совершать забеги по одним и тем же граблям снова и снова? Или это просто самореклама? В таком случае не вижу смысла в продолжении дискуссии.  8)

А ОС требует сопровождения, и эта задача  часто более сложного порядка и требует очень строгой организации процесса. Затраты на гарантированное сопровождение чужой ОС на порядок дороже, и Вы всегда в заложниках. Уйдет у Вас один два профи из состава сопровождения ОС и Вы в ЗДЦ по Альтову.

А кто Вам запрещает при разработке ОС соблюдать стандарты, совместимость, преемственность. С собственной разработки авторы как правило не уходят, у них есть серьезный  стимул. А на временьщиках ничего надежного Вы не построите. Кстати самый классический вариант - это переход от покупного продукта после его освоения к созданию своего собственного. А приобретение чужого рационально только внутри своей страны у производителя из числа членов долговременной кооперации.
Название: На чем пишется софт для КА?
Отправлено: Ghost505 от 20.06.2009 17:23:08
ЦитироватьА ОС требует сопровождения, и эта задача  часто более сложного порядка и требует очень строгой организации процесса. Затраты на гарантированное сопровождение чужой ОС на порядок дороже, и Вы всегда в заложниках. Уйдет у Вас один два профи из состава сопровождения ОС и Вы в ЗД по Альтову.

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

PS: А вы что-нибудь слышали о проекте PnPSat? Тенденция, однако!  :)
Название: На чем пишется софт для КА?
Отправлено: Инженер проекта от 22.06.2009 06:04:16
ЦитироватьА вот с чипами могут быть проблемы, если своей фабрики нет.
А какие особые проблемы могут быть? Тем более, если они уже закуплены в достаточном количестве? Байки про "вставки" или там "закладки" конечно имеют место, но во первых, в большинстве это байки, во вторых, чип не подключается к внешним сетям, в третьих, изолирован от возможности получения радиокоманд, не имеет антенн, да ещё и многократно испытан. Ну и какие проблемы?
Название: На чем пишется софт для КА?
Отправлено: TAU от 23.06.2009 07:52:14
ЦитироватьVxWorks, написанный интерном
Надо же, я и не знал
Название: На чем пишется софт для КА?
Отправлено: TAU от 23.06.2009 07:53:24
Цитировать
ЦитироватьОС РВ = операционная система реального времени. Та, что писал я представляла из себя многозадачную ОС с вытеснением и приоритетностью задач/прерываний. Включала в себя диспетчер задач/прерываний, управление внешней памятью (процессор - специальное расширение Intel 286), драйверы PCMCIA, граф. адаптера  последовательного порта, сенсорного экрана, GPS-приемника (одного из первых), управление питанием и кое-что еще по мелочи. Библиотеки поддержки многозадачности (семафоры, очереди, мониторы и т.д.), работы с графическими функциями и т.п.
вызывает очень большое уважение
+1.[/size]
Название: На чем пишется софт для КА?
Отправлено: TAU от 23.06.2009 07:54:45
ЦитироватьУшло время гениальных изобретателей-одиночек. Тоже самое произойдет (или уже произошло) и с программистами...
Насчет "произошло" - вряд ли ;-)

ЦитироватьНичего никуда не ушло и не уйдет. Меньше нужно бояться собственного неумения
+1.
Название: На чем пишется софт для КА?
Отправлено: TAU от 23.06.2009 07:58:38
ЦитироватьА потом эти люди рассуждают про "национальную" ОС  :D На самом деле, я хотел лишь подчеркнуть, что ОС для конкретного набора задач конкретного прибора - не настолько сложная вещь
+1.

Цитироватьпотратьте 2-4 человеко-года и забудьте про зависимость от слонов программной индустрии. Что особенно актуально в свете чувствительности предприятий аэрокосмической отрасли к политическим разногласиям  :wink:
Тем более, что, как я тут уже писал, была в Интернете информация  8) что это давно сделано - и вполне себе существуют отечественные БОС РВ.
Название: На чем пишется софт для КА?
Отправлено: TAU от 23.06.2009 08:14:05
Цитироватьстандарты, совместимость
...не имеют никакого значения при разработке своего собственного, полностью изолированного от чужеродного ПО изделия, решающего задачи обеспечения национальных интересов.

Цитироватьпреемственность
...вполне себе может быть обеспечена в рамках этой самой своей линейки специализированных ОС. Да и ПО в целом.
Вообще, в космической технике пробовать ставить новое, "перспективное" и "сделанное специалистами" за бугром, чревато.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 23.06.2009 12:44:33
Цитировать
Цитироватьстандарты, совместимость
...не имеют никакого значения при разработке своего собственного, полностью изолированного от чужеродного ПО изделия, решающего задачи обеспечения национальных интересов.


Я то как раз и имел в виду отсутствие современных национальных стандартов, адаптированных европейских или чистых ГОСТ - это уже другой вопрос. Насчет совместимости - вопрос сложный,к примеру я в последнее время не видел ни одного прикладного ПО в той или иной мере не использующего западные протоколы передачи данных. Глупо отказываться от достижений западной цивилизации, а задачи обеспечения национальных интересов вполне можно решать другими способами.
Название: На чем пишется софт для КА?
Отправлено: KBOB от 23.06.2009 12:32:14
Цитировать
Цитировать
ЦитироватьЯ персонально писал ОС РВ, готов ответить на вопросы.
А что именно Вы называете ОС РВ? Диспетчер прикладных задач? Управление "железом"?
ОС РВ = операционная система реального времени. Та, что писал я представляла из себя многозадачную ОС с вытеснением и приоритетностью задач/прерываний. Включала в себя диспетчер задач/прерываний, управление внешней памятью (процессор - специальное расширение Intel 286), драйверы PCMCIA, граф. адаптера  последовательного порта, сенсорного экрана, GPS-приемника (одного из первых), управление питанием и кое-что еще по мелочи. Библиотеки поддержки многозадачности (семафоры, очереди, мониторы и т.д.), работы с графическими функциями и т.п. Все писалось под конкретную задачу, с минимумом дополнительной функциональности. Писалось потому, что существующие компактные ОС РВ или не подходили к этому железу, или банально не влезали в память. После консультаций с разработчиками оных (в частности Apple и Gео Works) было решено плюнуть на это безобразие и рискнуть сделать самим.

Там не было динамических библиотек, динамически загружаемых драйверов и прочего джентльменского набора характерного для ОС общего назначения. Да и не требуется оно как правило в авионике.

Портировалось туда специальное ПО написанное для ОС VRTX и процессора МС68000.

А какой размер ядра? POSIX совместимость? Компилятор?
Название: На чем пишется софт для КА?
Отправлено: TAU от 23.06.2009 23:13:31
ЦитироватьЯ то как раз и имел в виду отсутствие современных национальных стандартов, адаптированных европейских или чистых ГОСТ - это уже другой вопрос
Почему отсутствие? Присутствие. Вы вообще какие именно стандарыт имеете в виду?

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

ЦитироватьГлупо отказываться от достижений западной цивилизации, а задачи обеспечения национальных интересов вполне можно решать другими способами
Ну, есть вещи, которые надо делать и самим. Чтобы если, не дай Бог, что - смогли бы обойтись собственными силами.
А отказываться - с одной стороны, глупо. С другой - не все они столь хороши, эти "достижения западной цивилизации", надо перенимать лишь лучшее. Причем иногда у нас могут и превзойти в чем-то - своя цивилизация имется ;-)
Название: На чем пишется софт для КА?
Отправлено: bsdv от 24.06.2009 16:30:37
Цитировать
ЦитироватьЯ то как раз и имел в виду отсутствие современных национальных стандартов, адаптированных европейских или чистых ГОСТ - это уже другой вопрос
Почему отсутствие? Присутствие. Вы вообще какие именно стандарыт имеете в виду?

Я имею в виду положение со стандартами вообще, а в области ОС в частности.
Вот к примеру, упоминавшиеся уже выше ОС РВ соответствуют стандарту ISO http://ru.wikipedia.org/wiki/POSIX.
Каким отечественным стандартам соответствуют наши отечественные ОС РВ?

Цитировать
ЦитироватьНасчет совместимости - вопрос сложный,к примеру я в последнее время не видел ни одного прикладного ПО в той или иной мере не использующего западные протоколы передачи данных
То есть - личный опыт обобщаете на всю отрасль?
Обобщать я даже и не пытался, рановато пока :D .

Цитировать
ЦитироватьГлупо отказываться от достижений западной цивилизации, а задачи обеспечения национальных интересов вполне можно решать другими способами
Ну, есть вещи, которые надо делать и самим. Чтобы если, не дай Бог, что - смогли бы обойтись собственными силами.
А отказываться - с одной стороны, глупо. С другой - не все они столь хороши, эти "достижения западной цивилизации", надо перенимать лишь лучшее. Причем иногда у нас могут и превзойти в чем-то - своя цивилизация имется ;-)
Здесь я с вами согласен на 100%.
Название: На чем пишется софт для КА?
Отправлено: ОАЯ от 25.06.2009 13:03:24
Позвольте взгляд со стороны, и он буден немного длинным. Sorry.
Сейчас при программировании непрограммисты теряют много времени и сил для создании программ средней и повышенной сложности. (Если есть тандем программист и специалист, то чем сложнее программа, тем больше  противоречий  между ними). Сюда входит изучение интерфейса программирования, поверхностное изучение языка, отладка. Но и это не помогает при усложнении программ. Сразу возникает необходимость изучать язык глубоко и долго.
Это напоминает состояние дел в ламповой электронике. Каждый элемент, даже провода нужно было подобрать и соединить. И знать про них самое существенное. По-каскадно испытать, исправить и многое чего. Создать сложное мнголамповое устройство – это удел гигантов индустрии. Сейчас школьник соединив пяток деталей получает устройство не достижимое в те года.
Следовательно нужен такой же подход при программировании.

Плата – основная ОС.
Ее функция - закрепить все ОС и связи между ними. И больше ничего.

Элементы – отдельные ОС. Они должны иметь интерактивное программирование, конфигурационные файлы памяти, самодиагностику, статистику, служебные каналы, хелп, исправление ошибок программирования и т.д. Все это для выполнения одной функции, например цикла или присвоения.

Провода – то же самое, но работающие как менеджер передачи данных.

Тогда создать простую программу будет также трудно, как и раньше, но сложную проще. Из готовых узлов с простым, дружественным интерфейсом непрограммист используя интеллект этих ОС легко исправит ошибки, сам оптимизирует структуру и объединит узлы в сложную программу. Способом объединения ОС может стать интернетовский протокол.
Немного упрощенное изложение.

Наработав разнообразные ОС-функции, перейти к «средней» степени интеграции. И далее... И тогда биолог, врач, геолог сможет организовать свое прикладное программное обеспечение для своих задач используя целые узлы и конструкции с простым, однообразным и понятным интерфейсом.
Название: На чем пишется софт для КА?
Отправлено: sychbird от 25.06.2009 13:33:44
ЦитироватьНаработав разнообразные ОС-функции, перейти к «средней» степени интеграции. И далее... И тогда биолог, врач, геолог сможет организовать свое прикладное программное обеспечение для своих задач используя целые узлы и конструкции с простым, однообразным и понятным интерфейсом.
Такие возможности существуют в графических интерфейсах объектно ориентированного прикладного программного обеспечения.(Delfy например) Есть и специализированные готовые программные продукты с возможность расширения и подключения дополнительных модулей.
Название: На чем пишется софт для КА?
Отправлено: jettero от 25.06.2009 15:13:16
Цитировать(Если есть тандем программист и специалист, то чем сложнее программа, тем больше  противоречий  между ними). Сюда входит изучение интерфейса программирования, поверхностное изучение языка, отладка. Но и это не помогает при усложнении программ. Сразу возникает необходимость изучать язык глубоко и долго.
...
Тогда создать простую программу будет также трудно, как и раньше, но сложную проще. Из готовых узлов с простым, дружественным интерфейсом непрограммист используя интеллект этих ОС легко исправит ошибки, сам оптимизирует структуру и объединит узлы в сложную программу. Способом объединения ОС может стать интернетовский протокол.
Немного упрощенное изложение.
Сложность программирования обуславливается сложностью предметной области, с которой работает система и которую моделирует программа. И если узко не ограничивать предметную область, то таких кирпичиков, на все случаи жизни, из которых можно собрать систему, как с микросхемами, не наделаешь.
Существует новый подход к программированию для работы со сложными системах, например для корпоративных систем управления. Этот подход называется Domain-driven_design (http://en.wikipedia.org/wiki/Domain-driven_design) и он упрощает создание очень сложных систем.
Название: На чем пишется софт для КА?
Отправлено: ОАЯ от 25.06.2009 16:17:42
ЦитироватьТакие возможности существуют в графических интерфейсах объектно ориентированного прикладного программного обеспечения.(Delfy например) Есть и специализированные готовые программные продукты с возможность расширения и подключения дополнительных модулей.

Это как раз аналогия: из готовых блоков собрать прибор. А если сменить подход к операторам языка программирования? Сделать из них подобие веб-узлов или операционных систем.
Сейчас "операция" выполняется принудительно и фиксировано.
В ОС она будет интелектуальной: сравнение с конфигурационным файлом, проверка на входе, анализ полученного результата, выдача в служебный канал сообщ. о ошибках и статистике, и т.д.  И уже из однообразных ОС собирать куски программ.  Эти куски будут уметь еще меньше, чем старый DOS, но иметь интерфейс для переговоров с программой на уровне школьника младших классов. Далее установка нескольких ОС на доске общей ОС.
Название: На чем пишется софт для КА?
Отправлено: KBOB от 25.06.2009 12:20:59
Цитировать
ЦитироватьТакие возможности существуют в графических интерфейсах объектно ориентированного прикладного программного обеспечения.(Delfy например) Есть и специализированные готовые программные продукты с возможность расширения и подключения дополнительных модулей.

Это как раз аналогия: из готовых блоков собрать прибор. А если сменить подход к операторам языка программирования? Сделать из них подобие веб-узлов или операционных систем.
Сейчас "операция" выполняется принудительно и фиксировано.
В ОС она будет интелектуальной: сравнение с конфигурационным файлом, проверка на входе, анализ полученного результата, выдача в служебный канал сообщ. о ошибках и статистике, и т.д.  И уже из однообразных ОС собирать куски программ.  Эти куски будут уметь еще меньше, чем старый DOS, но иметь интерфейс для переговоров с программой на уровне школьника младших классов. Далее установка нескольких ОС на доске общей ОС.
А вы продавать что будете? Готовые системы под ключь стоят деньгт, а отдельные кубики нужны только любителям.
Название: На чем пишется софт для КА?
Отправлено: jettero от 28.06.2009 16:07:06
Тут спрашивали про отечественные RTOS,
недавно встретил ссылку на ось Багет http://ru.wikipedia.org/wiki/%D0%9E%D0%A12000
Название: На чем пишется софт для КА?
Отправлено: KBOB от 28.06.2009 12:45:39
ЦитироватьТут спрашивали про отечественные RTOS,
недавно встретил ссылку на ось Багет http://ru.wikipedia.org/wiki/%D0%9E%D0%A12000

Я слышал там вместо кнопок ОК и Cancel - "Так точно" и "Никак нет".  :shock:
Название: На чем пишется софт для КА?
Отправлено: jettero от 28.06.2009 17:55:07
ЦитироватьЯ слышал там вместо кнопок ОК и Cancel - "Так точно" и "Никак нет".  :shock:
скорее всего миф  :D
графическая оконная система для RTOS не требуется

хотя раз она POSIX совместимая можно X-Windows прикрутить и надписи на кнопки поставить как хочется )))
Название: На чем пишется софт для КА?
Отправлено: KBOB от 28.06.2009 14:29:07
Цитировать
ЦитироватьЯ слышал там вместо кнопок ОК и Cancel - "Так точно" и "Никак нет".  :shock:
скорее всего миф  :D
графическая оконная система для RTOS не требуется

хотя раз она POSIX совместимая можно X-Windows прикрутить и надписи на кнопки поставить как хочется )))

Сходил по вашей-же ссылке.
ЦитироватьСоответствие стандартам
При разработке операционной системы использовались следующие международные стандарты:
POSIX 1003.1, стандарт на мобильные операционные системы (программный интерфейс);
стандарт С, описывающий язык и библиотеки языка С.
графическая подсистема X Window System (клиент-сервер)
Название: На чем пишется софт для КА?
Отправлено: jettero от 28.06.2009 18:52:27
Ну вот, значит все-таки прикрутили X-Винды :D
Но в целом это излишне именно для RTOS. Хотя конечно можно придумать какие то приложения где это будет полезно, например для отладки. Но на рабочей встраиваемой системе их обычно нету, зачем оконная система на спутнике или ракете? Не будут же ими управлять соединяясь по telnet'у и тыкая мышкой в кнопки? :shock:
Я даже на вебсерверы под FreeBSD окна не ставлю, все гораздо проще и быстрее делается в командной строке.

PS что нету оконного интефейса я сделал вывод по этой странице http://www.niisi.ru/intro1.htm , читая ее по диагонали, я его там не нашел в спеках
и еще раз глянул ссылку на википедии, там есть скриншот интерфейса - кнопки на английском http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Osrvconfig.png
Название: На чем пишется софт для КА?
Отправлено: sychbird от 28.06.2009 18:02:56
ЦитироватьНу вот, значит все-таки прикрутили X-Винды :D
Но в целом это излишне именно для RTOS. Хотя конечно можно придумать какие то приложения где это будет полезно, например для отладки. Но на рабочей встраиваемой системе их обычно нету, зачем оконная система на спутнике или ракете? Не будут же ими управлять соединяясь по telnet'у и тыкая мышкой в кнопки? :shock:
Я даже на вебсерверы под FreeBSD окна не ставлю, все гораздо проще и быстрее делается в командной строке.
Командная строка критична к ошибке набора. Для оператора системы реального времени да еще в скафандре это не проходит.
Название: На чем пишется софт для КА?
Отправлено: jettero от 28.06.2009 19:12:01
ЦитироватьКомандная строка критична к ошибке набора. Для оператора системы реального времени да еще в скафандре это не проходит.
Ну в окнах с мышкой они тем более не работают, тем более в скафандре :)
RTOS это специфичный зверь, как правило там нет такого оператора, как есть на обычном ПК.
Управляющие воздействия там могут приходить от датчиков, кнопок, тумблеров итп. Окна для управления RTOS на рабочем объекте почти нигде не используют. А командная строка нужна для удаленного управления, отладки, диагностики итп.
Название: На чем пишется софт для КА?
Отправлено: TAU от 09.07.2009 01:11:00
ЦитироватьСуществует новый подход к программированию для работы со сложными системах, например для корпоративных систем управления. Этот подход называется Domain-driven_design (http://en.wikipedia.org/wiki/Domain-driven_design)
Эх, jettero-jettero... Молодо-зелено?  :wink:

"Новый подход", говорите? Для корпоративных систем?

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

Которые использовались активно, между прочим, издавна именно в космической отрасли при создании БПО - HAL/S, ПРОЛ, ПРОЛ2, СИПРОЛ, ГРАФИТ/ФЛОКС, и т.д., и т.п.
Название: На чем пишется софт для КА?
Отправлено: TAU от 09.07.2009 01:50:34
ЦитироватьКаким отечественным стандартам соответствуют наши отечественные ОС РВ?
Нашим стандартам (ГОСТам). Кои иногда бывают скопированными с западных, иногда - нет. Иногда это вообще стандарты предприятия. Но, тем не менее, безусловно существующие в природе . :wink:
Название: На чем пишется софт для КА?
Отправлено: jettero от 09.07.2009 03:39:24
Цитировать
ЦитироватьСуществует новый подход к программированию для работы со сложными системах, например для корпоративных систем управления. Этот подход называется Domain-driven_design (http://en.wikipedia.org/wiki/Domain-driven_design)
Эх, jettero-jettero... Молодо-зелено?  :wink:

"Новый подход", говорите? Для корпоративных систем?

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

Которые использовались активно, между прочим, издавна именно в космической отрасли при создании БПО - HAL/S, ПРОЛ, ПРОЛ2, СИПРОЛ, ГРАФИТ/ФЛОКС, и т.д., и т.п.
Гм... Судя по всему вы перевели с английского слова Domain-Driven Design и уже решили, что знаете о чем идет речь :D

DDD не имеет отношения к проблемно-ориентированным языкам, там суть подхода совсем в другом ;) Для применения парадигмы DDD достаточно любого ООП языка.

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

Учите матчасть 8)  Evans, E., Domain-Driven Design - Tackling Complexity in the Heart of Software, 2004, Addison-Wesley
Название: На чем пишется софт для КА?
Отправлено: TAU от 09.07.2009 13:26:02
Цитироватьесли сменить подход к операторам языка программирования? Сделать из них подобие веб-узлов или операционных систем. Сейчас "операция" выполняется принудительно и фиксировано. В ОС она будет интелектуальной: сравнение с конфигурационным файлом, проверка на входе, анализ полученного результата, выдача в служебный канал сообщ. о ошибках и статистике, и т.д.  И уже из однообразных ОС собирать куски программ.  Эти куски будут уметь еще меньше, чем старый DOS, но иметь интерфейс для переговоров с программой на уровне школьника младших классов. Далее установка нескольких ОС на доске общей ОС
Вы не одиноки  :wink:
Подобные идеи развивают, в частности, в Техасском университете.
Название: На чем пишется софт для КА?
Отправлено: TAU от 09.07.2009 13:53:52
ЦитироватьГм... Судя по всему вы перевели с английского слова Domain-Driven Design и уже решили, что знаете о чем идет речь
ошибочное заключение.

ЦитироватьDDD не имеет отношения к проблемно-ориентированным языкам
вот прямо-таки и не имеет? ;-) никакого отношения?
в целом - ошибочное высказывание.

ЦитироватьДля применения парадигмы DDD достаточно любого ООП языка
И что?

ЦитироватьВ DDD включены некоторые старые вещи
Т.е. я прав.

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

Ваше "новое" - это достаточно хорошо преданное забвению молодым поколением, самонадеянным и немного агрессивным  :wink:, всё на свете считающим "новым", старое.
Так что призывы "учить матчасть" лучше начните адресовать с себя.

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

А там обнаружится: "DDD – это не просто практические решения или шаблоны, это мышление и подход, и есть великое множество нюансов, которые необходимо учитывать, если вы решили следовать DDD, таких как: фокусирование на высокий приоритет отдается модели, выработка языка предметной области, контекст модели" и "DDD — это не новая доктрина или методология. Это набор проверенных временем стратегий".

Так что по сути - в новую "упаковку" засунули то, что, как я выше писал, естественно, давно применялось, в особенности - в создании БПО в авиации и космонавтике.
Название: На чем пишется софт для КА?
Отправлено: jettero от 09.07.2009 15:36:55
Цитировать
ЦитироватьDDD не имеет отношения к проблемно-ориентированным языкам
вот прямо-таки и не имеет? ;-) никакого отношения?
в целом - ошибочное высказывание.
Ошибаетесь – к проблемно-ориентированным языкам программирования DDD не относится и проблемно-ориентированные языки для DDD не требуются. Эти подходы перпендикулярны друг к другу. Этот ваш перл про языки сразу и показал насколько вы в теме. То что вы выделили "выработка языка предметной области" тут говорится не про язык программирования, как вы почему-то решили. И "HAL/S, ПРОЛ, ПРОЛ2, СИПРОЛ, ГРАФИТ/ФЛОКС, и т.д., и т.п." к парадигме DDD отношения не имеют. Я же говорю – учите матчасть ;)

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

Ваше "новое" - это достаточно хорошо преданное забвению молодым поколением, самонадеянным и немного агрессивным  :wink:, всё на свете считающим "новым", старое.
Так что призывы "учить матчасть" лучше начните адресовать с себя.

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

А там обнаружится: "DDD – это не просто практические решения или шаблоны, это мышление и подход, и есть великое множество нюансов, которые необходимо учитывать, если вы решили следовать DDD, таких как: фокусирование на высокий приоритет отдается модели, выработка языка предметной области, контекст модели" и "DDD — это не новая доктрина или методология. Это набор проверенных временем стратегий".

Так что по сути - в новую "упаковку" засунули то, что, как я выше писал, естественно, давно применялось, в особенности - в создании БПО в авиации и космонавтике.
Вы мне ответьте на один вопрос – вы книгу читали? Или вы судите по DDD на основе Википедии? Так могу вас обрадовать, по Википедии я и сам думал, что это просто маркетинговый термин, а не технология. Причем это технология построения архитектуры, и что там использется некоторые старые вещи не удивительно, потому что она относится не к уровню языка, а к архитектуре ПО. Конечно, если упереться, то можно говорить, что все после Тьюринга и Фон-Неймана, это все тоже самое и сводится к машинным кодам в памяти, стеку и регистрам и ничего нового не придумали. Такой подход хорошое оправдание, чтобы не изучать новых технологий, – "я уже все знаю и ничего нового не придумают, это все обертка для старого" ;)
Технологии не стоят на месте и то что вы их не изучаете под предлогом, что это уже было, это ваше личное дело – можете не изучать, от вас этого никто не требует. Для разработчиков же, особенно для разработчиков сложных систем, DDD сейчас это обязательная концепция для изучения и применения. Ну да, по-вашему они конечно же зеленые дураки, плохо учились в университетах и не понимают, что тут ничего нового нет :)
В целом ваша позиция довольно не профессиональна – "не изучал, но осуждаю".

PS Ах да, еще вы все на мой зеленый возраст намекаете. Универ я закончил 11 лет назад. В универе я работал на кафедре в лаборатории, которая одновременно была АОЗТ с лицензией министерства обороны и занималась разработкой бортовых компов для танков и ЗРК. Разработка компа для Тунгуски, например, делалась в той же лаборатории и за нее универу дали орден Трудового Красного Знамени в советское время. Также у меня есть научные публикации на тему не Фон-Неймановской архитектуры, а конкретнее на тему машины управляемой потоком данных (это связано с тематикой, по которой я работал в лаборатории). Мой одногруппник, который работал там же, занимался портированием RTEMS на железку для одной из ЗРК и регулярно ездил на стрельбы итп.
Так что я хорошо представляю совковый подход к программированию, на который вы здесь ссылаетесь и могу судить, что новое, а что нет  :P
Название: На чем пишется софт для КА?
Отправлено: TAU от 09.07.2009 15:50:56
jettero, умерьте агрессию. Просто неприятно с вами общаться из-за этого, честно говоря.  :? Вместо того, чтобы сломя голову с шашкой наголо в бой бросаться, вы бы более вдумчиво читали то, что вам пишут.

ЦитироватьОшибаетесь – к проблемно-ориентированным языкам DDD не относится и проблемно-ориентированные языки для DDD не требуются. Эти подходы перпендикулярны друг к другу. Этот ваш перл про языки сразу и показал насколько вы в теме
Да, вообще говоря проблемно-ориентированные языки не обязательны при проблемно-ориентированной разработке. Но разве они не имеют к ней никакого отношения? Совсем перпендикулярны, положа руку на сердце? Кстати, если подумать, то и составление словаря понятий предметной области окажется в некотором смысле формированием предметно-ориентированного языка?

Цитировать
ЦитироватьА там обнаружится: "DDD – это не просто практические решения или шаблоны, это мышление и подход, и есть великое множество нюансов, которые необходимо учитывать, если вы решили следовать DDD, таких как: фокусирование на высокий приоритет отдается модели, выработка языка предметной области, контекст модели" и "DDD — это не новая доктрина или методология. Это набор проверенных временем стратегий"
Вы мне ответьте на один вопрос – вы книгу читали? Или вы судите по DDD на основе Википедии?
Вышеприведенные цитаты - они, по-вашему, из википедии?

Цитироватьэто технология построения архитектуры, и что там использется некоторые старые вещи не удивительно, потому что она относится не к уровню языка, а к архитектуре ПО. Конечно, если упереться, то можно говорить, что все после Тьюринга и Фон-Неймана, это все тоже самое и сводится к машинным кодам
Во-первых, кроме фон-неймановской модели вычислений существуют и другие, и давно широко известны - марковские алгорифмы (воплощены в Рефале), рекурсивные функции, лямбда-исчисление, и др. Если брать классификацию Непейводы, так вообще можно еще выделить и "программирование от событий", "программирование от состояний", "программирование от приоритетов". Так что не все - то же самое.
Если же говорить о принципе воплощения в архитектуре ПО (да-да, именно об архитектуре я сейчас говорю, а не о языках. Впрочем, использование проблемно-ориентированных языков программирования не является тут совершенно посторонним, как я и отметил выше) модели предметной области - то это давно известная вещь, широко применявшаяся в том числе в космической индустрии.  


ЦитироватьТакой подход хорошое оправдание, чтобы не изучать новых технологий... Технологии не стоят на месте
Громким словом "технология" маркетологи называют все, что им выгодно.  Они много всяких слов придумывают. Мне вот, например, совсем не нравится "рефакторинг" так называемый - как будто до этого никто не улушал ПО без изменения функциональности. Или "использование шаблонов проектирования" назвали новой (!) технологией. Может быть, конечно, для кого-то с не очень хорошим образованием и кругозором, она и новая.

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

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

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

Цитироватьпо-вашему они конечно же зеленые дураки, плохо учились в университетах и не понимают, что тут ничего нового нет :)
Ну если действительно не понимают - значит, в университете чему-то недоучили. Стремлению смотреть вглубь проблемы. Искать суть. И т.д.

ЦитироватьВ целом ваша позиция довольно не профессиональна – "не изучал, но осуждаю"
Где я осуждаю? Что вы тут городите какие-то надуманные обвинения?
Проблемно-ориентированный подход не только не считаю плохим, но, напротив, активно использую и сам. Только вот я не считаю, что это понятие надо ограничивать узкими рамками того, что вы называете Domain-Driven Design.
Название: На чем пишется софт для КА?
Отправлено: jettero от 09.07.2009 17:09:33
Вы не ответили на мой вопрос – вы книгу (Evans, E., Domain-Driven Design - Tackling Complexity in the Heart of Software, 2004, Addison-Wesley) читали?

А насчет агресии – так это вы начали нападать на меня, а не я. Я лишь посоветовал обратить внимание на новую технологию DDD, потому что она реально помогает в разработке и содержит конкретные архитектурные решения.
Это у вас вызвало целый поток критики, что я зеленый, не понимаю, что это такое итп. А на деле я вижу, что вы даже не разбирались в том, о чем спорите. Я вот уверен, что вы не работали ни с AOP, ни с ORM, ни с Persistence framework, не так ли? Потому что этого всего нету в тех языках которые вы перечисляли. Но это все часть архитектуры, которая продвигается в DDD. Это и дает мне повод сомневаться в том, что вы знаете о чем спорите. Те общие фразы про DDD, что вы писали, это из какой-то общей статьи про DDD, не из книги.
Название: На чем пишется софт для КА?
Отправлено: jettero от 09.07.2009 17:40:09
Я угадал насчет общей статьи, я нашел откуда вы взяли ту фразу, но почему-то вы ее взяли не до конца ;), полностью она звучит так:
ЦитироватьОднако DDD – это не просто практические решения или шаблоны, это мышление и подход, и есть великое множество нюансов, которые необходимо учитывать, если вы решили следовать DDD, таких как: фокусирование на высокий приоритет отдается модели, выработка языка предметной области, контекст модели, процесс моделирования, разделение знаний, рефакторинг, стратегический дизайн и т.д...это является  основной причиной ознакомиться с книгой Эрика Ивенса, так как она даст вам более объемное и глубокое понимание философии DDD.
Как видите и здесь вам советуют прочесть наконец книгу Эрика Ивенса  :D
Название: На чем пишется софт для КА?
Отправлено: jettero от 09.07.2009 19:36:05
ЦитироватьВо-первых, кроме фон-неймановской модели вычислений существуют и другие, и давно широко известны - марковские алгорифмы (воплощены в Рефале), рекурсивные функции, лямбда-исчисление, и др. Если брать классификацию Непейводы, так вообще можно еще выделить и "программирование от событий", "программирование от состояний", "программирование от приоритетов". Так что не все - то же самое.
Все что вы перечислили выполняется именно на фон-неймановской архитектуре, так что кто-то может упереться и сказать, что ничего нового после Фон-Неймана нету. Я привожу эту ситуацию как пример, что бессмысленно утверждать, что DDD это только фантик для старых подходов.
ЦитироватьЕсли же говорить о принципе воплощения в архитектуре ПО (да-да, именно об архитектуре я сейчас говорю, а не о языках. Впрочем, использование проблемно-ориентированных языков программирования не является тут совершенно посторонним, как я и отметил выше) модели предметной области - то это давно известная вещь, широко применявшаяся в том числе в космической индустрии.
Вы спорите сами с собой, я писал про DDD как новый подход к дизайну сложных систем, а не про то, что проблемно-ориентированный подход это что-то новое. Для вас это одно и то же, потому что вы не изучали первоисточник и не знаете архитектуру, что там предлагается и думаете, что там ничего нового нету. Это не так.
Название: На чем пишется софт для КА?
Отправлено: Not от 10.07.2009 08:01:17
ЦитироватьСуществует новый подход к программированию для работы со сложными системах, например для корпоративных систем управления. Этот подход называется Domain-driven_design (http://en.wikipedia.org/wiki/Domain-driven_design) и он упрощает создание очень сложных систем.
Я честно скажу, книжку Ивенса не читал. Можно на пальцах, в чем основные отличия  DDD от, например, декларативного программирования, когда у вас есть декларативная модель, описанная в терминах заданной предметной области и некая машина, которая эту модель исполняет на некоторой (фон неймановской) архитектуре.
Название: На чем пишется софт для КА?
Отправлено: Not от 10.07.2009 08:11:33
Цитировать
Цитировать
Цитировать
ЦитироватьЯ персонально писал ОС РВ, готов ответить на вопросы.
А что именно Вы называете ОС РВ? Диспетчер прикладных задач? Управление "железом"?
ОС РВ = операционная система реального времени. Та, что писал я представляла из себя многозадачную ОС с вытеснением и приоритетностью задач/прерываний. Включала в себя диспетчер задач/прерываний, управление внешней памятью (процессор - специальное расширение Intel 286), драйверы PCMCIA, граф. адаптера  последовательного порта, сенсорного экрана, GPS-приемника (одного из первых), управление питанием и кое-что еще по мелочи. Библиотеки поддержки многозадачности (семафоры, очереди, мониторы и т.д.), работы с графическими функциями и т.п. Все писалось под конкретную задачу, с минимумом дополнительной функциональности. Писалось потому, что существующие компактные ОС РВ или не подходили к этому железу, или банально не влезали в память. После консультаций с разработчиками оных (в частности Apple и Gео Works) было решено плюнуть на это безобразие и рискнуть сделать самим.

Там не было динамических библиотек, динамически загружаемых драйверов и прочего джентльменского набора характерного для ОС общего назначения. Да и не требуется оно как правило в авионике.

Портировалось туда специальное ПО написанное для ОС VRTX и процессора МС68000.

А какой размер ядра? POSIX совместимость? Компилятор?
Прошу прощения за паузу - погряз в делах. POSIX-совместимости не было  никакой, поскольку не было понятия процесса так как это трактует POSIX. Были скорее конкурентно исполняемые потоки, работающие на общей памяти. Но и задача получить POSIX-совместимую систему не ставилась - задача была втиснуть навигационное ПО в узкие рамки данной ВМ. В качестве компилятора использовался Zortech C++. Ядро было написано на С и ассемблере х86. В библиотеках уже применялся С++. Размер ядра сейчас навскидку не вспомню, нужно откопать тот жесткий диск, где оно хранится. Но весь исполняемый код, без прикладного ПО занимал что-то около 100 килобайт. Точнее скажу, когда вытащу старые исходники на свет  :D
Название: На чем пишется софт для КА?
Отправлено: jettero от 09.07.2009 22:17:26
DDD не относится к именно языку программирования. Часть DDD описывает как надо делать проект, как работать с экспертом предметной области, как выработать общепринятый язык общения, который понимают и эксперт и программист. Используя термины этого языка уже создается модель, которую понимают и эксперт предметной области и программист итд... Это если в двух словах и утрированно, там описано много шагов этого процесса.
Другая часть DDD относится непосредственно к архитектуре, на какие слои разбивать ПО, как интерфейсный слой взаимодействует с моделью, из каких типов объектов должна состоять модель (безотносительно ЯП, а функциональная классификация), какие слои инфраструктуры стоят ниже модели, как эти слои обеспечивают сохранение сущностей модели в БД, без того, чтобы модель "знала" о том как она сохраняется итп... Здесь активно используются такие технологии как ORM, AOP, Persistance. Это опять-таки в двух словах, на 600 страницах там много что рассказано.
Другими словами DDD это некая обобщающая формализация проектирования и стандарт построения архитектуры сложных систем. Сейчас развиваются различные фреймворки, где стандарты DDD подхода уже встроены в библиотеки и это значительно облегчает разработку больших систем.
Название: На чем пишется софт для КА?
Отправлено: Not от 10.07.2009 08:47:49
ЦитироватьDDD не относится к именно языку программирования. Часть DDD описывает как надо делать проект, как работать с экспертом предметной области, как выработать общепринятый язык общения, который понимают и эксперт и программист. Используя термины этого языка уже создается модель, которую понимают и эксперт предметной области и программист итд... Это если в двух словах и утрированно, там описано много шагов этого процесса.
Все это является частями технологического процесса создания ПО, в рамках того или иного подхода. В частности, есть понятие прикладного ПО (framework, если угодно) и инженера-внедренца, владеющего предметной областью заказчика. Очевидно, что внедренец общается с заказчиком (экспертом) на языке заказчика и строит модель понятную заказчику.

ЦитироватьДругая часть DDD относится непосредственно к архитектуре, на какие слои разбивать ПО, как интерфейсный слой взаимодействует с моделью, из каких типов сущностей должна состоять модель, какие слои инфраструктуры стоят ниже модели, как эти слои обеспечивают сохранение сущностей модели в БД, без того, чтобы модель "знала" о том как она сохраняется итп... Здесь активно используются такие технологии как ORM, AOP, Persistance.
Другими словами DDD это некая обобщающая формализация проектирования и стандарт построения архитектуры сложных систем. Сейчас развиваются различные фреймворки, где DDD подход уже встроен в библиотеки и это значительно облегчает разработку больших систем.
А чем это отличается, от, например, Java Enterprise, где тоже есть и философия, и слоеность, и сохраненияе состояния, и инженер по конфигурированию компонентов и т.д. ?
Название: На чем пишется софт для КА?
Отправлено: jettero от 09.07.2009 23:21:44
ЦитироватьВсе это является частями технологического процесса создания ПО, в рамках того или иного подхода. В частности, есть понятие прикладного ПО (framework, если угодно) и инженера-внедренца, владеющего предметной областью заказчика. Очевидно, что внедренец общается с заказчиком (экспертом) на языке заказчика и строит модель понятную заказчику.
Да, есть разные подходы, в том что вы описали нет требования, чтобы модель использовала обобщенный, а не специализированный язык, в DDD это обязательное условие и это только одно из отличий. Хотите знать подробнее - читайте, а то мне пересказывать 600 страниц технического текста совсем не интересно.

ЦитироватьА чем это отличается, от, например, Java Enterprise, где тоже есть и философия, и слоеность, и сохраненияе состояния, и инженер по конфигурированию компонентов и т.д. ?
Не понял вопроса. Никто не мешает использовать парадигму DDD программирую на Java Enterprise. Java Enterprise не задает жестко как должна строится архитектура и имплиментировать DDD можно на любом ООП языке.

Если ваша цель изучить что это такое и как может помочь вам в работе, то читайте книги, если вы считаете, что вам это не поможет, то спорить об этом я тоже не буду, мне за это не платят :)
Название: На чем пишется софт для КА?
Отправлено: TAU от 09.07.2009 22:23:38
Цитироватьу вас вызвало целый поток критики, что я зеленый, не понимаю, что это такое итп.
и все-таки, так оно, по большому счету, и остается. Вы бросаетесь в спор, не желая внимательно отнестись к тому, что вам говорят, и посмотреть... с высоты птичьего полета, что ли, на весь этот так называемый DDD.  

ЦитироватьЯ вот уверен, что вы не работали ни с AOP, ни с ORM, ни с Persistence framework, не так ли?
Жонглирование английскими аббревиатурами тоже достаточно ярко вас характеризует. AOP, надо понимать - аспектно-ориентированное программирование? :wink:

ЦитироватьПотому что этого всего нету в тех языках которые вы перечисляли
Нету.

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

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

Ладно, дискуссия эта тут является грубым отклонением от темы, думаю, ей здесь не место.
Название: На чем пишется софт для КА?
Отправлено: TAU от 09.07.2009 22:31:19
ЦитироватьНе понял вопроса, это как спросить, а чем .Net отличается от Java Enterprise? там ведь тоже есть своя философия и библиотеки итп.
Вот-вот. Не понимаете вы.  :wink:

В связи с этим и рветесь в бой. А не стоит. Получается - с ветряными мельницами.

На моем, к примеру (и, предположу, общем с Not), уровне понимания между .Net и JEE нет по большому счету глубоких отличий. Ну разве что изначально промежуточный код .Net подлежал компиляции, а Java сначала задумывалась как интерпретируемая. Все равно потом сблизились. Ну и, Java сразу кроссплатформенная, а .Net вроде как не особо - но потом все равно появились некие реализации для Linux, например.
Название: На чем пишется софт для КА?
Отправлено: TAU от 09.07.2009 22:37:09
Цитировать
ЦитироватьВо-первых, кроме фон-неймановской модели вычислений существуют и другие, и давно широко известны - марковские алгорифмы (воплощены в Рефале), рекурсивные функции, лямбда-исчисление, и др... Так что не все - то же самое
Все что вы перечислили выполняется именно на фон-неймановской архитектуре, так что кто-то может упереться и сказать, что ничего нового после Фон-Неймана нету
ну, если только этот кто-то не особо умный будет. Кстати, существовали и вполне себе аппаратные реализации иных моделей вычислений. Скажем, вы слышали о машинах, управляемых потоками данных?

Цитироватьбессмысленно утверждать, что DDD это только фантик для старых подходов
Да нет, в определенном смысле вполне оправданно.

Цитироватья писал про DDD как новый подход к дизайну сложных систем, а не про то, что проблемно-ориентированный подход это что-то новое
Да... Трудности понимания или трудности перевода... Собственно, по-вашему, Domain Driven Design надо понимать исключительно в узком смысле как строго конкретную технологию, описанную в "великой книге", на которую вы постоянно ссылаетесь?

Цитироватьдумаете, что там ничего нового нету. Это не так
Я так не думаю. Кое-что новое, безусловно, есть. Но, опять же - это в основном мелочи, детали реализации. А основная идея - проблемно-ориентированное проектирование. Давно известное и используемое.
Все, хватит.
Название: На чем пишется софт для КА?
Отправлено: jettero от 09.07.2009 23:37:18
TAU я не буду с вами продолжать дискуссию, вы проигнорировали 2 раза вопрос, который я считаю ключевым, засим адъез.
Название: На чем пишется софт для КА?
Отправлено: jettero от 09.07.2009 23:43:10
PS
ЦитироватьСкажем, вы слышали о машинах, управляемых потоками данных?
Хороший пример, как вы не слушаете собеседника и спорите сами с собой, страницу назад я писал, что у меня есть научные публикации на тему машин управляемых потоком данных.
Название: На чем пишется софт для КА?
Отправлено: Not от 10.07.2009 11:12:06
Цитировать
ЦитироватьА чем это отличается, от, например, Java Enterprise, где тоже есть и философия, и слоеность, и сохраненияе состояния, и инженер по конфигурированию компонентов и т.д. ?
Не понял вопроса. Никто не мешает использовать парадигму DDD программирую на Java Enterprise. Java Enterprise не задает жестко как должна строится архитектура и имплиментировать DDD можно на любом ООП языке.
Java Enterprise, равно как и .NET задают некоторые жесткие архитектурные ограничения. В частности, вам нужно согласиться, что ваше приложение состоит из некоторых компонентов, функционирюущих в контейнерах, которые ваши компоненты условно говоря "дергают за веревочки"  в нужный момент. Естественно, что если вы согласны на такую жизнь марионетки, то должны согласиться с правилами игры - например, не создавать параллельных потоков исполнения внутри компонента.

ЦитироватьЕсли ваша цель изучить что это такое и как может помочь вам в работе, то читайте книги, если вы считаете, что вам это не поможет, то спорить об этом я тоже не буду, мне за это не платят :)
Да упаси боже. Мне просто любопытно. Я специально сейчас послушал в онлайне лекцию Ивенса по стратегическому дизайну. Очень невнятный дядя, с многочисленными экскурсами и ракурсами, притом что по сути вся его техника, насколько я понял, укладывается в несколько простых правил:
1. работайте на уровне моделей.
2. создавайте адаптеры между моделями и реальным миром.
3. используйте языки характерные для предметной области.

Ну, здорово. Открываем книжку по мат. логике. Читаем. Есть модель, есть интерпретация модели. Открываем книжку по шаблонам проектирования (Design Patterns, читали наверное). Читаем - используйте адаптеры для изоляции вашего приложения от изменений внешнего мира. Ну и так далее. Зато чего у Ивенса много - это философии на тему как "правильно писать программы". Типичное поведение опытного архитектора, наевшегося в свое время проблем, наработавшего набор защитных реакций, воплотив их в конкретном коде (так появляются "framework"-и) написавшего про это книжку.

Теперь по сути. Мне было бы значительно интереснее, если бы он
1. Определил формализм, на котором базируются его модели.
2. Показал бы, насколько его формализм эффективнее других в смысле сокращения пространства состояний программы (системы), необходимых для постижения программистом.
3. Привел бы вычислительно доступные формальные способы анализа (верификации) программ в рамках этого формализма.

Если бы он в этом процессе развил например идеи Ковальски, или Дейкстры или Петри, или Нариньяни, или Хоара и т.д. и т.п, то и честь ему и хвала.  Я уж не говорю о создании нового конструктивного формализма.

Пока же я, простите, вижу методику "здравого смысла", что безусловно лучше чем ничего, но ничего не дает, если вы уже владеете формальными методами построения сложных систем.
Название: На чем пишется софт для КА?
Отправлено: jettero от 10.07.2009 02:23:15
ЦитироватьJava Enterprise, равно как и .NET задают некоторые жесткие архитектурные ограничения. В частности, вам нужно согласиться, что ваше приложение состоит из некоторых компонентов, функционирюущих в контейнерах, которые ваши компоненты условно говоря "дергают за веревочки"  в нужный момент. Естественно, что если вы согласны на такую жизнь марионетки, то должны согласиться с правилами игры - например, не создавать параллельных потоков исполнения внутри компонента.
Это не мешает имплементировать DDD.

ЦитироватьТеперь по сути. Мне было бы значительно интереснее, если бы он
1. Определил формализм, на котором базируются его модели.
2. Показал бы, насколько его формализм эффективнее других в смысле сокращения пространства состояний программы (системы), необходимых для постижения программистом.
3. Привел бы вычислительно доступные формальные способы анализа (верификации) программ в рамках этого формализма.
Ну раз вам и правда интересно ;) насчет вопросов формализма модели, в онлайне есть вот такой труд http://www.4shared.com/file/110803289/43537f8c/DomainDrivenDesignQuicklyOnline.html , это можно считать кратким пересказом книжки Иванса.

ЦитироватьПока же я, простите, вижу методику "здравого смысла", что безусловно лучше чем ничего, но ничего не дает, если вы уже владеете формальными методами построения сложных систем.
Гм, скорее не методика здравого смысла, а синтез метода на основе анализа и опыта самых работающих подходов. Некая стандартизация успешных действий старых практик, это дает возможность сделать фреймворк где эти идеи уже заложены в библиотеки, что дает девелоперу в руки готовые инструменты и ему не нужно изобретать велосипед по поводу как лучше построить архитектуру, а можно все внимание уделить модели.
Название: На чем пишется софт для КА?
Отправлено: Not от 10.07.2009 13:16:27
ЦитироватьНу раз вам и правда интересно ;) насчет вопросов формализма модели, в онлайне есть вот такой труд http://www.4shared.com/file/110803289/43537f8c/DomainDrivenDesignQuicklyOnline.html , это можно считать кратким пересказом книжки Иванса.
посмотрел по диагонали. Почитал внимательно главау про "вездесущий" язык (ну и название блин!) И... ничего не понял. Т.е. вообще ничего. Там нет языка. Там есть алфавит языка, определенный набором сущностей (entities). Но язык еще предполагает грамматику. Об этом, однако, ни слова.

Цитаты из главы Ubiquitous Language

"What should we use for the language? Just speech? We've used diagrams."

"So UML cannot convey two important aspects of a model: the meaning of the concepts it represents and what the objects are supposed to do. But that is OK, since we can add other communication tools to do it."

"We can use documents. One advisable way of communicating the model is to make some small diagrams each containing a subset of the model. These diagrams would contain several classes, and the relationship between them. That already includes a good portion of the concepts involved. Then we can add text to the diagram. The text will explain behavior and constraints which the diagram cannot. Each such subsection
attempts to explain one important aspect of the domain, it points a "spotlight" to enlighten one part of the domain. Those documents can be even hand-drawn, because that transmits the feeling that they are temporary, and might be changed in the near future, which is true, because the model is changed many times in the beginning before it reaches a more stable status."

"It is also possible to communicate using code."

"There are other ways to communicate during design. It's not the
purpose of this book to present all of them."

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

ЦитироватьГм, скорее не методика здравого смысла, а синтез метода на основе анализа и опыта самых работающих подходов. Некая стандартизация успешных действий старых практик, это дает возможность сделать фреймворк где эти идеи уже заложены в библиотеки, что дает девелоперу в руки готовые инструменты и ему не нужно изобретать велосипед по поводу как лучше построить архитектуру, а можно все внимание уделить модели.
Я не понял, вы сами-то этим пользовались? Как интересно вы собрались объединять "две успешные старые практики", если они друг с другом несовместны и совместными быть не предполагались? Из прочтения этого документа я не вынес вообще ничего. Когда мне пишут - рисуйте UML диаграммы, если этого мало - пишите свободным текстом, если и этого мало - есть другие средства но мы вам не расскажем, ибо книжка не про то. А простите, про что эта книжка?  :shock:
Название: На чем пишется софт для КА?
Отправлено: jettero от 10.07.2009 03:37:09
Попробуйте почитать дальше, то что вы написали это как начинать проектирование, когда разрабатывается идея на пальцах. Для меня там все вроде понятно, что к чему.

Посмотрите вообще сайт infoq.com – это авторитетный ресурс для ентерпрайз девелоперов и почитайте предисловие, что в той книге написал основатель этого сайта, как вы думаете, если он считает это методику важной, может вы просто не вникли в нее? ;)

Насчет практики я сейчас пользуюсь фреймворком FLOW3, который позволяет реализовать почти все концепции DDD "из коробки", но он еще в alfa release.
Название: На чем пишется софт для КА?
Отправлено: Not от 10.07.2009 13:41:17
ЦитироватьПопробуйте почитать дальше, для меня там все вроде понятно. Посмотрите вообще сайт infoq.com это авторитетный ресурс для ентерпрайз девелоперов и почитайте предисловие, что в той книге написал основатель этого сайта, как вы думаете если он считает это методику важной, может вы просто не вникли в нее? ;)

Насчет практики я сейчас пользуюсь фреймворком FLOW3, который реализует многие концепции DDD.
Вы меня простите, но я со своим традиционным образованием в нее вникнуть не смогу. Ибо для меня термин "язык" имеет вполне определенный смысл. Если автор книжки этот термин переопределяет или извращает, дальнейшее чтение интереса не вызывает  :D А уж "вездесущий" язык... Чур меня, чур! :D Касательно же книжки - а вы можете сказать навскидку, чем DDD отличается от RUP (Rational Unified Process)?
Название: На чем пишется софт для КА?
Отправлено: jettero от 10.07.2009 03:44:17
Ну как хотите, вас никто не заставляет :)
RUP это от IBM? навскиддку сказать не могу, не работал с ним.
Название: На чем пишется софт для КА?
Отправлено: Not от 10.07.2009 13:54:42
ЦитироватьНу как хотите, вас никто не заставляет :)
RUP это от IBM? навскиддку сказать не могу, не работал с ним.
А, ну тогда мне становится понятным ваш энтузизм :D RUP - это от компании Rational, которую впоследствии купила IBM. Берет свое начало от трудов Буча, Румбау и Йенсена, из работ которых собственно и был создан UML. Впоследствии они создали компанию Rational, сформулировали итеративный жизненный цикл программных продуктов и выпустили продукт Rational Rose - оболочку для отрисовки моделей и кодогенерации. Но там были хорошие формализмы. Глядя на DDD можно в разных местах увидеть торчащие уши RUP, хотя авторы старательно увиливают от упоминания оного  :wink:
Название: На чем пишется софт для КА?
Отправлено: jettero от 10.07.2009 04:10:07
Хорошо, почитаю про RUP :) тогда смогу сказать что есть в DDD, а нету там. Но мне кажется вы поспешно судите о технологии прочитав только про "вездесущий язык"  :D
Там суть-то в том, как слои организуются, из каких кирпичиков модель строится и как она работает с другими слоями, а не в "вездесущем языке" который вам так не понравился ))), хотя он тоже важен.

Кстати обратный пример, нагуглил уши DDD в статье в разделе Rational (это же отцы RUP'а?) на сайте IBM  :D
http://www.ibm.com/developerworks/library/ar-apparch2/index.html
ЦитироватьDomain model

Domain modeling isn't really new, but little has been published on just how to do it. Eric Evans' book Domain-Driven Design (see Resources) provides a set of patterns for modeling domains that includes techniques for identifying and factoring domain boundaries and refining the domain designs.

Using these techniques to document your domain will go a long way toward giving your application architectures a long and happy life.

Если уж разработчики RUP сами ссылаются на DDD, дескать читайте у Иванса как правильно делать модель, то сомневаюсь, что это взаимозаменяемые подходы ;)
Название: На чем пишется софт для КА?
Отправлено: jettero от 10.07.2009 11:29:26
А вообще словосочетание "domain-driven design" на сайте IBM встречается 54 раза :D
http://www.google.ru/search?hl=ru&newwindow=1&q=%22domain-driven+design%22+site%3Aibm.com&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=&aq=f&oq=

А "Eric Evans" 44 раза  :D  :D
http://www.google.ru/search?hl=ru&newwindow=1&q=%22Eric+Evans%22+site%3Aibm.com&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=&aq=f&oq=
Название: На чем пишется софт для КА?
Отправлено: Not от 10.07.2009 23:37:02
ЦитироватьА вообще словосочетание "domain-driven design" на сайте IBM встречается 54 раза :D
http://www.google.ru/search?hl=ru&newwindow=1&q=%22domain-driven+design%22+site%3Aibm.com&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=&aq=f&oq=

А "Eric Evans" 44 раза  :D  :D
http://www.google.ru/search?hl=ru&newwindow=1&q=%22Eric+Evans%22+site%3Aibm.com&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=&aq=f&oq=
А Гради Буч 22000 раз. Ну и что из того?

http://www.google.ru/search?hl=ru&newwindow=1&q=%22Grady+Booch%22+site%3Aibm.com&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=&aq=f&oq=
Название: На чем пишется софт для КА?
Отправлено: jettero от 10.07.2009 15:46:11
Ничего удивительного – Гради Буч & UML как бы это родная тема для IBM, а DDD к IBM никаким боком не относится. И DDD относительно недавно появилось, поэтому ссылок пока еще мало, но они есть, значит технология используется.
В общем факт, что топовые IT архитекторы пишут, что это нужная технология (даже разработчики под ваш RUP) и стараются ее продвигать в массы (тот же главред infoQ), мой пока небольшой опыт c DDD, говорит мне, что это полезная вещь.
Изучать это или нет ваша дело, думаю можно дальше это не обсуждать ;)
Название: На чем пишется софт для КА?
Отправлено: TAU от 11.07.2009 17:33:52
ЦитироватьPS
ЦитироватьСкажем, вы слышали о машинах, управляемых потоками данных?
Хороший пример, как вы не слушаете собеседника и спорите сами с собой, страницу назад я писал, что у меня есть научные публикации на тему машин управляемых потоком данных
Прошу прощения. И почитать можно?
Название: На чем пишется софт для КА?
Отправлено: TAU от 11.07.2009 17:51:27
Уважаемый Not!

ЦитироватьПочитал внимательно главу про "вездесущий" язык (ну и название блин!) И... ничего не понял. Т.е. вообще ничего. Там нет языка... простите, про что эта книжка?  :shock:
Видите ли, думаю, просто дело в том, что уровень книг в области ИТ на данный момент очень сильно вариьирует. Огромное количество посто макулатуры. Обильно сдобренной маркетингом со звонкими заявлениями
И Иванс этот, видимо, недалеко ушел от, скажем, Фаулера - судя по Вашему описанию (jettero, признаюсь, труд Иванса я не читал), и по стилю изложения с потоками "воды" и туманом, и по уровню.

Так что надеяться на
Цитироватьбыло бы значительно интереснее, если бы он
1. Определил формализм, на котором базируются его модели.
2. Показал бы, насколько его формализм эффективнее других в смысле сокращения пространства состояний программы (системы), необходимых для постижения программистом.
3. Привел бы вычислительно доступные формальные способы анализа (верификации) программ в рамках этого формализма.
Если бы он в этом процессе развил например идеи Ковальски, или Дейкстры или Петри, или Нариньяни, или Хоара и т.д. и т.п, то и честь ему и хвала.  Я уж не говорю о создании нового конструктивного формализма
думаю, совершенно не стоит.

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

Буду счастлив, если я ошибаюсь.
Название: На чем пишется софт для КА?
Отправлено: Not от 14.07.2009 08:24:59
ЦитироватьУважаемый Not!
Зато:  
Цитироватьавторитетный ресурс для ентерпрайз девелоперов
И весьма и весьма жаль, что молодое поколение, т.н. "ентерпрайз девелоперы", принимают именно это и в таком виде за действительно "вершины мысли" в области программирования. Так сказать, поедают камни вместо хлеба.

Буду счастлив, если я ошибаюсь.
Ну это совершенно нормальная ситуация. "Энтерпрайз девелоперы" образовались в больших количествах во время Интернет-бума, произошедшего в конце прошлого века, когда оказалось, что, благодаря  появлению многофункциональный контейнеров приложений, можно обладая относительно небольшим запасом знаний можно строить большие и сложные системы масштаба предприятия, не уделяя большого внимания таким традиционным проблемам как синхронизации процессов, распределению памяти и т.д.  Естественно, что создание больших проектов в контейнерах приложений требует определенной практики, знания интерфейсов и умение организовать свою работу. Именно в целях эффективной организации появлись многочисленные практические наработки, такие как UML (язык моделирования объектных систем), Design Patterns (набор практически полезных шаблонов проектирования), многочисленных оболочек с разной функциональностью (Spring, разнообразные MVC-решения, Hibernate и многие другие). Очевидно, что авторы этих оболочек пишут книги (хороший способ "монетизации" опыта). Как правило эти книги пишутся крупным шрифтом, с большим количеством картинок, вольных отступлений, нестрогими а часто вообще алогичными выводами, абсолютно "отфонарной" терминологией и так далее. Иногда эти практики называют себя "отцами" в той или иной области "энтерпрайз девелопмента", любят собирать семинары, проводить конференции по обмену опытом :D

В большом количестве "энтерпрайз девелоперы" появились в Индии, где в университетах принят прагматичный подход к образованию, в отличии от фундаментального в СССР/России.  При таком прагматичном подходе учат конкретным вещам, например программированию на С++ или Java, в среде .NET или J2EE. Фундаментальные же курсы, такие как линейная алгебра, дискретная математика, физика, анализ алгоритмов, теория сложности, распределенные и параллельные алгоритмы  и т.д.,  даются в минимальном объеме, часто ознакомительном. Как следствие - выходят сильные но очень узкие специалисты, неспособные решить проблему за рамками уютного теплого контейнера. Собственно об этой узости образования мне говорили сами индийские программисты.

Очевидно, что и в России появились многочисленные последователи "ентерпрайз девелопмента", быстро почувствовавшие вкус легких побед при работе в рамках контейнеров, но слабо при этом разбирающихся в фундаментальных вещах. Это может быть оправдано в определенной узкой области "энтерпрайз девелопмента", но абсолютно нежизнеспособно при создании и сопровождении ответственных (mission critical) приложений. Собственно в США к этой области "энтерпрайз девелоперов" даже близко не подпускают. Образование, умение создавать мат. модели, алгоритмировать и верифицировать алгоритмы проверяются в первую очередь.
Название: На чем пишется софт для КА?
Отправлено: TAU от 13.07.2009 22:05:42
ЦитироватьНу это совершенно нормальная ситуация
Не согласен, что нормальная. Впрочем, тут может быть дело в тонкостях толкования понятия "нормальности". Объяснимая - да. Правильная? Нет!

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

Цитироватьпрагматичный подход к образованию, в отличии от фундаментального в СССР/России.  При таком прагматичном подходе учат конкретным вещам, например программированию на С++ или Java, в среде .NET или J2EE
Это называется - ПТУ. Да, рабочие тоже нужны. Однако, все-таки не хотелось бы, чтобы наше университетское образование до такого деградировало. И программирование в целом - тоже. А процесс, к сожалению, идет  :(
Название: На чем пишется софт для КА?
Отправлено: yos от 13.07.2009 23:12:35
А дело в том, что на Украине, да и в России наверное тоже, вообще нету возможности получить образование "по программированию" не в университете. Т.е. нету таких "ПТУ" где людей учат только программировать и никакой науки. А потребность в таких специалистах тоже есть и даже большая.
Не говоря уже о разных там системных администраторах и т.д. На такое вообще трудно, если возможно, где-то найти место учёбы. Смешно и грустно, но часто именно люди из (паршивих и прогнивших) университетов именно по таким специальностьям и трудятся, несмотря на их более "высшее", на бумаге, образование.
А вот в других странах все эти образовательные программы на разных уровнях есть.
Название: На чем пишется софт для КА?
Отправлено: Not от 14.07.2009 09:15:57
ЦитироватьЭто называется - ПТУ.
Ну да, бакалавриат  :D Хотя я думал, что бакалавр - это хотя бы техникум.
Название: На чем пишется софт для КА?
Отправлено: Александр Куприянов от 14.07.2009 09:39:58
ЦитироватьА дело в том, что на Украине, да и в России наверное тоже, вообще нету возможности получить образование "по программированию" не в университете. Т.е. нету таких "ПТУ" где людей учат только программировать и никакой науки. А потребность в таких специалистах тоже есть и даже большая.
Не говоря уже о разных там системных администраторах и т.д. На такое вообще трудно, если возможно, где-то найти место учёбы. Смешно и грустно, но часто именно люди из (паршивих и прогнивших) университетов именно по таким специальностьям и трудятся, несмотря на их более "высшее", на бумаге, образование.
А вот в других странах все эти образовательные программы на разных уровнях есть.

Техникумы (хреновые) есть, ПТУ - эквиваленты - тоже. В смысле - деградация образования - идет системно. Внесистемно - студенты-прагматики "доворачивают".
Они ж нормальные:)
Название: На чем пишется софт для КА?
Отправлено: TAU от 14.07.2009 12:18:04
Цитировать
ЦитироватьЭто называется - ПТУ.
Ну да, бакалавриат  :D Хотя я думал, что бакалавр - это хотя бы техникум.
Ну, по сроку обучения ближе к техникуму. Но хрень редьки не особо слаще - все равно образование среднее. Там "среднее профессиональное", тут - "среднее техническое".
Название: На чем пишется софт для КА?
Отправлено: yos от 14.07.2009 22:55:49
Бакалавры бывают разные, хотя наверное зависит от страны. В моём случае, я знаком с двумя. Bachelor of Technology -- 4 года обучения в учебном заведении сравнимом с советским институтом. А есть Bachelor of Science -- 3-4 года в настоящем университете. После этого большинство студентов продолжают учёбу, становясь Master of Science.
Так что, бакалавриат никак с "ПТУ" не связан и не может быть связан. И не среднее это образование. Этот термин и звание вообще происходит из "классических" университетов Европы и ему уже несколько сотен лет.
Название: На чем пишется софт для КА?
Отправлено: TAU от 14.07.2009 22:06:07
ЦитироватьБакалавры бывают разные, хотя наверное зависит от страны. В моём случае, я знаком с двумя. Bachelor of Technology -- 4 года обучения в учебном заведении сравнимом с советским институтом. А есть Bachelor of Science -- 3-4 года в настоящем университете. После этого большинство студентов продолжают учёбу, становясь Master of Science.
Так что, бакалавриат никак с "ПТУ" не связан и не может быть связан. И не среднее это образование. Этот термин и звание вообще происходит из "классических" университетов Европы и ему уже несколько сотен лет
А если подумать? Содержательно, а не формально?
Название: На чем пишется софт для КА?
Отправлено: yos от 15.07.2009 11:50:53
В смысле, что это всё равно среднее образование? Ну давайте подумаем. В той-же самой стране, о которой я пишу (не важно какая), среднее образование имеют плотники, слесари, автомеханики, уборщики, младшие медсёстры, маляры, строители, водители...
Это, по-вашему может быть тем-же уровнем образования, которое получают хотя бы Bachelor-ы of Technology? Не говоря уже, об университетском бакалавре? Университет -- в принципе не среднее образование, даже если его учебная программа и разделена на бакалавра и магистра.

Другое дело, что, например, в Индии, как свидетельствуют приведенные здесь примеры, звание бакалавра цепляют к более низкому, по качеству, уровню образования. Но всё-равно, это не тот-же уровень, что и у плотника.
Название: На чем пишется софт для КА?
Отправлено: Feol от 15.07.2009 13:14:31
Правда, пьяные безработные выпускники толпами ходят, а нормальных трезвых плотников нет  :cry:
Название: На чем пишется софт для КА?
Отправлено: yos от 15.07.2009 17:47:04
Цитироватьа нормальных трезвых плотников нет  :cry:
Или просто вообще нет, как на Украине. Всем обязательно иметь бумажку о высшем образовании, даже последним колхозникам (не в обиду, конечно).
Название: На чем пишется софт для КА?
Отправлено: Сергиенко Роман от 17.07.2009 11:00:36
Я лично проходил стажировку в Высшей технической школе г. Ульм в ФРГ по программе бакалавриата и знаю, что это такое. Действительно, бакалавриат в западном техническом вузе очень сильно напоминает обучение в российском техническом вузе. По уровню теоретической подготовки и прикладной программе называть это ПТУ рука не поднимается. Единственное, уровень преподавания высшей математики там несколько ниже, это чувствуется. Но это характерно для всех западных вузов. Преподавание математики в вузах России всегда считалось лучшим в мире (по крайней мере, до последнего времени).
Название: На чем пишется софт для КА?
Отправлено: jettero от 22.07.2009 23:34:10
На Гуглекоде из архивов MIT опубликовали исходники программ для некоторых миссий Аполон http://code.google.com/p/virtualagc/source/browse/trunk/Luminary099/LUNAR_LANDING_GUIDANCE_EQUATIONS.agc

в комментариях есть интересные фразы :)
ЦитироватьTC      BANKCALL        # TEMPORARY, I HOPE HOPE HOPE
                CADR    STOPRATE        # TEMPORARY, I HOPE HOPE HOPE

А это программа для ЛМ Аполона 13 и 14 http://code.google.com/p/virtualagc/source/browse/trunk/Luminary131/BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.s?r=258

Файл называется BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.s  :D

Здесь есть эмулятор систем Аполона на котором можно запускать эти программы http://www.ibiblio.org/apollo/index.html
Название: На чем пишется софт для КА?
Отправлено: TAU от 23.07.2009 11:00:32
ЦитироватьНа Гуглекоде из архивов MIT опубликовали исходники программ для некоторых миссий Аполон http://code.google.com/p/virtualagc/source/browse/trunk/Luminary099/LUNAR_LANDING_GUIDANCE_EQUATIONS.agc
А это программа для ЛМ Аполона 13 и 14 http://code.google.com/p/virtualagc/source/browse/trunk/Luminary131/BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.s?r=258
Файл называется BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.s  :D
Здесь есть эмулятор систем Аполона на котором можно запускать эти программы http://www.ibiblio.org/apollo/index.html
Спасибо, очень интересно!
Название: На чем пишется софт для КА?
Отправлено: Scarecrow от 23.07.2009 20:05:16
ЦитироватьИ не среднее это образование. Этот термин и звание вообще происходит из "классических" университетов Европы и ему уже несколько сотен лет.
В связи с бакалаврами действительно образовалась, по историческим причинам, полная терминологическая путаница. Бакалавр может быть и выпускником лицея, значит средней школы типа гимназии (например во Франции, или по программе "европейской школы", в основном для детей евробюрократов) или выпускником колледжа или высшего учебного заведения, со сроком обучения од двух до четырёх лет, где всё очень зависит от конкретной школы, специальности и страны.
Название: На чем пишется софт для КА?
Отправлено: yos от 24.07.2009 18:55:10
Ну да, а все применения этого звания ко всяческим невысшим образованиям это, чаще всего, квази-маркетинговая попытка их облагородить.
Название: На чем пишется софт для КА?
Отправлено: jettero от 11.08.2009 16:33:53
В этом году был конкурс программистов где в каччестве задач надо было управлять спутником (в прошлом году был марсоход).

   1. Перевести спутник, движущийся по круговой орбите вокруг центрального тела (Земли), на круговую орбиту с другим радиусом
   2. Произвести "стыковку" с другим спутником, движущимся по круговой орбите
   3. Произвести "стыковку", но при условии, что начальная орбита управляемого спутника и спутника-цели - это не круги, а эллипсы
   4. Пролететь в радиусе 1 км от 11 спутников, движущихся по произвольным орбитам, дозаправляясь топливом на орбитальной заправочной станции и учитывая влияние не только Земли, но и Луны


Несколько отчетов участников:

http://users.livejournal.com/_adept_/94839.html
http://murkt.org.ua/blog/2009/06/30/icfpc09-space-opera/
http://larubin.livejournal.com/119872.html

тут есть еще http://habrahabr.ru/blogs/icfpc/63279/
Название: На чем пишется софт для КА?
Отправлено: yos от 11.08.2009 21:45:16
Как по мне, то это соревнование для программирующих баллистиков.
Название: На чем пишется софт для КА?
Отправлено: jettero от 12.08.2009 00:28:32
ЦитироватьКак по мне, то это соревнование для программирующих баллистиков.

Читая отчеты конкурсантов видно, что многие из них начинали учить баллистику только на второй день соревнования (всего было 4 дня ) :D

ЦитироватьДень 2
...
Я скачал и начал изучать замечательную книгу Orbital Mechanics, которая к тому моменту была уже у всех, кто хотел :)
Название: На чем пишется софт для КА?
Отправлено: yos от 12.08.2009 03:08:02
Да, я заметил. Но назвать такое просто "соревнованием для программистов" как-то неправильно.
Название: На чем пишется софт для КА?
Отправлено: jettero от 12.08.2009 03:28:48
Тем не менее оно так называется http://en.wikipedia.org/wiki/ICFPC
О том, что задачи будут на баллистику заранее никто не знал, скорее-всего устроители выбрали эту тему, чтобы ни у кого не было преимущества и программисты изучали предметную область непосредственно в процессе работы.
В прошлом году у них были задания на управление ровером на Марсе. В 2005 надо было писать ботов для игры в квест, в 2003 написание робота управляющего машиной на гоночном треке итп.
Название: На чем пишется софт для КА?
Отправлено: Rigel от 09.10.2009 19:26:38
Да, русский asm  это жесть, зато все алгоритмы мало весят, и можно БЦВМ  легче ставить. а это всё-таки деньги...
Название: На чем пишется софт для КА?
Отправлено: Form1 от 09.10.2009 23:13:34
ЦитироватьДа, русский asm  это жесть, зато все алгоритмы мало весят, и можно БЦВМ  легче ставить. а это всё-таки деньги...

По-моему для более-менее серьезных КА разница в массе БЦВМ между, например, 1 кг и 10 кг не так уж принципиальна, в том числе по стоимости.
Название: На чем пишется софт для КА?
Отправлено: avmich от 11.10.2009 19:40:27
Цитировать
ЦитироватьДа, русский asm  это жесть, зато все алгоритмы мало весят, и можно БЦВМ  легче ставить. а это всё-таки деньги...

По-моему для более-менее серьезных КА разница в массе БЦВМ между, например, 1 кг и 10 кг не так уж принципиальна, в том числе по стоимости.

Это что считать серьёзным КА. Телескоп MOST весит 60 кг, для него такая разница масс БЦВМ была бы критична.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 11.10.2009 20:44:17
Цитировать
Цитировать
ЦитироватьДа, русский asm  это жесть, зато все алгоритмы мало весят, и можно БЦВМ  легче ставить. а это всё-таки деньги...

По-моему для более-менее серьезных КА разница в массе БЦВМ между, например, 1 кг и 10 кг не так уж принципиальна, в том числе по стоимости.

Это что считать серьёзным КА. Телескоп MOST весит 60 кг, для него такая разница масс БЦВМ была бы критична.

А еще можно при той же массе сделать 10 кратное резервирование, а это уже ЦИФРА, особенно с учетом наших достижений в электронике. :D
Название: На чем пишется софт для КА?
Отправлено: Rigel от 12.10.2009 19:07:44
ЦитироватьА еще можно при той же массе сделать 10 кратное резервирование, а это уже ЦИФРА, особенно с учетом наших достижений в электронике.  

Очень больная тема, особенно для августа 2008.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 12.10.2009 20:20:01
а при создани ПО для КА кто нибудь использует ОС МСВС? Вроде ее КВ МО упорно двигают
Название: На чем пишется софт для КА?
Отправлено: Dmitri от 15.10.2009 14:58:42
Для канадского робота на шаттлах Канадарм и на международной космической ситанции Канадарм2,разработка стоимостью в миллиард евро(заплатили американцы), используется язык Ада 95.
http://www.adacore.com/multimedia/pdfs/CaseStudy_SpaceArm.pdf
http://en.wikipedia.org/wiki/Canadarm2
Название: На чем пишется софт для КА?
Отправлено: Morin от 16.10.2009 14:00:19
Цитировать
ЦитироватьА еще можно при той же массе сделать 10 кратное резервирование, а это уже ЦИФРА, особенно с учетом наших достижений в электронике.  

Очень больная тема, особенно для августа 2008.

Вы тут, похоже, не в теме. Намекаете на Персону? Электроника там загнулась не наша, а импортная. На нашей таких отказов никогда не было. Так что    тут "достижение" не нашей электроники, а наших дураков-начальников, поставивших импортную электронику.
Это, конечно, офтоп. А по теме могу сказать, что в Самаре сейчас решили борт писать на СИ :-( , та еще - гениальная идея. Нахлебаются ребята дерьма большими ложками.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 16.10.2009 15:21:21
Цитировать
Цитировать
ЦитироватьА еще можно при той же массе сделать 10 кратное резервирование, а это уже ЦИФРА, особенно с учетом наших достижений в электронике.  

Очень больная тема, особенно для августа 2008.

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

Ну Боинги вроде летают, хотя иногда падают и они :D . Здесь не так важен язык сам по себе, сколько жесткое соблюдение технологий программирования.
Название: На чем пишется софт для КА?
Отправлено: Form1 от 16.10.2009 18:30:42
Цитировать
Цитировать
Цитировать
ЦитироватьА еще можно при той же массе сделать 10 кратное резервирование, а это уже ЦИФРА, особенно с учетом наших достижений в электронике.  

Очень больная тема, особенно для августа 2008.

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

Ну Боинги вроде летают, хотя иногда падают и они :D . Здесь не так важен язык сам по себе, сколько жесткое соблюдение технологий программирования.

Сейчас в Боинге (компании) стандартный язык для бортового ПО это Ада.
По-моему, начиная с 90-х.
Название: На чем пишется софт для КА?
Отправлено: Form1 от 16.10.2009 18:38:02
Цитировать
Цитировать
Цитировать
ЦитироватьА еще можно при той же массе сделать 10 кратное резервирование, а это уже ЦИФРА, особенно с учетом наших достижений в электронике.  

Очень больная тема, особенно для августа 2008.

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

Ну Боинги вроде летают, хотя иногда падают и они :D . Здесь не так важен язык сам по себе, сколько жесткое соблюдение технологий программирования.

Сейчас в Боинге (компании) стандартный язык для бортового ПО это Ада.
По-моему, начиная с 90-х.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 16.10.2009 20:55:17
А на каком Си и под какой операционкой Самара собирается это делать?
Название: На чем пишется софт для КА?
Отправлено: leha13 от 16.10.2009 22:38:38
Цитироватьа при создани ПО для КА кто нибудь использует ОС МСВС? Вроде ее КВ МО упорно двигают
КА не знаю, а в самолётах пытаются использовать - в военных, разумеется.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 16.10.2009 22:56:44
Цитировать
Цитировать
Цитировать
Цитировать
ЦитироватьА еще можно при той же массе сделать 10 кратное резервирование, а это уже ЦИФРА, особенно с учетом наших достижений в электронике.  

Очень больная тема, особенно для августа 2008.

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

Ну Боинги вроде летают, хотя иногда падают и они :D . Здесь не так важен язык сам по себе, сколько жесткое соблюдение технологий программирования.

Сейчас в Боинге (компании) стандартный язык для бортового ПО это Ада.
По-моему, начиная с 90-х.

Не все так просто. Бортовое ПО современных Боингов да и Аирбасов тоже разрабатывается множеством субподрядчиков. Большинство из них существует на рынке не одно десятилетие, и имеют старые, проверенные временем и эксплутацией, а главное - СЕРТИФИЦИРОВАННЫЕ, програмные модули, написанные на старом добром C. Для таких "клиентов" разработчики RTOS предлагают специальные клоны компиляторов языка С, сертифицированных по высшему уровню безопасности Level-A.
Так что и на самом современном B-787 немало строк кода написано на С (несмотря на ряд громких заявлений в прессе), не говоря уж о более ранних моделях. :D

Кстати сказать, с ПО для авионики у B-787 большие проблемы, несмотря (а может быть благодаря) на насильственное внедрение прогрессивного языка Ада. :D
Название: На чем пишется софт для КА?
Отправлено: yos от 17.10.2009 00:55:54
Это внедрение произошло уже очень давно и массово, в специфических областях, конечно. А такое -вно как С нужно давно убить, тем более в самолётах.
Языки оченб важны сами по себе, потому что они частично и определяют "технологии программирования" и поддерживают их. А в таком болоте ка С можно легко и незаметно сильно отдалиться от правильных и хороших приёмов. Особенно в случае с программистами невысокого уровня подготовки.
Название: На чем пишется софт для КА?
Отправлено: bsdv от 17.10.2009 14:48:20
ЦитироватьА такое -вно как С нужно давно убить, тем более в самолётах.

100 пудово, на следующий же день после похорон С, объявят о создании расширения языка Ада++. :D
По многочисленным просьбам трудящихся программистов :D .
Название: На чем пишется софт для КА?
Отправлено: sychbird от 17.10.2009 14:22:40
Язык - это только один из кирпичей эффективности и надежности процесса создания  и жизнеспособности ПО. Еще много других кирпичей,  обеспечивающих надежность и хорошие характеристики обитаемости все постройки. Система, блин.

Вынь из готового строения один из замковых кирпичей, или поставь некондиционный в новую - и все строение рухнет.
Сейчас в архитектуре добротные строения старого стиля считается правильным перепрофилировать и приспосабливать к новым условиям.
Ломать не строить. Интенсивность инноваций имеет природное ограничение в примерно пяти процентах трудоспособного населения, способного  создавать качественное новое, а не его имитацию.
Название: На чем пишется софт для КА?
Отправлено: TAU от 23.10.2009 15:07:46
Цитироватьв Самаре сейчас решили борт писать на СИ :-( , та еще - гениальная идея
При этом у них есть возможность использовать кое-что гораздо более высокого уровня.
Название: На чем пишется софт для КА?
Отправлено: TAU от 23.10.2009 15:10:03
ЦитироватьЯзык - это только один из кирпичей эффективности и надежности процесса создания  и жизнеспособности ПО. Еще много других кирпичей,  обеспечивающих надежность и хорошие характеристики обитаемости все постройки. Система
Точно.

Язык сам по себе для бортовых программ не имеет столь большого значения.
Название: На чем пишется софт для КА?
Отправлено: Rigel от 25.10.2009 19:10:16
ЦитироватьПри этом у них есть возможность использовать кое-что гораздо более высокого уровня.

Возможность то есть, писать не многие могут. А те кто могут, по большей части, бортами  не занимаются.
А по поводу СИ, в Самаре все уже очень весело, до слёз.
Не возможно грамотно закодить новый борт на новом языке, когда годами от изделия к изделию ВЕСЬ!!! софт писался в основном copy + paste с минимальными доработками.  Конечно есть очень грамотные специалисты-энтузиасты, но их крайне мало. И к сожалению в ближайшие годы изменений не предвидется. ИМХО Самарские не серийные КА уходят в историю.
кто-то очень умный сказал :"В болоте лилии не растут..."
Название: На чем пишется софт для КА?
Отправлено: Rigel от 25.10.2009 19:43:03
Morin писал(а):
ЦитироватьВы тут, похоже, не в теме. Намекаете на Персону? Электроника там загнулась не наша, а импортная. На нашей таких отказов никогда не было. Так что тут "достижение" не нашей электроники, а наших дураков-начальников, поставивших импортную электронику.
Это, конечно, офтоп. А по теме могу сказать, что в Самаре сейчас решили борт писать на СИ, та еще - гениальная идея. Нахлебаются ребята дерьма большими ложками.

Я очень рад, что вы знаете официальную причину отказа, но я говорил об увеличении кратности резервирования системы, в силу уменьшения массы. А не о стране производителе  некоторых микросхем.
Название: На чем пишется софт для КА?
Отправлено: ntil от 26.10.2009 02:48:37
Цитировать
Цитироватьа при создани ПО для КА кто нибудь использует ОС МСВС? Вроде ее КВ МО упорно двигают
КА не знаю, а в самолётах пытаются использовать - в военных, разумеется.
ОС МСВС Это стыреный редхат линух энтерпрайз :)
Название: На чем пишется софт для КА?
Отправлено: Morin от 26.10.2009 11:18:17
Цитировать
ЦитироватьПри этом у них есть возможность использовать кое-что гораздо более высокого уровня.

Возможность то есть, писать не многие могут. А те кто могут, по большей части, бортами  не занимаются.
А по поводу СИ, в Самаре все уже очень весело, до слёз.
Не возможно грамотно закодить новый борт на новом языке, когда годами от изделия к изделию ВЕСЬ!!! софт писался в основном copy + paste с минимальными доработками.  Конечно есть очень грамотные специалисты-энтузиасты, но их крайне мало. И к сожалению в ближайшие годы изменений не предвидется. ИМХО Самарские не серийные КА уходят в историю.
кто-то очень умный сказал :"В болоте лилии не растут..."

Тут вы преборщили, конечно, :-( "ВЕСЬ!!! софт писался в основном copy + paste с минимальными доработками", далеко не все можно скопировать со старых изделий.
Беда с программированием в СИ не в этом. Практически невозможно будет найти причины ошибок ПО в полете. А ошибки неизбежны даже у самых квалифицированных программистов. А сейчас таковые в большом недостатке (те которые не просто умеют программировать, но и знают ЧТО программировать). Так вот, сейчас все достаточно прозрачно - такие-то данные кладутся в такую-то ячейку, а такие-то в такую... И всегда можно посмотреть почему в такой-то ячейке не то число, что надо. При программировании в СИ такой возможности не будет. И очень вероятно, что исправные КА будут выходить из строя по вине ПО и программисты ничего исправить не смогут.
Название: На чем пишется софт для КА?
Отправлено: Morin от 26.10.2009 11:22:03
ЦитироватьRigel пишет:
 Morin писал(а):
ЦитироватьЯ очень рад, что вы знаете официальную причину отказа, но я говорил об увеличении кратности резервирования системы, в силу уменьшения массы. А не о стране производителе  некоторых микросхем.

Кратность резервирования закладывается, в т.ч. и исходя из опыта отказов, а данная система никогда не отказывала, вот начальство  и не озаботилось резервированием системы на новых комплектующих.
Название: На чем пишется софт для КА?
Отправлено: Not от 27.10.2009 07:43:15
ЦитироватьБеда с программированием в СИ не в этом. Практически невозможно будет найти причины ошибок ПО в полете. А ошибки неизбежны даже у самых квалифицированных программистов. А сейчас таковые в большом недостатке (те которые не просто умеют программировать, но и знают ЧТО программировать). Так вот, сейчас все достаточно прозрачно - такие-то данные кладутся в такую-то ячейку, а такие-то в такую... И всегда можно посмотреть почему в такой-то ячейке не то число, что надо. При программировании в СИ такой возможности не будет. И очень вероятно, что исправные КА будут выходить из строя по вине ПО и программисты ничего исправить не смогут.
А собственно говоря почему? Во-первых писать не на С, а на ограниченном С++, жестко ограничивая применение указателей и вообще прямую работу с памятью. Во-вторых повсеместно применять средства статического анализа. Как только анализатор выдает неопределенность в алиасинге - немедленно переписывать это место. Тогда и ошибки типа переполнения буфера или случайного залезания в память по нулевому или еще какому адресу будут устранены еще на этапе кодирования. Ассемблер - не панацея, а скорее гиря на ноге програмиста.
Название: На чем пишется софт для КА?
Отправлено: Werno от 26.10.2009 22:55:34
Цитировать
Цитировать
ЦитироватьПри этом у них есть возможность использовать кое-что гораздо более высокого уровня.

Возможность то есть, писать не многие могут. А те кто могут, по большей части, бортами  не занимаются.
А по поводу СИ, в Самаре все уже очень весело, до слёз.
Не возможно грамотно закодить новый борт на новом языке, когда годами от изделия к изделию ВЕСЬ!!! софт писался в основном copy + paste с минимальными доработками.  Конечно есть очень грамотные специалисты-энтузиасты, но их крайне мало. И к сожалению в ближайшие годы изменений не предвидется. ИМХО Самарские не серийные КА уходят в историю.
кто-то очень умный сказал :"В болоте лилии не растут..."

Тут вы преборщили, конечно, :-( "ВЕСЬ!!! софт писался в основном copy + paste с минимальными доработками", далеко не все можно скопировать со старых изделий.
Беда с программированием в СИ не в этом. Практически невозможно будет найти причины ошибок ПО в полете. А ошибки неизбежны даже у самых квалифицированных программистов. А сейчас таковые в большом недостатке (те которые не просто умеют программировать, но и знают ЧТО программировать). Так вот, сейчас все достаточно прозрачно - такие-то данные кладутся в такую-то ячейку, а такие-то в такую... И всегда можно посмотреть почему в такой-то ячейке не то число, что надо. При программировании в СИ такой возможности не будет. И очень вероятно, что исправные КА будут выходить из строя по вине ПО и программисты ничего исправить не смогут.

Откровенно говоря - Вы просто бредите. Точнее сказать не представляете возможности как языка, так и технологий, которые используются в тех случаях, когда он применяется. Не нравится лично Вам СИ - никто не заставляет, пишите хоть на Алголе.
Но НИЧЕГО абсолютно не мешает грамотно и с соблюдением всех требований к разработке бортового ПО писать программы на СИ.
И обвинения СИ в таких грехах которые Вы описали - голословны и совершенно безосновательны.
Название: На чем пишется софт для КА?
Отправлено: Morin от 27.10.2009 14:19:34
ЦитироватьWerno пишет:
 
Цитировать
Цитировать
ЦитироватьПри этом у них есть возможность использовать кое-что гораздо более высокого уровня.

Тут вы преборщили, конечно, :-( "ВЕСЬ!!! софт писался в основном copy + paste с минимальными доработками", далеко не все можно скопировать со старых изделий.
Беда с программированием в СИ не в этом. Практически невозможно будет найти причины ошибок ПО в полете. А ошибки неизбежны даже у самых квалифицированных программистов. А сейчас таковые в большом недостатке (те которые не просто умеют программировать, но и знают ЧТО программировать). Так вот, сейчас все достаточно прозрачно - такие-то данные кладутся в такую-то ячейку, а такие-то в такую... И всегда можно посмотреть почему в такой-то ячейке не то число, что надо. При программировании в СИ такой возможности не будет. И очень вероятно, что исправные КА будут выходить из строя по вине ПО и программисты ничего исправить не смогут.

Откровенно говоря - Вы просто бредите. Точнее сказать не представляете возможности как языка, так и технологий, которые используются в тех случаях, когда он применяется. Не нравится лично Вам СИ - никто не заставляет, пишите хоть на Алголе.
Но НИЧЕГО абсолютно не мешает грамотно и с соблюдением всех требований к разработке бортового ПО писать программы на СИ.
И обвинения СИ в таких грехах которые Вы описали - голословны и совершенно безосновательны.
Я не брежу :-) . Я, вообще, - непрограммист. Я транслирую отзывы людей, которые этим делом занимаются много лет. Им, полагаю, виднее.
Название: На чем пишется софт для КА?
Отправлено: Werno от 27.10.2009 20:10:46
ЦитироватьЯ не брежу :-) . Я, вообще, - непрограммист. Я транслирую отзывы людей, которые этим делом занимаются много лет. Им, полагаю, виднее.

Тем более, раз Вы не программист, то и не стоит такое писать. К тому же, отзывы людей которых Вы знаете - не истина в последней инстанции. СИ - язык который реально применяется при проектировании систем управления техническими объектами. В том числе и КА, и самолетами, и ракетами. Причем весьма успешно. Не хочу показаться грубым, но быть может ваши знакомые программисты слишком много лет занимаются программированием и отстали от жизни? Ведь перестраиваться, как известно, никто не любит...
С СИ дела обстоят совершенно не так, как Вы написали. Все целиком и полностью зависит от квалификации разработчика. Впрочем, как и при использовании ЛЮБОГО языка.
Название: На чем пишется софт для КА?
Отправлено: Not от 28.10.2009 09:06:13
ЦитироватьВ СИ дела обстоят совершенно не так, как Вы написали. Все целиком и полностью зависит от квалификации разработчика. Впрочем, как и при использовании ЛЮБОГО языка.
Положим зерно истины в словах автора есть. Язык Си - хороший язык, но для своих применений, а именно: для системного программирования, на уровне ядра ОС, драйверов и других приложений, нуждающихся в прямом доступе в память. Однако для высоконадежных приложений реального времени он несколько неудобен и более того, опасен. Человек - не Бог. Человеку вообще, и программисту в частности свойственно ошибаться. И вот тут ему должен помочь хороший инструментарий - в выявлении ошибок. Ошибки программы, написанной на С, в общем случае выявить очень сложно, как раз из-за адресной арифметики и наличия прямого доступа в память. Задача верификации во многих случаях здесь не то что вычислительно непроходима, а в принципе неразрешима. Возможно это и имел ввиду автор. Другое дело, что и ассемблер тут тоже недалеко ушел. Хороший язык должен ограничить программиста ровно настолько, чтобы и руки ему не связать, и обеспечить возможность формальной верификации кода.
Название: На чем пишется софт для КА?
Отправлено: zur от 28.10.2009 01:18:28
Как тут много умных вещей (это не ирония) написано, блин. Вот 20 лет пишу ПО для авиации и космонавтики, а многих слов таких и не слышал :-(
Название: На чем пишется софт для КА?
Отправлено: ssb от 28.10.2009 01:48:20
ЦитироватьВот 20 лет пишу ПО для авиации и космонавтики...
На чём?  :)
Название: На чем пишется софт для КА?
Отправлено: zur от 28.10.2009 07:48:05
Цитировать
ЦитироватьВот 20 лет пишу ПО для авиации и космонавтики...
На чём?  :)

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

И насколько проще делать под ДОС, чем под QNX - отличные компиляторы, отладчики и редакторы, полно документации, почти всё можно отладить на бытовых компах, а для доступа к памяти выше мегабайта есть несколько вполне приемлемых способов.
А работа с QNX напомнила мне VAX/VMS конца 80-х годов... весьма надежно, но поистине, прошлый век.
Название: На чем пишется софт для КА?
Отправлено: zur от 28.10.2009 07:52:02
Цитировать
ЦитироватьВот 20 лет пишу ПО для авиации и космонавтики...
На чём?  :)

Ну а почему Паскаль, а не С, считаю, что на Паскале проще писать большие программы - компилятор построже, а меньшая эффективность - так всё, что надо быстро, на ассемблере.
У С есть одно неубиенное преимущество - большая распространённость, особенно для таких систем.
Название: На чем пишется софт для КА?
Отправлено: А.Коваленко от 28.10.2009 10:12:20
Цитировать
Цитировать
Цитировать
ЦитироватьПри этом у них есть возможность использовать кое-что гораздо более высокого уровня.

Возможность то есть, писать не многие могут. А те кто могут, по большей части, бортами  не занимаются.
А по поводу СИ, в Самаре все уже очень весело, до слёз.
Не возможно грамотно закодить новый борт на новом языке, когда годами от изделия к изделию ВЕСЬ!!! софт писался в основном copy + paste с минимальными доработками.  Конечно есть очень грамотные специалисты-энтузиасты, но их крайне мало. И к сожалению в ближайшие годы изменений не предвидется. ИМХО Самарские не серийные КА уходят в историю.
кто-то очень умный сказал :"В болоте лилии не растут..."

Тут вы преборщили, конечно, :-( "ВЕСЬ!!! софт писался в основном copy + paste с минимальными доработками", далеко не все можно скопировать со старых изделий.
Беда с программированием в СИ не в этом. Практически невозможно будет найти причины ошибок ПО в полете. А ошибки неизбежны даже у самых квалифицированных программистов. А сейчас таковые в большом недостатке (те которые не просто умеют программировать, но и знают ЧТО программировать). Так вот, сейчас все достаточно прозрачно - такие-то данные кладутся в такую-то ячейку, а такие-то в такую... И всегда можно посмотреть почему в такой-то ячейке не то число, что надо. При программировании в СИ такой возможности не будет. И очень вероятно, что исправные КА будут выходить из строя по вине ПО и программисты ничего исправить не смогут.

Откровенно говоря - Вы просто бредите. Точнее сказать не представляете возможности как языка, так и технологий, которые используются в тех случаях, когда он применяется. Не нравится лично Вам СИ - никто не заставляет, пишите хоть на Алголе.
Но НИЧЕГО абсолютно не мешает грамотно и с соблюдением всех требований к разработке бортового ПО писать программы на СИ.
И обвинения СИ в таких грехах которые Вы описали - голословны и совершенно безосновательны.
Верно. Есть примеры успешной реализации и многолетней лётной эксплуатации сложнейшего бортового ПО для КА, написанного на C.
Название: На чем пишется софт для КА?
Отправлено: Morin от 28.10.2009 10:20:06
Цитировать
ЦитироватьЯ не брежу :-) . Я, вообще, - непрограммист. Я транслирую отзывы людей, которые этим делом занимаются много лет. Им, полагаю, виднее.

 Не хочу показаться грубым, но быть может ваши знакомые программисты слишком много лет занимаются программированием и отстали от жизни? Ведь перестраиваться, как известно, никто не любит...
С СИ дела обстоят совершенно не так, как Вы написали. Все целиком и полностью зависит от квалификации разработчика. Впрочем, как и при использовании ЛЮБОГО языка.
Не берусь судить, возможно и на С можно писать нормальный борт, но реальность такова, что людей, неработавших никогда в Си, учат на 2-х недельных курсах, после чего они должны будут написать и отладить на нем за 2 месяца борт нового изделия. А особенности Си, на которые указали выше. не позволят оперативно (или вообще хоть как) найти ошибки бортового ПО. Результаты будут, очевидно, плачевными.
Название: На чем пишется софт для КА?
Отправлено: ssb от 28.10.2009 11:46:26
Спасибо zur за ответ!

В защиту Morin'а скажу что он вовсе не бредит а говорит прописную истину -- есть эффективные, пригодные для написания ядра операционной системы (и при этом небольшие, в отличие от ada/java/c#) языки программирования в которых целый класс Сишных ошибок просто невозможен за отсутствием арифметики указателей и доступа в память по произвольному адресу вообще, например Oberon (http://www-old.oberon.ethz.ch/oreport.html).

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

Приложение ............................... Кол.во строк ....... Язык
----------------------------------------------------------------------
Mars Reconnaissance Orbiter.............. 545 тыс. .............. С
F-22 ............................................. 2.5 млн ................ Ада
Б-777............................................ 4 млн ................... Ада
Б-787............................................ 7 млн ................... Ада
F-35 ............................................. 19 млн...................С/С++


Всякую древность типа Вояджеров приводить смысла нет, прогресс давно уже ушел вперед от ассемблера. Не знаю как там сейчас в Самаре, Красноярске или Москве, а в NASA вопросам надежности бортового ПО уделяется первостатейное внимание. Бортовое ПО КА находится в той же категории что и ПО атомных станций, хим. заводов, военных систем раннего предупреждения, самолетов. Соответственно и отношение к программированию. Формальная верификация сейчас один из основных инструментов. Можно сколько угодно приводить в пример опыт прошлых лет, где все было в ДОСе, медленно, неторопливо и последовательно, но времена изменились.
Название: На чем пишется софт для КА?
Отправлено: zur от 28.10.2009 19:50:50
Есть некоторые алгоритмы, которые на ассемблере программируются не сложнее, чем на языках высокого уровня, а работают в сотню раз быстрее. Для верификации многих из них, где количество входных данных конечно, часто использую автоматическую проверку - сравенение результатов с медленным и тупым, но заведомо правильным, алгоритмолм на паскале с перебором всех возможных входных данных. И пусть проверка длится несколько минут, зато я точно знаб, что всё правильно.
Но злоупотреблять ассемблером, конечно, глупо.
А надежность программ в частности определяется правильной(грамотной) технологией программирования. И паскаль позволяет это сделать лучше, чем С.
Название: На чем пишется софт для КА?
Отправлено: А.Коваленко от 28.10.2009 20:57:50
Ну хорошо, написали и отладили на Паскале. А есть компиляторы Паскаля для бортовых машин? Или используете кросс-компиляцию?
Название: На чем пишется софт для КА?
Отправлено: Not от 29.10.2009 09:35:06
ЦитироватьНу хорошо, написали и отладили на Паскале. А есть компиляторы Паскаля для бортовых машин? Или используете кросс-компиляцию?
В принципе (безотносительно к работе zur-а) существуют трансляторы из Паскаля в Си. Другое вопрос, существуют ли сертифицированные трансляторы?
Название: На чем пишется софт для КА?
Отправлено: A. Petrov от 29.10.2009 17:31:38
ЦитироватьНу хорошо, написали и отладили на Паскале. А есть компиляторы Паскаля для бортовых машин? Или используете кросс-компиляцию?

Странный вопрос. Только кросс-компиляцию. Не будете же вы запускать транслятор на бортовой машине? Так же, как и для всех DSP и/или микроконтроллеров.
Название: На чем пишется софт для КА?
Отправлено: A. Petrov от 29.10.2009 17:42:49
ЦитироватьФормальная верификация сейчас один из основных инструментов

Вот это правильно! Только вот, как Вы сами заметили, для многих задач/языков эта задача в принципе неразрешаемая. Но это всегда хорошо всё проверить в статике.

Другой путь - unit testing. Функциональность критического бортового ПО достаточно ограничена - всегда можно поддерживать батарею юнит-тестов, покрывающую всю фукциональность.
Название: На чем пишется софт для КА?
Отправлено: Werno от 29.10.2009 07:48:12
ЦитироватьНе берусь судить, возможно и на С можно писать нормальный борт, но реальность такова, что людей, неработавших никогда в Си, учат на 2-х недельных курсах, после чего они должны будут написать и отладить на нем за 2 месяца борт нового изделия. А особенности Си, на которые указали выше. не позволят оперативно (или вообще хоть как) найти ошибки бортового ПО. Результаты будут, очевидно, плачевными.

Естественно. Программировать надо на том языке, на который имеются специалисты. Реализация системного софта возможна и на ассемблере, и на паскале, и на СИ и на прочих. Просто очень страннослышать, когда кто-то обязательно говорит что-то такое: "А вот этот язык лучше чем этот"  :) Сразу виден непрофессианализм... Просто кто-то умеет работать в одной среде, а кто-то умеет в другой. Если конечным результатом является софт с требуемым качеством, то какие вообще могут быть вопросы? И как можно утверждать, как в последних сравнениях, что вот  для этого Паскаль лучше чем СИ? Понятно еще, если человек скажет: на СИ я этого не делал, мне он кажется неудобным для этого, я привык в Паскале, где все у меня работает.
А то получается что говорит косвенно, что вот все дураки в организациях, где на СИ пишут, давно бы на Паскаль надо...
Это очередной берд и необъективный подход к вопросу. Если имеется личный опыт, так и надо говорить про личные предпочтения, а не обощать сразу.
Название: На чем пишется софт для КА?
Отправлено: А.Коваленко от 29.10.2009 10:32:59
Что-то меня смущает вот этот пассаж:
Цитироватьлюдей, неработавших никогда в Си, учат на 2-х недельных курсах, после чего они должны будут написать и отладить на нем за 2 месяца борт нового изделия
Это что, в самом деле?
Название: На чем пишется софт для КА?
Отправлено: Not от 29.10.2009 20:58:26
ЦитироватьЕстественно. Программировать надо на том языке, на который имеются специалисты.
Специалисты имеются для всех основных языков. Что не означает, что вы будете писать борт на Коболе, если к вам придет такой специалист.
 

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

Язык приложения определяет не программист, а технический директор, руководствуясь разного рода требованиями типа функциональной направленности, совместимости с имеющимся кодом, возможностью формальной верификации если нужно, и так далее. Современный профессиональный программист обычно знает в совершенстве два-три языка, плюс может быстро подхватить требуемый новый. Если бы в вашем проекте работал один программист, то проблем бы не было. Однако, когда у вас многолетний проект, команда и новые люди, вам важна преемственность. И никто вам не позволит начудить в Си с указателями, только потому что вам нравится такой стиль. Будет безжалостно вычеркнуто на первом же просмотре кода.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 29.10.2009 11:17:44
а не пробуют еще переходить на С шарп из Visiаl studio 2008? По моему очень удобный инструмент
Название: На чем пишется софт для КА?
Отправлено: A. Petrov от 30.10.2009 06:00:41
Цитироватьа не пробуют еще переходить на С шарп из Visiаl studio 2008? По моему очень удобный инструмент

Ага, и весь CLR с собой на орбиту тащить? И как вам сборка мусора, которая запустится в самое неподходящее время? Да и вообще эта штука летает только на Intel-e и под Windows. А как же наши ЦВМ-101 и прочие R-500, E2K, 1879ВМ2, 1892ВМ4Я?
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 29.10.2009 20:54:26
Цитировать
Цитироватьа не пробуют еще переходить на С шарп из Visiаl studio 2008? По моему очень удобный инструмент

Ага, и весь CLR с собой на орбиту тащить? И как вам сборка мусора, которая запустится в самое неподходящее время? Да и вообще эта штука летает только на Intel-e и под Windows. А как же наши ЦВМ-101 и прочие R-500, E2K, 1879ВМ2, 1892ВМ4Я?
а может нафиг наши цвм и проче p500. Современные микро рс работают на проссорар интел и имеют достарочные ресурсы для установки ос хр и даже 7. Шарп очень удобен для разработке и фактически залючается в правильной настройке классов и ни какого гемора с памятью, указателями и проче, да и все общение с внешним миром идет через езернет, usв в крайнем случае ком порт. Для общения с ними давно все сделано и отлажено на уробне классов языков. Не нужно напрямую никаких портов, адресов, прерываний. Т.е. Давно не надо лезть на низкий уровень - это первопричина сбоев
Название: На чем пишется софт для КА?
Отправлено: Not от 30.10.2009 08:36:42
Цитировать
Цитировать
Цитироватьа не пробуют еще переходить на С шарп из Visiаl studio 2008? По моему очень удобный инструмент

Ага, и весь CLR с собой на орбиту тащить? И как вам сборка мусора, которая запустится в самое неподходящее время? Да и вообще эта штука летает только на Intel-e и под Windows. А как же наши ЦВМ-101 и прочие R-500, E2K, 1879ВМ2, 1892ВМ4Я?
а может нафиг наши цвм и проче p500. Современные микро рс работают на проссорар интел и имеют достарочные ресурсы для установки ос хр и даже 7. Шарп очень удобен для разработке и фактически залючается в правильной настройке классов и ни какого гемора с памятью, указателями и проче, да и все общение с внешним миром идет через езернет, usв в крайнем случае ком порт. Для общения с ними давно все сделано и отлажено на уробне классов языков. Не нужно напрямую никаких портов, адресов, прерываний. Т.е. Давно не надо лезть на низкий уровень - это первопричина сбоев
Вы (если конечно это не банальный глум) несколько переоцениваете возможности аппаратного обеспечения микрокомпьютеров общего назначения - они не годятся для управления бортовыми системами по многим причинам: отсутствие аппаратного резервирования, чувствительность к пробоям высокоэнергетичными частицами, неполное тестирование (несертифицированность) компонентов.

То же самое касается и программного обеспечения. ОС Windows не предназначена для управления критичными системами. Виртуальные машины типа Java или CLR мало подходят для управляющих приложений реального времени в основном по причине недетерминированности. Тот факт что система собирает за вас использованные объекты (мусор) еще не означает, что вы можете забыть про этот процесс - он потребляет ресурсы и может загрузить процессор в неподходящий момент, что вполне может привести к фатальному завершению миссии.
Название: На чем пишется софт для КА?
Отправлено: Дем от 29.10.2009 23:21:06
Цитировать
Цитироватьа не пробуют еще переходить на С шарп из Visiаl studio 2008? По моему очень удобный инструмент
Ага, и весь CLR с собой на орбиту тащить? И как вам сборка мусора, которая запустится в самое неподходящее время? Да и вообще эта штука летает только на Intel-e и под Windows. А как же наши ЦВМ-101 и прочие R-500, E2K, 1879ВМ2, 1892ВМ4Я?
Ну не такой уж этот CLR большой - в КПК/мобилу запросто влезает. В урезанном варианте, естественно. Версия 3.0 микро - порядка 10 метров. И железа под него много есть, не только х86. Не вижу причин, почему нельзя сделать компилер и под вышеперечисленные процессоры.
И сборка мусора - в неподходящее время запустится не может. В процессоре даже прерывания в неподходящее время произойти не могут, что уж о запуске подпрограмм говорить...

Так что было бы желание... А язык программирования всё равно нужно обновлять - аппаратура изменилась радикально, совсем другие параметры оптимизации.
Название: На чем пишется софт для КА?
Отправлено: Not от 30.10.2009 09:52:04
ЦитироватьА язык программирования всё равно нужно обновлять - аппаратура изменилась радикально, совсем другие параметры оптимизации.
О каких параметрах оптимизации речь?
Название: На чем пишется софт для КА?
Отправлено: A. Petrov от 30.10.2009 10:28:00
ЦитироватьНу не такой уж этот CLR большой - в КПК/мобилу запросто влезает. В урезанном варианте, естественно. Версия 3.0 микро - порядка 10 метров.
А flash ЦВМ-101 2 MB.

ЦитироватьИ железа под него много есть, не только х86. Не вижу причин, почему нельзя сделать компилер и под вышеперечисленные процессоры.
А кто делать будет, Microsoft?

ЦитироватьИ сборка мусора - в неподходящее время запустится не может. В процессоре даже прерывания в неподходящее время произойти не могут, что уж о запуске подпрограмм говорить...
Это как это? Прерывания как раз и происходят асинхронно. И основная задача ПО реального времени отработать эти прерывания в заданный по времени промежуток. А тут ещё сборка мусора. Ну да, можно её отложить, если постараться. Но при этом, когда она таки запустится, то время окончания её непредсказуемо. Да и откладывать её долго нельзя - память кончится.

Вы вообще программировали встроенные (embedded) системы? Большинство из них вообще не имеют ОС.
Название: На чем пишется софт для КА?
Отправлено: Дем от 30.10.2009 03:13:02
ЦитироватьО каких параметрах оптимизации речь?
Что оптимизируем, в смысле. Сейчас скорость работы и занимаемая память в подавляющем числе случаев некритичны

ЦитироватьА flash ЦВМ-101 2 MB.
А у меня в кармане - 2ГБ. И микросхемка там мааахонькая. Кто им мешает такую же поставить?

ЦитироватьА кто делать будет, Microsoft?
Заказчик. Там только интерпретатор байткода нужен, по большому счёту...

ЦитироватьЭто как это? Прерывания как раз и происходят асинхронно.
А вот так - когда что критичное творим - хлоп и отключили прерывания.
ЦитироватьНу да, можно её отложить, если постараться. Но при этом, когда она таки запустится, то время окончания её непредсказуемо.
Ну если объекты корректно удаляются - то мусора получается мало. Плюс - необязательно дожидаться конца процедуры, можно и прервать недочистив.
Название: На чем пишется софт для КА?
Отправлено: Not от 30.10.2009 13:36:44
Цитировать
ЦитироватьО каких параметрах оптимизации речь?
Что оптимизируем, в смысле. Сейчас скорость работы и занимаемая память в подавляющем числе случаев некритичны
Так что же критично?

Цитировать
ЦитироватьА flash ЦВМ-101 2 MB.
А у меня в кармане - 2ГБ. И микросхемка там мааахонькая. Кто им мешает такую же поставить?
Космическое чудовище в лице частиц высоких энергий, которые вашу махонькую память мигом уделают как бог черепаху.

Цитировать
ЦитироватьЭто как это? Прерывания как раз и происходят асинхронно.
А вот так - когда что критичное творим - хлоп и отключили прерывания.
УмнО. А если в этот момент потребовалось обработать внешнее приборное прерывание? Игнорируем? Ну тогда произойдет следующий хлоп. И вам придется писать объяснительную, как по вашей вине ухлопали (ну скажем) 100 миллионов долларов. Вообще говоря в типичной ОС РВ прерывания не отключают. Существует очередь процессов и очередь прерываний. И система приоритетов на тех и на других, с часто весьма нетривиальной логикой. И всякие непредсказуемости в лице интерпетаторов и ассоциированных с ними сервисов никому не нужны.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 30.10.2009 08:19:56
ЦитироватьА если в этот момент потребовалось обработать внешнее приборное прерывание? Игнорируем? Ну тогда произойдет следующий хлоп
а в чем проблема? Нужно за микрисекунды переключиться на выдачу команд на пришедшее воздействие или быстро переключиться на рег. обработку пришедшей информации. Я говорь не про КА, А вообще зачастую требования б тз ос рв и прочная точность зачастую завышена
Название: На чем пишется софт для КА?
Отправлено: Not от 30.10.2009 18:28:18
Цитировать
ЦитироватьА если в этот момент потребовалось обработать внешнее приборное прерывание? Игнорируем? Ну тогда произойдет следующий хлоп
а в чем проблема? Нужно за микрисекунды переключиться на выдачу команд на пришедшее воздействие или быстро переключиться на рег. обработку пришедшей информации. Я говорь не про КА, А вообще зачастую требования б тз ос рв и прочная точность зачастую завышена
Не забываем, что перед этим товарищ Дем своим авторитарным хлопом запретил все прерывания. Так что прибор нервно курит в сторонке и теряет информацию.  :D
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 30.10.2009 08:43:10
ну наверно будем миллостевы его запретил на доли миллисекунд, пока выполняеться другой обработцик он поставел наше прерывание. Так вот каков допусковый предел реакции на событие? Он вообще есть?
Название: На чем пишется софт для КА?
Отправлено: Not от 30.10.2009 19:15:15
Цитироватькаков допусковый предел реакции на событие? Он вообще есть?
Конечно есть. От и до. Например минимальная ширина импульса двигателя ориентации станции New Horizons 5 миллисекунд. Соответственно можете прикинуть допуск. В частности, там есть режим ориентации аппарата во время его вращения, радиальными импульсами с достаточно жесткими временными ограничениями.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 30.10.2009 09:31:09
понятно. Спасибо. Естественно ест дублирование, троирование! А вот режим резервирования реализован? И как? Чисто аппаратно? Или программой логикой?
Название: На чем пишется софт для КА?
Отправлено: Morin от 30.10.2009 10:29:16
ЦитироватьЧто-то меня смущает вот этот пассаж:
Цитироватьлюдей, неработавших никогда в Си, учат на 2-х недельных курсах, после чего они должны будут написать и отладить на нем за 2 месяца борт нового изделия
Это что, в самом деле?
Да. Не верите? А в то, что гидроагрегат одной из крупнейших в мире ГЭС несколько месяцев работал в условиях вибрации выше допустимой и не был остановлен даже когда этот уровень был превышен в 3 раза, в результате чего агрегат весам больше 1000 т полетел как пробка из бутылки шампанского, вы верите? :-(
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 30.10.2009 14:09:11
Цитировать
ЦитироватьЧто-то меня смущает вот этот пассаж:
Цитироватьлюдей, неработавших никогда в Си, учат на 2-х недельных курсах, после чего они должны будут написать и отладить на нем за 2 месяца борт нового изделия
Это что, в самом деле?
Да. Не верите? А в то, что гидроагрегат одной из крупнейших в мире ГЭС несколько месяцев работал в условиях вибрации выше допустимой и не был остановлен даже когда этот уровень был превышен в 3 раза, в результате чего агрегат весам больше 1000 т полетел как пробка из бутылки шампанского, вы верите? :-(
извините, там сидели эксплуатанщионщики, они как правило систему в деталях знают плохо и работают по инструкциям, так же как и на наших РКК. Мы же тут говорим про разработчиков. Что? И разрабатывают ПО для КА тоже делитанты?
Название: На чем пишется софт для КА?
Отправлено: А.Коваленко от 30.10.2009 18:35:29
Цитировать
ЦитироватьЧто-то меня смущает вот этот пассаж:
Цитироватьлюдей, неработавших никогда в Си, учат на 2-х недельных курсах, после чего они должны будут написать и отладить на нем за 2 месяца борт нового изделия
Это что, в самом деле?
Да. Не верите? А в то, что гидроагрегат одной из крупнейших в мире ГЭС несколько месяцев работал в условиях вибрации выше допустимой и не был остановлен даже когда этот уровень был превышен в 3 раза, в результате чего агрегат весам больше 1000 т полетел как пробка из бутылки шампанского, вы верите? :-(
Не верю. Так как работаю в фирме, которая разрабатывает, в том числе, и ПО для управляющих бортовых компьютеров. А сам занимаюсь эксплуатацией этого ПО. И ситуацию знаю изнутри. Так что, не верю. И вообще, причем тут СШГЭС?
Название: На чем пишется софт для КА?
Отправлено: Rigel от 30.10.2009 19:38:34
LRV_75 писал(а):
Цитироватьизвините, там сидели эксплуатанщионщики, они как правило систему в деталях знают плохо и работают по инструкциям, так же как и на наших РКК. Мы же тут говорим про разработчиков. Что? И разрабатывают ПО для КА тоже делитанты?

На самом деле ситуация очень интересная, как правило в той организации. о которой писал(а) тов. Morin, большая часть разработчиков СПО для КА, не является прогерами по образованию. Такой подход формирования кадров скорее всего связан с целевыми задачами решаемыми КА. Для решения которых необходима достаточно сложная математика, механика и логика. Иными словами для разработки мат. моделей процессов нужно хорошо знать механику полета, механику твердого тела, устойчивость, теорию управления движением и т.п. А для написания многих алгоритмов вообще приходиться пользоваться специфическими методами математики начаная  от методов динамического программирования заканчивая поиском решения расходящейся краевой задачи.    
На классических факультетах выпускающих программистов такому вроде бы не обучают. А где обучают, предметы программирования рассматриваются лишь с инструментальной точки зрения. Т.е. разработка и отладка СПО осуществляется не профессиональными программистами. Поэтому сложности перехода с одно языка на другой будут серьезными, а за две недели новую среду разработки освоить любому человеку трудновато будет.   Вот мы и получаем  не оптимальное СПО.
Но не знаю, можно ли этих людей называть делитантами? Я думаю что нет.
Название: На чем пишется софт для КА?
Отправлено: А.Коваленко от 30.10.2009 19:51:14
ЦитироватьLRV_75 писал(а):
Цитироватьизвините, там сидели эксплуатанщионщики, они как правило систему в деталях знают плохо и работают по инструкциям, так же как и на наших РКК. Мы же тут говорим про разработчиков. Что? И разрабатывают ПО для КА тоже делитанты?

На самом деле ситуация очень интересная, как правило в той организации. о которой писал(а) тов. Morin, большая часть разработчиков СПО для КА, не является прогерами по образованию. Такой подход формирования кадров скорее всего связан с целевыми задачами решаемыми КА. Для решения которых необходима достаточно сложная математика, механика и логика. Иными словами для разработки мат. моделей процессов нужно хорошо знать механику полета, механику твердого тела, устойчивость, теорию управления движением и т.п. А для написания многих алгоритмов вообще приходиться пользоваться специфическими методами математики начаная  от методов динамического программирования заканчивая поиском решения расходящейся краевой задачи.    
На классических факультетах выпускающих программистов такому вроде бы не обучают. А где обучают, предметы программирования рассматриваются лишь с инструментальной точки зрения. Т.е. разработка и отладка СПО осуществляется не профессиональными программистами. Поэтому сложности перехода с одно языка на другой будут серьезными, а за две недели новую среду разработки освоить любому человеку трудновато будет.   Вот мы и получаем  не оптимальное СПО.
Но не знаю, можно ли этих людей называть делитантами? Я думаю что нет.
И что, там на разработку СПО отводят 2 месяца?
Название: На чем пишется софт для КА?
Отправлено: Agent от 31.10.2009 06:03:02
ЦитироватьИ что, там на разработку СПО отводят 2 месяца?
Если на изучение языка дают 2 недели, то 2 месяца на разработку - слишком много. Куда руководство смотрит.... Нет чтоб купить книжку "СПО для чайников за 21 день" все быстро сваять. Можно даже какой нить кухарке из столовой как доп. нагрузку навесить.
"Каждая кухарка должна научиться управлять КА"!!
Название: На чем пишется софт для КА?
Отправлено: A. Petrov от 31.10.2009 06:06:28
Цитировать
ЦитироватьА кто делать будет, Microsoft?
Заказчик. Там только интерпретатор байткода нужен, по большому счёту...

Маниловщина какя-то.
А вы представляете себе хотя бы приблизительно объём работ по портированию CLR на другую ОС да ещё и ОС РВ и последующей сертификацией этого ПО? CLR - это ведь не только интерпретатор байткода, но и весь run-time. Несколько миллионов строк кода. И кто это это будет писать и отлаживать? Какой заказчик? НПОЛ? ВНИИЭМ? ИСС? И на какие деньги?
Да и вообще не понятно, зачем всё это. Я так понял, вы хотите воспользоваться удобной средой разработки под Windows (MS Studio), чтобы разрабатывать код для бортовых ЭВМ? Или новым языком C#? Если первое, так и так все ПО для встоенных систем пишется и симулируется на удобном десктопе в удобной среде, и не факт, что MS Studio самая лучшая из них (посмотрите на TI Code Composer Studio например).
Если второе, то очень мала надежда на то, что можно так портануть  CLR на встроенную платформу, чтобы C# код, оттранслированный в MS Studio, полетел на нём без проблем. Тут до сих пор с Java то не могут совладать после стольких лет работ, а ведь это прямой аналог C# (write once debug everywhere :))
Название: На чем пишется софт для КА?
Отправлено: Rigel от 30.10.2009 20:19:58
На счет двух месяцев чистая правда.
 ДАЕШЬ ПЯТИЛЕТКУ В ЧЕТЫРЕ ГОДА!!!
 БПО ИЛИ СМЕРТЬ !!!
Скоро плакаты на стенах повесят:
 А ТЫ, ОТЛАДИЛ СВОЕ ПО !?
А самое грустное, скорее даже комичное, что на 2х недельных курсах преподают как работать с Visual C++. А бортовой язык, вроде как, (ни в каком документе нет спецификации на компилер),  С стандарта 89 либо 99.

P.S.
Цитата с одного публичного выступления:
       
ЦитироватьИ вообще програмизм это ремесло! здесь особо думать не надо...
Я плакаль...
Название: На чем пишется софт для КА?
Отправлено: zyxman от 31.10.2009 05:28:14
Цитировать
ЦитироватьИ что, там на разработку СПО отводят 2 месяца?
Если на изучение языка дают 2 недели, то 2 месяца на разработку - слишком много. Куда руководство смотрит.... Нет чтоб купить книжку "СПО для чайников за 21 день" все быстро сваять. Можно даже какой нить кухарке из столовой как доп. нагрузку навесить.
"Каждая кухарка должна научиться управлять КА"!!
Нее. Книжку надо вроде "Си за викэнд" ;)
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 31.10.2009 13:24:36
ребята вы меня пугаете . . .
Название: На чем пишется софт для КА?
Отправлено: Frontm от 31.10.2009 13:35:07
Цитироватьребята вы меня пугаете . . .
Ну если за год можно АМС собрать, то 2 недели на язык - это очень много :D Вот я как напуганный даже не встреваю со "своим" СИ++.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 31.10.2009 13:49:58
вот мне по волю случая пришлось заниматься передачей зашифрованной информации по сети особым программистом я себя назвать не могу. НО,используя современные языки высоко уровня сделал это легко, используя соответствующие классы. Я это к тому, что может уже пора применять железо позволяющее применять современные средства ну и есстественно ОС. А то все изобретаем колесо с нуля
Название: На чем пишется софт для КА?
Отправлено: KBOB от 31.10.2009 10:09:47
ЦитироватьВ этом году был конкурс программистов где в каччестве задач надо было управлять спутником (в прошлом году был марсоход).

   1. Перевести спутник, движущийся по круговой орбите вокруг центрального тела (Земли), на круговую орбиту с другим радиусом
   2. Произвести "стыковку" с другим спутником, движущимся по круговой орбите
   3. Произвести "стыковку", но при условии, что начальная орбита управляемого спутника и спутника-цели - это не круги, а эллипсы
   4. Пролететь в радиусе 1 км от 11 спутников, движущихся по произвольным орбитам, дозаправляясь топливом на орбитальной заправочной станции и учитывая влияние не только Земли, но и Луны


Несколько отчетов участников:

http://users.livejournal.com/_adept_/94839.html
http://murkt.org.ua/blog/2009/06/30/icfpc09-space-opera/
http://larubin.livejournal.com/119872.html

тут есть еще http://habrahabr.ru/blogs/icfpc/63279/

Улыбнуло!
http://larubin.livejournal.com/119872.html
ЦитироватьТут еще одно лирическое отсупление.


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

Оказалось, что все действительно работает (если исключить ошибки типа непроинициализированных переменных), но только в пределах одной архитектуры/компилятора. Т.е. решение, скомпилированное Visual под винду не будет рабоать с решением, скомпилированным gcc под Intel-Mac, а то, в свою очередь, не будет работать с решением под PowerPC-Mac. Потому что, например, для посчета sqrt вижуальник применяет SSE2-инструкции, а gcc под Intel-Mac применяет x87 инструкции. В результате получается хоть маленькая, но разница. Но со временем она накапливается до существенных размеров. В результате миры идут, что называется out-of-sync, несинхронно.
Название: На чем пишется софт для КА?
Отправлено: А.Коваленко от 31.10.2009 14:18:10
Цитироватьвот мне по волю случая пришлось заниматься передачей зашифрованной информации по сети особым программистом я себя назвать не могу. НО,используя современные языки высоко уровня сделал это легко, используя соответствующие классы. Я это к тому, что может уже пора применять железо позволяющее применять современные средства ну и есстественно ОС. А то все изобретаем колесо с нуля
Вам приходилось наблюдать по ТМИ во время полёта, как тяжелые частицы выбивают ячейки памяти и искажают их содержимое? Зрелище не для слабонервных. При объеме ОЗУ 1-2 Мбайт еще можно обеспечить программную защиту от сбоев, ресурсов хватает. А при десятках мегабайт?
Название: На чем пишется софт для КА?
Отправлено: Not от 01.11.2009 00:19:44
ЦитироватьТут еще одно лирическое отсупление.


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

Оказалось, что все действительно работает (если исключить ошибки типа непроинициализированных переменных), но только в пределах одной архитектуры/компилятора. Т.е. решение, скомпилированное Visual под винду не будет рабоать с решением, скомпилированным gcc под Intel-Mac, а то, в свою очередь, не будет работать с решением под PowerPC-Mac. Потому что, например, для посчета sqrt вижуальник применяет SSE2-инструкции, а gcc под Intel-Mac применяет x87 инструкции. В результате получается хоть маленькая, но разница. Но со временем она накапливается до существенных размеров. В результате миры идут, что называется out-of-sync, несинхронно.
Нижегородский французский  :D
Название: На чем пишется софт для КА?
Отправлено: KBOB от 31.10.2009 10:21:28
Цитироватьвот мне по волю случая пришлось заниматься передачей зашифрованной информации по сети особым программистом я себя назвать не могу. НО,используя современные языки высоко уровня сделал это легко, используя соответствующие классы. Я это к тому, что может уже пора применять железо позволяющее применять современные средства ну и есстественно ОС. А то все изобретаем колесо с нуля

А как вы определяете какое средства современное, а какое уже нет?
В чем по вашему мнению проявляется современность?
Название: На чем пишется софт для КА?
Отправлено: KBOB от 31.10.2009 10:41:55
Цитировать
ЦитироватьТут еще одно лирическое отсупление.


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

Оказалось, что все действительно работает (если исключить ошибки типа непроинициализированных переменных), но только в пределах одной архитектуры/компилятора. Т.е. решение, скомпилированное Visual под винду не будет рабоать с решением, скомпилированным gcc под Intel-Mac, а то, в свою очередь, не будет работать с решением под PowerPC-Mac. Потому что, например, для посчета sqrt вижуальник применяет SSE2-инструкции, а gcc под Intel-Mac применяет x87 инструкции. В результате получается хоть маленькая, но разница. Но со временем она накапливается до существенных размеров. В результате миры идут, что называется out-of-sync, несинхронно.
Нижегородский французский  :D
На самом деле улыбнуло то процессор в операциях с плавающей точкой может работать в трех вариантах точности:
24 bits precision - одинарная точность (single precision), 32 bit length
53 bits precision - двойная точность (double precision),64 bit length
64 bits precision - повышеная точность  (extended precision or double extended precision), 80 bit length.
Более подробно раскрыто здесь
http://software.intel.com/ru-ru/blogs/2008/08/18/84/

И вот такие тонкости работы процессора приводят потом некоторых программистов в полное замешательство. Под Windows программа выдает один результат, а в ОС РВ QNX4 где используется 53 bits precision совсем другой.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 31.10.2009 14:51:18
Цитировать
Цитироватьвот мне по волю случая пришлось заниматься передачей зашифрованной информации по сети особым программистом я себя назвать не могу. НО,используя современные языки высоко уровня сделал это легко, используя соответствующие классы. Я это к тому, что может уже пора применять железо позволяющее применять современные средства ну и есстественно ОС. А то все изобретаем колесо с нуля

А как вы определяете какое средства современное, а какое уже нет?
В чем по вашему мнению проявляется современность?
то что используется во всем jаvа sсriрt, visuаl, стандарт xml, протоколы http и https с сертификатами (вот и передавайте по ним кадры Тми), базы sql servеr и пр. На этом работает весь мир. Придшего молодого программиста можно сразу обучать особенностям КА, а не каким то неведомым языкам низкого уровня
Название: На чем пишется софт для КА?
Отправлено: sychbird от 31.10.2009 14:12:18
Я не специалист, непосредственно имеющий дело с СПО КА, но по косвенным сведениям мелькающим в сети, создается впечатление, что радиационно-стойкие комплекты чипов по возможностям находятся где-то в диапазоне 386-486 процессоров. А при таких параметрах о каких возможностях можно говорить.
Правда не ясно, можно ли здесь идти по пути многократного резервирования менее стойких компонентов. На это может дать ответ только практика. Но риск велик, и до этого может не дойти.

Ну это, взгляд дилетанта, конечно!.
Название: На чем пишется софт для КА?
Отправлено: KBOB от 31.10.2009 11:13:01
Цитироватьвот мне по волю случая пришлось заниматься передачей зашифрованной информации по сети особым программистом я себя назвать не могу. НО,используя современные языки высоко уровня сделал это легко, используя соответствующие классы. Я это к тому, что может уже пора применять железо позволяющее применять современные средства ну и есстественно ОС. А то все изобретаем колесо с нуля

Умное железо = глупое железо + контроллер + прошивка + коммуникационный протокол.
Мало того, что контроллер стоит денег, а прошивка написана с применением несовременного языка программирования  :lol: и может запросто содержать ошибки, так еще и коммуникационный протокол придется разработать.
Название: На чем пишется софт для КА?
Отправлено: А.Коваленко от 31.10.2009 15:19:22
Цитироватьто что используется во всем jаvа sсriрt, visuаl, стандарт xml, протоколы http и https с сертификатами (вот и передавайте по ним кадры Тми), базы sql servеr и пр. На этом работает весь мир.
Можете привести примеры использования того, что Вы перечислили, в бортовых комплексах управления КА?
Название: На чем пишется софт для КА?
Отправлено: KBOB от 31.10.2009 12:13:33
Цитировать
Цитировать
Цитироватьвот мне по волю случая пришлось заниматься передачей зашифрованной информации по сети особым программистом я себя назвать не могу. НО,используя современные языки высоко уровня сделал это легко, используя соответствующие классы. Я это к тому, что может уже пора применять железо позволяющее применять современные средства ну и есстественно ОС. А то все изобретаем колесо с нуля

А как вы определяете какое средства современное, а какое уже нет?
В чем по вашему мнению проявляется современность?
то что используется во всем jаvа sсriрt, visuаl, стандарт xml, протоколы http и https с сертификатами (вот и передавайте по ним кадры Тми), базы sql servеr и пр. На этом работает весь мир. Придшего молодого программиста можно сразу обучать особенностям КА, а не каким то неведомым языкам низкого уровня
Протоколы http и https не подойдут, только по smtp элетро-почтой с уведомлением о прочтении!  :lol:  :lol:  :lol:  :lol:  :lol:  :lol:
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 31.10.2009 17:54:45
Цитировать
Цитироватьто что используется во всем jаvа sсriрt, visuаl, стандарт xml, протоколы http и https с сертификатами (вот и передавайте по ним кадры Тми), базы sql servеr и пр. На этом работает весь мир.
Можете привести примеры использования того, что Вы перечислили, в бортовых комплексах управления КА?
да я по наземке такого не встречал, а Вы воворите КА! Сидим все в каменном веке. Не используються современные технологии. Кодируют, декодируют ТМИ кадр. Во! Орбиту еще придумали! Почему его кадр тми нельзя прямым кодом передать кай нттрs запрос? Потому что используем убогие программно аппаратные средства, не поддерживающие современне стандарты
Название: На чем пишется софт для КА?
Отправлено: KBOB от 31.10.2009 14:12:28
Цитировать
Цитировать
Цитироватьто что используется во всем jаvа sсriрt, visuаl, стандарт xml, протоколы http и https с сертификатами (вот и передавайте по ним кадры Тми), базы sql servеr и пр. На этом работает весь мир.
Можете привести примеры использования того, что Вы перечислили, в бортовых комплексах управления КА?
да я по наземке такого не встречал, а Вы воворите КА! Сидим все в каменном веке. Не используються современные технологии. Кодируют, декодируют ТМИ кадр. Во! Орбиту еще придумали! Почему его кадр тми нельзя прямым кодом передать кай нттрs запрос? Потому что используем убогие программно аппаратные средства, не поддерживающие современне стандарты
Если ТМИ кадр будет передан с ошибками, что произойдет?  :wink:
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 31.10.2009 19:12:01
Цитировать
Цитировать
Цитировать
Цитироватьто что используется во всем jаvа sсriрt, visuаl, стандарт xml, протоколы http и https с сертификатами (вот и передавайте по ним кадры Тми), базы sql servеr и пр. На этом работает весь мир.
Можете привести примеры использования того, что Вы перечислили, в бортовых комплексах управления КА?
да я по наземке такого не встречал, а Вы воворите КА! Сидим все в каменном веке. Не используються современные технологии. Кодируют, декодируют ТМИ кадр. Во! Орбиту еще придумали! Почему его кадр тми нельзя прямым кодом передать кай нттрs запрос? Потому что используем убогие программно аппаратные средства, не поддерживающие современне стандарты
Если ТМИ кадр будет передан с ошибками, что произойдет?  :wink:
то вернеться ошибка передачи тми кадра, что сейчас не происходит, и кадр можно передать еще раз. А не помечать его сбойным как сейчас путем анализа маркеров. Понимаете. сейчас передатцики тми работают в одну сторону, нет обратной связи от станции приема
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 31.10.2009 19:20:23
и регить тми в рмв в бд. Ну скока там полный поток по скут? Уже позабыл, 512кбит? Да нечего делать и обрабатывать и передавать в рмв не репортажный поток, а полный
Название: На чем пишется софт для КА?
Отправлено: Местный от 31.10.2009 19:41:25
Кстати , КС - 020 , сделан на 186 , в то время думаете не было 2 , 3 , 4 и 5 пней ?Чем проще , тем надежней .
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 31.10.2009 20:12:35
ЦитироватьКстати , КС - 020 , сделан на 186 , в то время думаете не было 2 , 3 , 4 и 5 пней ?Чем проще , тем надежней .
тем надежней что?
Название: На чем пишется софт для КА?
Отправлено: Местный от 31.10.2009 20:22:18
Тем надежней и защищенней данный прибор . Пример ФЛЕШа тому , гораздо надежней и устойчивей - масочное ПЗУ , а не сложный хотя и более емкий ФЛЕШ .
Название: На чем пишется софт для КА?
Отправлено: А.Коваленко от 31.10.2009 21:00:20
Цитировать
Цитировать
Цитироватьто что используется во всем jаvа sсriрt, visuаl, стандарт xml, протоколы http и https с сертификатами (вот и передавайте по ним кадры Тми), базы sql servеr и пр. На этом работает весь мир.
Можете привести примеры использования того, что Вы перечислили, в бортовых комплексах управления КА?
да я по наземке такого не встречал, а Вы воворите КА! Сидим все в каменном веке. Не используються современные технологии. Кодируют, декодируют ТМИ кадр. Во! Орбиту еще придумали! Почему его кадр тми нельзя прямым кодом передать кай нттрs запрос? Потому что используем убогие программно аппаратные средства, не поддерживающие современне стандарты
А что такое "современные технологии"? Вы про спецификации CCSDS слышали что-нибудь? Если нет, то советую ознакомиться http://www.ccsds.org
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 31.10.2009 21:01:56
а интерфейс к нему так же стандартизирован и способ, скорость передачи и хранения информации?
Название: На чем пишется софт для КА?
Отправлено: Дем от 31.10.2009 23:08:51
Цитировать
Цитироватькаков допусковый предел реакции на событие? Он вообще есть?
Конечно есть. От и до. Например минимальная ширина импульса двигателя ориентации станции New Horizons 5 миллисекунд.
Сколько в 5мс укладывается тактов современного процессора, напомнить? Кроме того, время считать - не барское дело, этим должен независимый таймер заниматься, а процессор - лишь их программировать.
ЦитироватьМаниловщина какя-то.
А вы представляете себе хотя бы приблизительно объём работ по портированию CLR на другую ОС да ещё и ОС РВ и последующей сертификацией этого ПО? CLR - это ведь не только интерпретатор байткода, но и весь run-time. Несколько миллионов строк кода. И кто это это будет писать и отлаживать? Какой заказчик? НПОЛ? ВНИИЭМ? ИСС? И на какие деньги?
Во-первых - никакой "другой ОС". Вся ОС пишется на ЯВУ внутри CLR. На ассемблере только интерпретатор и классы работы с аппаратурой (прерывания, приём-передача байтов), вся более сложная логика - опять же на ЯВУ.
run-time опять же нужен весьма ограниченный, да и на ЯВУ он гораздо легче пишется и проверяется.

ЦитироватьВам приходилось наблюдать по ТМИ во время полёта, как тяжелые частицы выбивают ячейки памяти и искажают их содержимое? Зрелище не для слабонервных. При объеме ОЗУ 1-2 Мбайт еще можно обеспечить программную защиту от сбоев, ресурсов хватает. А при десятках мегабайт?
Применение ЕСС даёт неплохой результат. При чтении DVD ошибки в каждом секторе почти гарантированны, но это никому не мешает.

Цитироватьпо косвенным сведениям мелькающим в сети, создается впечатление, что радиационно-стойкие комплекты чипов по возможностям находятся где-то в диапазоне 386-486 процессоров. А при таких параметрах о каких возможностях можно говорить.
Этого вполне достаточно. Самой тяжёлой части - обработки видео - от них не требуется.
Название: На чем пишется софт для КА?
Отправлено: А.Коваленко от 31.10.2009 23:20:10
ЦитироватьПрименение ЕСС даёт неплохой результат. При чтении DVD ошибки в каждом секторе почти гарантированны, но это никому не мешает.
Потеря одного фрейма в MPEG2 никому ничем не грозит. А искажение поля признаков подключения аппаратуры в нужное время может и бед наделать.
Название: На чем пишется софт для КА?
Отправлено: zyxman от 31.10.2009 23:42:27
Цитироватьто что используется во всем jаvа sсriрt, visuаl, стандарт xml, протоколы http и https с сертификатами (вот и передавайте по ним кадры Тми), базы sql servеr и пр. На этом работает весь мир.
Ну что вы так человеку крылья режете?
- Как по мне, так пусть использует xml, javascript итд!
- Только подальше от меня :lol:
Название: На чем пишется софт для КА?
Отправлено: Дем от 01.11.2009 01:20:58
ЦитироватьПотеря одного фрейма в MPEG2 никому ничем не грозит. А искажение поля признаков подключения аппаратуры в нужное время может и бед наделать.
А как оно может исказиться, если или будет скорректировано по ЕСС или запрошено повторно за несовпадением контрольной суммы?
Название: На чем пишется софт для КА?
Отправлено: TAU от 01.11.2009 00:52:45
Цитировать
Цитироватьто что используется во всем jаvа sсriрt, visuаl, стандарт xml, протоколы http и https с сертификатами (вот и передавайте по ним кадры Тми), базы sql servеr и пр. На этом работает весь мир.
Можете привести примеры использования того, что Вы перечислили, в бортовых комплексах управления КА?
Ну, строго говоря, американцы вроде Java - причем не скрипт, а полную Java, используют аж на марсианских роверах.

Но по сути, конечно, Вы правы.
Название: На чем пишется софт для КА?
Отправлено: TAU от 01.11.2009 00:59:36
По пунктам:

Цитироватькак правило в той организации. о которой писал(а) тов. Morin, большая часть разработчиков СПО для КА, не является прогерами по образованию...  разработка и отладка СПО осуществляется не профессиональными программистами
Зуб даете? Уверены? Если да - то напрасно.

ЦитироватьНо не знаю, можно ли этих людей называть делитантами? Я думаю что нет
Назыавать дЕлИтантами точно нельзя.
Дорогие форумчане, ну давайте все же уважать немного наш язык. А то прямо глаз режет. "Делитанты", елки-палки... Сначала один написал, потом второй повторяет за ним. Правитльно: дИлЕтанты. Да и как писать правильно ТСЯ и ТЬСЯ в глаголах неплохо повторить.
Название: На чем пишется софт для КА?
Отправлено: Дмитрий Виницкий от 01.11.2009 02:02:49
Какая Java? С гвоздя упали? Там VxWorks 5.3.1 Mars Exploration Rovers Edition.
Название: На чем пишется софт для КА?
Отправлено: TAU от 01.11.2009 01:10:47
ЦитироватьНе знаю как там сейчас в Самаре
Уже писали.
Кстати, я когда писал о средствах более высокого уровня, имел в виду вовсе не С#. 8)

ЦитироватьКрасноярске
Модула-2+Спец.языки.

ЦитироватьМоскве
По-разному. :lol:

Цитироватьв NASA вопросам надежности бортового ПО уделяется первостатейное внимание
В перечисленных наших городах - абсолютно то же самое.

БПО проходит многоступенчатый процесс отладки. В том числе - с узлами реальной БА.
Название: На чем пишется софт для КА?
Отправлено: TAU от 01.11.2009 01:16:08
Присоединяюсь полностью к весьма компетентным высказываниям уважаемого Not, причем как, с одной стороны, к

Цитировать
ЦитироватьВ СИ дела обстоят совершенно не так, как Вы написали. Все целиком и полностью зависит от квалификации разработчика. Впрочем, как и при использовании ЛЮБОГО языка
Положим зерно истины в словах автора есть. Язык Си - хороший язык, но для своих применений, а именно: для системного программирования, на уровне ядра ОС, драйверов и других приложений, нуждающихся в прямом доступе в память. Однако для высоконадежных приложений реального времени он несколько неудобен и более того, опасен. Человек - не Бог. Человеку вообще, и программисту в частности свойственно ошибаться. И вот тут ему должен помочь хороший инструментарий - в выявлении ошибок. Ошибки программы, написанной на С, в общем случае выявить очень сложно, как раз из-за адресной арифметики и наличия прямого доступа в память. Задача верификации во многих случаях здесь не то что вычислительно непроходима, а в принципе неразрешима. Возможно это и имел ввиду автор. Другое дело, что и ассемблер тут тоже недалеко ушел. Хороший язык должен ограничить программиста ровно настолько, чтобы и руки ему не связать, и обеспечить возможность формальной верификации кода

так и

ЦитироватьПрограммирование больших систем - это не работа для свободных художников, которые хороши на этапе прототипирования, когда важно понять возможность построения того или иного алгоритма. Это сложный технологический процесс, со своими правилами, зависимостями и принципами.  Язык приложения определяет не программист, а технический директор, руководствуясь разного рода требованиями типа функциональной направленности, совместимости с имеющимся кодом, возможностью формальной верификации если нужно, и так далее... никто вам не позволит начудить в Си с указателями, только потому что вам нравится такой стиль

Разработка БПО - это технология. В которой первостепенное внимание уделяется вопросам обеспечения надежности.
Язык программирования - лишь часть технологии.

Да, Си не очень удачный язык с точки зрения внесения и трудности последующего выявления и устранения ошибок. С одной стороны.
С другой стороны, действительно, можно так отработать технологию создания БПО - тем более, что оно весьма специфично по своей семантике, и может так оказаться, что вообще никакой необходимости в использовании потенциально опасных конструкций Си не будет - что вероятность внесения этих ошибок будет сведена к минимуму.
Название: На чем пишется софт для КА?
Отправлено: TAU от 01.11.2009 01:17:28
ЦитироватьКакая Java? С гвоздя упали? Там VxWorks 5.3.1 Mars Exploration Rovers Edition
Каким образом ОС может мешать языку?
Учите матчасть.

Слышал я, что именно Java. Нельзя, конечно, исключить полностью, что это было какое-то искажение журналамерское.
Вот, кстати, можно интересненькое почитать по теме:
http://ti.arc.nasa.gov/m/profile/dimitra/publications/sei2003.pdf
Название: На чем пишется софт для КА?
Отправлено: TAU от 01.11.2009 01:39:32
ЦитироватьИ к сожалению в ближайшие годы изменений не предвидется
Смотря с какой точки зрения смотреть...  Кстати, правильно пишется: предвидИтся, простите.

ЦитироватьИМХО Самарские не серийные КА уходят в историю
Не дождутся (С).
Название: На чем пишется софт для КА?
Отправлено: KBOB от 01.11.2009 03:06:04
Цитировать
Цитировать
Цитировать
Цитировать
Цитироватьто что используется во всем jаvа sсriрt, visuаl, стандарт xml, протоколы http и https с сертификатами (вот и передавайте по ним кадры Тми), базы sql servеr и пр. На этом работает весь мир.
Можете привести примеры использования того, что Вы перечислили, в бортовых комплексах управления КА?
да я по наземке такого не встречал, а Вы воворите КА! Сидим все в каменном веке. Не используються современные технологии. Кодируют, декодируют ТМИ кадр. Во! Орбиту еще придумали! Почему его кадр тми нельзя прямым кодом передать кай нттрs запрос? Потому что используем убогие программно аппаратные средства, не поддерживающие современне стандарты
Если ТМИ кадр будет передан с ошибками, что произойдет?  :wink:
то вернеться ошибка передачи тми кадра, что сейчас не происходит, и кадр можно передать еще раз. А не помечать его сбойным как сейчас путем анализа маркеров. Понимаете. сейчас передатцики тми работают в одну сторону, нет обратной связи от станции приема
Ничего не вернется  :lol: в протоколе http даже передачи контрольной суммы нет. Ошибочный тми кадр по протоколу hhtp будет воспринят как правильный. Уныло вообщем дело обстоит.
Название: На чем пишется софт для КА?
Отправлено: zyxman от 01.11.2009 07:29:48
Цитировать
ЦитироватьКакая Java? С гвоздя упали? Там VxWorks 5.3.1 Mars Exploration Rovers Edition
Каким образом ОС может мешать языку?
Учите матчасть.

Слышал я, что именно Java.
Очень может быть что Java применяется на наземном сегменте в некритичных частях (с которых мы регулярно наблюдаем обработанные картинки, и регулярно-же материмся насчет задержки этих картинок), а для компьютера ровера Java тяжеловата, да и недостаточно надежна - там Модула-2 самое-то.
Название: На чем пишется софт для КА?
Отправлено: zyxman от 01.11.2009 07:37:30
ЦитироватьНичего не вернется  :lol: в протоколе http даже передачи контрольной суммы нет. Ошибочный тми кадр по протоколу hhtp будет воспринят как правильный. Уныло вообщем дело обстоит.
Все с http нормально - вообще TCP/IP рассчитан на вероятность искажения бита не хуже 10^-6 (одна миллионная), а соответственно уже для http вероятность искажения вообще не нормируется.
А если хочется надежной передачи, то можно кроме проверки целостности данных и исправления ошибок на канальном уровне просто использовать https или какой-то другой протокол с шифрованием и/или с жесткой проверкой - там уже очень строгая проверка и по искажению данных и по искажению идентификатора передающей стороны.
Название: На чем пишется софт для КА?
Отправлено: KBOB от 01.11.2009 04:06:12
Цитировать
ЦитироватьНичего не вернется  :lol: в протоколе http даже передачи контрольной суммы нет. Ошибочный тми кадр по протоколу hhtp будет воспринят как правильный. Уныло вообщем дело обстоит.
Все с http нормально - вообще TCP/IP рассчитан на вероятность искажения бита не хуже 10^-6 (одна миллионная), а соответственно уже для http вероятность искажения вообще не нормируется.
А если хочется надежной передачи, то можно кроме проверки целостности данных и исправления ошибок на канальном уровне просто использовать https или какой-то другой протокол с шифрованием и/или с жесткой проверкой - там уже очень строгая проверка и по искажению данных и по искажению идентификатора передающей стороны.
Вообще http согласно модели OSI протокол уровня приложения, а TCP/IP протоколы транспортного и сетевого уровней. Приложение у нас передает кадры ТМИ, но раз уж было предложено использовать для их передачи http как протокол уровня приложения, то вы решили  на транспортном и сетевом уровне использовать TCP/IP.
Вы за одно опишите что у вас за протоколы будут работать на канальном уровне и на физическом и посмотрим как все это заработает в в сети из 4-х узлов (два марсохода, один марсианских орбитер, наземная станция связи).
Название: На чем пишется софт для КА?
Отправлено: А.Коваленко от 01.11.2009 09:21:21
Цитировать
Цитировать
ЦитироватьНичего не вернется  :lol: в протоколе http даже передачи контрольной суммы нет. Ошибочный тми кадр по протоколу hhtp будет воспринят как правильный. Уныло вообщем дело обстоит.
Все с http нормально - вообще TCP/IP рассчитан на вероятность искажения бита не хуже 10^-6 (одна миллионная), а соответственно уже для http вероятность искажения вообще не нормируется.
А если хочется надежной передачи, то можно кроме проверки целостности данных и исправления ошибок на канальном уровне просто использовать https или какой-то другой протокол с шифрованием и/или с жесткой проверкой - там уже очень строгая проверка и по искажению данных и по искажению идентификатора передающей стороны.
Вообще http согласно модели OSI протокол уровня приложения, а TCP/IP протоколы транспортного и сетевого уровней. Приложение у нас передает кадры ТМИ, но раз уж было предложено использовать для их передачи http как протокол уровня приложения, то вы решили  на транспортном и сетевом уровне использовать TCP/IP.
Вы за одно опишите что у вас за протоколы будут работать на канальном уровне и на физическом и посмотрим как все это заработает в в сети из 4-х узлов (два марсохода, один марсианских орбитер, наземная станция связи).
Добавьте к этому еще специфические каналы связи, с весьма несиметричными полосам пропускания.
Название: На чем пишется софт для КА?
Отправлено: Not от 01.11.2009 20:09:28
Цитировать
Цитировать
ЦитироватьКакая Java? С гвоздя упали? Там VxWorks 5.3.1 Mars Exploration Rovers Edition
Каким образом ОС может мешать языку?
Учите матчасть.

Слышал я, что именно Java.
Очень может быть что Java применяется на наземном сегменте в некритичных частях (с которых мы регулярно наблюдаем обработанные картинки, и регулярно-же материмся насчет задержки этих картинок), а для компьютера ровера Java тяжеловата, да и недостаточно надежна - там Модула-2 самое-то.

Выдержка из интервью с Гослингом о роли Java в ПО марсоходов:
ЦитироватьThe Mars Mission Continues

In this Q&A with James Gosling, find out more about the role of Java in the Mission to Mars and download your own version of the Maestro application or go to java.com to learn more.

Friday Jan 16, 10:00 AM PT

Q:What exactly is Java's role in the Mars Rover mission?

A: The places where NASA scientists have used Java for this mission is all on the ground side right now. They have created this collaborative command and control system called Maestro, which does this combination of data visualization, collaboration, command and control. It lets them look at images and create 3-D reconstructions of terrain. It allows various experimenters to look at the scenes and topography, browse the image databases and take part in all the participation they need to do. And to do it in a remote, distributed and collaborative kind of way - so they could actually have scientists at institutions all over the world who are not only looking at the data, but also collaboratively deciding on the way the mission should proceed. One of the nice things that the JPL guys have done is that they've made a "cleaned up for civilians" version of this application available that's called Maestro.
И далее:
http://www.sun.com/aboutsun/media/features/mars.html
Название: На чем пишется софт для КА?
Отправлено: Not от 01.11.2009 20:47:52
Цитироватьто что используется во всем jаvа sсriрt, visuаl, стандарт xml, протоколы http и https с сертификатами (вот и передавайте по ним кадры Тми), базы sql servеr и пр. На этом работает весь мир. Придшего молодого программиста можно сразу обучать особенностям КА, а не каким то неведомым языкам низкого уровня
Ну положим не все то, что хорошо для программирования веб-приложений хорошо для бортового ПО. Вы как-то оголтело весь мир записали в любители Java-скрипта  :D

Вообще, всем любителям Java и JVM, C# и CLR и им подобным интерпретиреуемых языков и виртуальных машин, я бы рекомендовал в первую очередь задуматься над двумя вопросами - 1. почему именно интерпретируемый язык? и 2. сколько это будет стоить?

Ответы типа "весь мир пишет на C# (или на Java)" не принимаются. Вы будет удивлены, но большая часть программ в мире написана на Коболе.
ЦитироватьIn 1997, the Gartner Group reported that 80% of the world's business ran on COBOL with over 200 billion lines of code in existence and with an estimated 5 billion lines of new code annually
И что? будем писать бортовое ПО на Коболе? Некоторые заявляют, что на Java проще писать, дескать не нужно думать о сборке мусора. Верно, но типичная событийно-декларативная архитектура бортового ПО не предполагает большого количества создаваемых объектов. Обычно бортовое ПО - это набор некоторых правил (действий), запускающихся по таймеру, или иному аппаратному прерыванию. Широко применяется локальное выделение памяти, с предопределенными повторно используемыми коллекциями объектов определенного типа. Другие плюсы Java - безопасность, сетецентричность также бесполезны в бортовом ПО - у нас нет вирусов, подменяющих фреймы стека и нет приложений, загружающих модули (классы) по сети.

Таким образом, единственно принимаемый аргумент в пользу Java или С# - концептуальная чистота объектно - ориентированного языка, плюс некоторые достоинства интерпретируемой программы, такие как динамическая идентификация операторов и т.д. Однако, давайте разберемся, какой ценой мы получим эту чистоту? Интерпретация предполагает наличие интерпретатора между кодом и процессором. т.е. количество тактов процессора, требуемых для исполнения того или иного оператора вашего кода нужно умножить на некоторый коэффициент. Вот величина этот коэффициента и есть та цена, которую вы заплатите. Поскольку увеличение количества тактов процессора отражается в увеличенном потреблении ценнейшего ресурса на борту КА - энергии. Известно, что хорошие интерпретируемые программы исполняются в 5-10 раз медленнее хороших компилируемых. т.е. вы потратите в 5-10 раз больше энергии того же скудно освещаемого марсохода, или энергии радиоизотопного термоэмиссионного генератора АМС.

Обсуждать XML вообще не имеет смысла, вследствие его совершенно безумной избыточности. Так называмая "читабельность" XML -а не имеет никакого смысла на борту КА, читать там, кроме бортовых систем, некому, а они прекрасно справляются с двоичным представлением информации. Компьютеры-с, что с них взять? :D
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 01.11.2009 13:27:46
ЦитироватьНичего не вернется  :lol: в протоколе http даже передачи контрольной суммы нет. Ошибочный тми кадр по протоколу hhtp будет воспринят как правильный. Уныло вообщем дело обстоит.
еще как вернется в сообщении респонс, более того его можно зашифровать стандартными средствами поставить ЭЦП. Вы на приемной станции будете гарантированно знать, что кадр целостен и пришел именно от того борта от которого ожидали! Я с платежными системами работаю. Тут у нас все надежно
Название: На чем пишется софт для КА?
Отправлено: yos от 01.11.2009 14:32:01
Блииин, ну при чём всякие явы, xml, и другие вещи к ПО КА? Я уже давно заметил, что многие люди пытаются распространить мир персональных ЭВМ в мир космонавтики, авиации и т.д. Это совершенно разные вещи, которые связаны лишь очень общими принципами, суть которых лишь в том, что и там и там -- ЭВМ и они "работают на программах". И всё.
Идеи "использовать" в бортовых ЭВМ, например, javascript, c# и проч. так же, как они были задуманы и реализованы в мире ПЭВМ (а главное для чего!), необдуманные и просто наивные (без обид). О том, почему это так, можно столько говорить, что я даже не знаю где начать... Хорошее начало -- осознать, что мир ПО персональных ЭВМ и мир бортовых ЭВМ это совсем разные области.
Название: На чем пишется софт для КА?
Отправлено: yos от 01.11.2009 14:36:25
ЦитироватьА для написания многих алгоритмов вообще приходиться пользоваться специфическими методами математики начаная  от методов динамического программирования заканчивая поиском решения расходящейся краевой задачи.    
На классических факультетах выпускающих программистов такому вроде бы не обучают.
Значит это не классические факультеты, а ПТУ... То что вы назвали, а также многие другие "специфические методы математики" на самом деле совсем не специфические, а стандартные части науки информатики. К тому же ещё и довольно банальные (динамическое программирование), по сравнению с другими темами (теоретической) информатики. Впрочем, этот вопрос уже обсуждался в этой теме.
Название: На чем пишется софт для КА?
Отправлено: А.Коваленко от 01.11.2009 15:51:12
Ну наконец-то пошли здравые мысли!  :D
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 01.11.2009 16:40:44
ЦитироватьБлииин, ну при чём всякие явы, xml, и другие вещи к ПО КА? Я уже давно заметил, что многие люди пытаются распространить мир персональных ЭВМ в мир космонавтики, авиации и т.д. Это совершенно разные вещи, которые связаны лишь очень общими принципами, суть которых лишь в том, что и там и там -- ЭВМ и они "работают на программах". И всё.
Идеи "использовать" в бортовых ЭВМ, например, javascript, c# и проч. так же, как они были задуманы и реализованы в мире ПЭВМ (а главное для чего!), необдуманные и просто наивные (без обид). О том, почему это так, можно столько говорить, что я даже не знаю где начать... Хорошее начало -- осознать, что мир ПО персональных ЭВМ и мир бортовых ЭВМ это совсем разные области.
так вы наверняка правы! Вот и объясните почему?
Название: На чем пишется софт для КА?
Отправлено: Дем от 01.11.2009 18:07:49
ЦитироватьНичего не вернется  :lol: в протоколе http даже передачи контрольной суммы нет. Ошибочный тми кадр по протоколу hhtp будет воспринят как правильный. Уныло вообщем дело обстоит.
Контрольная сумма там на канальном (tcp) уровне
ЦитироватьОтветы типа "весь мир пишет на C# (или на Java)" не принимаются. Вы будет удивлены, но большая часть программ в мире написана на Коболе.
ЦитироватьIn 1997, the Gartner Group reported that 80% of the world's business ran on COBOL with over 200 billion lines of code in existence and with an estimated 5 billion lines of new code annually
Дистрибутив Вин7 в распакованном виде - 10 гигабайт бинарников. если одна строка кода компилируется в 100 байт бинарного - то это 100 млрд строк. Один продукт равен половине всей коблятины.
ЦитироватьТаким образом, единственно принимаемый аргумент в пользу Java или С# - концептуальная чистота объектно - ориентированного языка, плюс некоторые достоинства интерпретируемой программы, такие как динамическая идентификация операторов и т.д. Однако, давайте разберемся, какой ценой мы получим эту чистоту? Интерпретация предполагает наличие интерпретатора между кодом и процессором. т.е. количество тактов процессора, требуемых для исполнения того или иного оператора вашего кода нужно умножить на некоторый коэффициент.
Ну вообще говоря ещё и сам язык Java / С# - гораздо более приспособлен к событийно-декларативной архитектуре. Потом - интерпретатор обрабатывает достаточно высокоуровневые инструкции, поэтому коэффициэнт невелик, и в отдельных случаях может быть даже меньше единицы.
Цитироватьвы потратите в 5-10 раз больше энергии
Основную часть энергии жрёт не процессор, а передатчики и прочие моторы
ЦитироватьОбсуждать XML вообще не имеет смысла, вследствие его совершенно безумной избыточности.
Про Binary XML слышал? Фича XML в стандартизации передачи данных - переданный блок понятен без каких-либо дополнительных усилий, вся информация о содержимом находится в нём же.
Название: На чем пишется софт для КА?
Отправлено: jettero от 01.11.2009 18:16:25
Смешались в кучу кони, люди...
Что-то читаю и никак не пойму, почему тут на полном серьезе обсуждают javascript и http для КА. Оба этих зверя не имеют применения за пределами вебстраниц чуть менее, чем полностью. Или кто-то предлагает поднять на спутнике вебсервер и управлять им через веб интерфейс, тыкая мышкой по сайту :D
Тогда да, яваскрипт (кстати никакого отношения к яве не имеющий) может пригодится для анимации меню например :)
Я бы еще мог понять если бы речь шла только про TCP/IP (хотя тоже не совсем в тему, вроде пока задача строить сеть на спутниках не актуальна), но HTTP???  :?  :shock:
Название: На чем пишется софт для КА?
Отправлено: zyxman от 01.11.2009 20:18:59
ЦитироватьНу наконец-то пошли здравые мысли!  :D
А меня это заумное рассуждение просто веселит. Поэтому иногда "подкидываю дровишек" :lol:
Название: На чем пишется софт для КА?
Отправлено: PyKaB от 01.11.2009 21:19:36
Я конечно в космосе нифига не понимаю - зарегистрировался почитать, но свои пять копеек сюда вставлю про яву.
1. Во-первых Java ооочень быстрая http://kano.net/javabench/data
2. Позволяет очень удобно реализовывать изолированные процессы
3. Как уже было замечено, язык всего лишь инструмент в существующих технологиях написания ПО и Java подходит для написание устойчивого ПО больше, чем большинство языков
4. Java никогда не запустят в роли жизнено важной системы, т.к. для начала надо полностью доверится пока еще динамично развивающийся среде выполнения
Название: На чем пишется софт для КА?
Отправлено: TAU от 01.11.2009 21:14:02
ЦитироватьОтветы типа "весь мир пишет на C# (или на Java)" не принимаются. Вы будет удивлены, но большая часть программ в мире написана на Коболе
Ага, примечательный факт. Неплохо расширяет сознание "продвинутых девелоперов". Я люблю глаза своих студентов наблюдать, когда им сообщаю это дело.

Цитироватьтипичная событийно-декларативная архитектура бортового ПО не предполагает большого количества создаваемых объектов. Обычно бортовое ПО - это набор некоторых правил (действий), запускающихся по таймеру, или иному аппаратному прерыванию
Точно, я об этом и писал.

Цитироватьдавайте разберемся, какой ценой мы получим эту чистоту? Интерпретация предполагает наличие интерпретатора между кодом и процессором. т.е. количество тактов процессора, требуемых для исполнения того или иного оператора вашего кода нужно умножить на некоторый коэффициент. Вот величина этот коэффициента и есть та цена, которую вы заплатите. Поскольку увеличение количества тактов процессора отражается в увеличенном потреблении ценнейшего ресурса на борту КА - энергии. Известно, что хорошие интерпретируемые программы исполняются в 5-10 раз медленнее хороших компилируемых. т.е. вы потратите в 5-10 раз больше энергии того же скудно освещаемого марсохода, или энергии радиоизотопного термоэмиссионного генератора АМС.
Обсуждать XML вообще не имеет смысла, вследствие его совершенно безумной избыточности. Так называмая "читабельность" XML -а не имеет никакого смысла на борту КА, читать там, кроме бортовых систем, некому, а они прекрасно справляются с двоичным представлением информации. Компьютеры-с, что с них взять? :D
Блестяще сказано и по сути!
Название: На чем пишется софт для КА?
Отправлено: yos от 02.11.2009 00:02:30
Цитироватьтак вы наверняка правы! Вот и объясните почему?
А что именно интересует? А то так много было сказано.
Название: На чем пишется софт для КА?
Отправлено: zyxman от 02.11.2009 01:25:19
ЦитироватьТак называмая "читабельность" XML -а не имеет никакого смысла на борту КА, читать там, кроме бортовых систем, некому, а они прекрасно справляются с двоичным представлением информации. Компьютеры-с, что с них взять? :D
Ну с точки зрения менеджмента, если работники прекрасно справляются с работой, значить есть еще резервы и надо их еще нагрузить :D
Название: На чем пишется софт для КА?
Отправлено: jettero от 02.11.2009 07:08:13
Еще насчет "читабельности XML" - читабельность нужна не для компов, а для программера, для дебага отправленных пакетов, а то так можно и сразу в машинных кодах програмить, если программеру уже не нужна читабельность :) Пусть сидит со спеками проца и по ним разбирается, что там творится.
Кстати XML не особо-то и читабельный и через-чур избыточный. В этом отношении формат YAML гораздо выигрышней - он и читается и он компактный, и он как-раз для упаковки данных, а не язык разметки.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 02.11.2009 07:26:38
ЦитироватьИли кто-то предлагает поднять на спутнике вебсервер и управлять им через веб интерфейс, тыкая мышкой по сайту :D
воооот!!! :D я вот так хотел бы :D а почему бы и нет? Очень красиво и наглядно будет! Так в  итоге кстати и будет . . . У них
Название: На чем пишется софт для КА?
Отправлено: PyKaB от 02.11.2009 10:01:01
Цитировать
Цитироватьдавайте разберемся, какой ценой мы получим эту чистоту? Интерпретация предполагает наличие интерпретатора между кодом и процессором. т.е. количество тактов процессора, требуемых для исполнения того или иного оператора вашего кода нужно умножить на некоторый коэффициент. Вот величина этот коэффициента и есть та цена, которую вы заплатите. Поскольку увеличение количества тактов процессора отражается в увеличенном потреблении ценнейшего ресурса на борту КА - энергии. Известно, что хорошие интерпретируемые программы исполняются в 5-10 раз медленнее хороших компилируемых. т.е. вы потратите в 5-10 раз больше энергии того же скудно освещаемого марсохода, или энергии радиоизотопного термоэмиссионного генератора АМС.
Блестяще сказано и по сути!
Не надо обманывать студентов. Разница есть, но обычно меньше 5-10 раз и актуально это для первого запуска программы.
А вот проблемы удаленной модернизации ПО скриптовые языки позволяют решить намного легче
Название: На чем пишется софт для КА?
Отправлено: Morin от 02.11.2009 09:29:56
Цитировать
Цитировать
ЦитироватьЧто-то меня смущает вот этот пассаж:
Цитироватьлюдей, неработавших никогда в Си, учат на 2-х недельных курсах, после чего они должны будут написать и отладить на нем за 2 месяца борт нового изделия
Это что, в самом деле?
ампанского, вы верите? :-(
Не верю. Так как работаю в фирме, которая разрабатывает, в том числе, и ПО для управляющих бортовых компьютеров. А сам занимаюсь эксплуатацией этого ПО. И ситуацию знаю изнутри. Так что, не верю. И вообще, причем тут СШГЭС?
Я рад, что еще не везде победил воинствующий дилетантизм :-(
А СШГЭС - это пример победы дилетантов над специалистами.
Название: На чем пишется софт для КА?
Отправлено: Morin от 02.11.2009 09:41:57
ЦитироватьLRV_75 писал(а):
Цитироватьизвините, там сидели эксплуатанщионщики, они как правило систему в деталях знают плохо и работают по инструкциям, так же как и на наших РКК. Мы же тут говорим про разработчиков. Что? И разрабатывают ПО для КА тоже делитанты?

На самом деле ситуация очень интересная, как правило в той организации. о которой писал(а) тов. Morin, большая часть разработчиков СПО для КА, не является прогерами по образованию. Такой подход формирования кадров скорее всего связан с целевыми задачами решаемыми КА. Для решения которых необходима достаточно сложная математика, механика и логика. Иными словами для разработки мат. моделей процессов нужно хорошо знать механику полета, механику твердого тела, устойчивость, теорию управления движением и т.п. А для написания многих алгоритмов вообще приходиться пользоваться специфическими методами математики начаная  от методов динамического программирования заканчивая поиском решения расходящейся краевой задачи.    
На классических факультетах выпускающих программистов такому вроде бы не обучают. А где обучают, предметы программирования рассматриваются лишь с инструментальной точки зрения. Т.е. разработка и отладка СПО осуществляется не профессиональными программистами. Поэтому сложности перехода с одно языка на другой будут серьезными, а за две недели новую среду разработки освоить любому человеку трудновато будет.   Вот мы и получаем  не оптимальное СПО.
Но не знаю, можно ли этих людей называть делитантами? Я думаю что нет.
В целом вы правы. Что тут можно добавить? Что разработчик БПО должен еще хорошо знать сам КА, а этому, уж точно ни в каких вузах не учат. Либо кто-то должен ему написать очень подробную логику работы программы. Тогда можно матчасть и не знать, но в этом случае программист действительно становится ремесленником. Что частично уже реализовано. Чем это чревато? Тем,  что в реальных ошибках (или нештатных ситуациях) вообще никто не разберется. Программист - в силу своего незнания логики работы аппарата, а разработчик логики - в силу незнания тонкостей программной реализации его логики.
Программисты-неспециалисты точно не являются дилетантами, а вот программисты-специалисты, не освоившие матчасть, скорее окажутся дилетантами.
Название: На чем пишется софт для КА?
Отправлено: А.Коваленко от 02.11.2009 11:00:20
ЦитироватьЧто разработчик БПО должен еще хорошо знать сам КА, а этому, уж точно ни в каких вузах не учат.
Вообще-то учат.
Название: На чем пишется софт для КА?
Отправлено: А.Коваленко от 02.11.2009 11:03:13
Цитировать
ЦитироватьИли кто-то предлагает поднять на спутнике вебсервер и управлять им через веб интерфейс, тыкая мышкой по сайту :D
воооот!!! :D я вот так хотел бы :D а почему бы и нет? Очень красиво и наглядно будет! Так в  итоге кстати и будет . . . У них
Управление процессами в реальном времени через web-сервер? Выдаете желаемое (вами) за действительное. Уже даже и не смешно  :cry:
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 02.11.2009 12:19:51
Цитировать
Цитировать
ЦитироватьИли кто-то предлагает поднять на спутнике вебсервер и управлять им через веб интерфейс, тыкая мышкой по сайту :D
воооот!!! :D я вот так хотел бы :D а почему бы и нет? Очень красиво и наглядно будет! Так в  итоге кстати и будет . . . У них
Управление процессами в реальном времени через web-сервер? Выдаете желаемое (вами) за действительное. Уже даже и не смешно  :cry:
весь мир идет по пути коммерциализции и удобства пользования. Примеров даже приводить не надо. Подойдите к терминалу в москве и купите билет в Большой театр и Вам покажут место где вы будете сидеть. Вот Вам и wеb сервис. Тоже самое и здесь. Все будет наглядно и осизаемо для простого юзера
Название: На чем пишется софт для КА?
Отправлено: Frontm от 02.11.2009 12:23:26
ЦитироватьВ целом вы правы. Что тут можно добавить? Что разработчик БПО должен еще хорошо знать сам КА, а этому, уж точно ни в каких вузах не учат. Либо кто-то должен ему написать очень подробную логику работы программы. Тогда можно матчасть и не знать, но в этом случае программист действительно становится ремесленником. Что частично уже реализовано. Чем это чревато? Тем,  что в реальных ошибках (или нештатных ситуациях) вообще никто не разберется. Программист - в силу своего незнания логики работы аппарата, а разработчик логики - в силу незнания тонкостей программной реализации его логики.
Программисты-неспециалисты точно не являются дилетантами, а вот программисты-специалисты, не освоившие матчасть, скорее окажутся дилетантами.
Спасибо за то, что сказали про этот нюанс :D
Название: На чем пишется софт для КА?
Отправлено: Frontm от 02.11.2009 12:24:39
Цитироватьвесь мир идет по пути коммерциализции и удобства пользования. Примеров даже приводить не надо. Подойдите к терминалу в москве и купите билет в Большой театр и Вам покажут место где вы будете сидеть. Вот Вам и wеb сервис. Тоже самое и здесь. Все будет наглядно и осизаемо для простого юзера

Простые юзеры будут управлять КА? :shock:
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 02.11.2009 12:37:32
Цитировать
Цитироватьвесь мир идет по пути коммерциализции и удобства пользования. Примеров даже приводить не надо. Подойдите к терминалу в москве и купите билет в Большой театр и Вам покажут место где вы будете сидеть. Вот Вам и wеb сервис. Тоже самое и здесь. Все будет наглядно и осизаемо для простого юзера

Простые юзеры будут управлять КА? :shock:
Да, брат мой! И не только ими, но и нами с тобой. Ты этого еще не замечаешь? :D
Название: На чем пишется софт для КА?
Отправлено: Frontm от 02.11.2009 12:41:43
Цитировать
Цитировать
Цитироватьвесь мир идет по пути коммерциализции и удобства пользования. Примеров даже приводить не надо. Подойдите к терминалу в москве и купите билет в Большой театр и Вам покажут место где вы будете сидеть. Вот Вам и wеb сервис. Тоже самое и здесь. Все будет наглядно и осизаемо для простого юзера

Простые юзеры будут управлять КА? :shock:
Да, брат мой! И не только ими, но и нами с тобой. Ты этого еще не замечаешь? :D
Ах, вот почему всё так криво :shock:
Оказываются мы юниты в комьютерной игре, а нами рулят ламеры-геймеры :D
Название: На чем пишется софт для КА?
Отправлено: Morin от 02.11.2009 12:35:12
Цитировать
ЦитироватьЧто разработчик БПО должен еще хорошо знать сам КА, а этому, уж точно ни в каких вузах не учат.
Вообще-то учат.
В каких вузах изучают вновь проектируемые КА? ;-) А если к моменту окончания вуза этот проект закроют, а начнут новый? А если выпускник поедет в другой город и в другое КБ? :-)
Вы, наверное, имели в виду изучают КА - вообще, абстрактно. Это да! В некоторых вузах изучают, но не будущие программисты. :-( Да им такие знания и не помогут, разве что помогут быстрее изучит конкретный новый КА.
Название: На чем пишется софт для КА?
Отправлено: Morin от 02.11.2009 12:43:15
Цитировать
Цитировать
Цитировать
ЦитироватьИли ..., тыкая мышкой по сайту :D
воооот!!! :D я вот так хотел бы :D а почему бы и нет? ... Так в  итоге кстати и будет . . . У них
Управление процессами в реальном времени через web-сервер? Выдаете желаемое (вами) за действительное. Уже даже и не смешно  :cry:
весь мир идет по пути коммерциализции и удобства пользования. Примеров даже приводить не надо. Подойдите к терминалу в москве и купите билет в Большой театр и Вам покажут место где вы будете сидеть. Вот Вам и wеb сервис. Тоже самое и здесь. Все будет наглядно и осизаемо для простого юзера
Такого не будет никогда :-) Разве что тогда, когда будут запускать спутники-игрушки для чайников ;-) Реальные спутники создаются всегда на пределе технических возможностей и тратить его драгоценные ресурсы (память, вес, энергопотребление, надежность) на прибамбасы для малограмотных пользователей никто не будет. По крайней мере. в обозримом будущем, я надеюсь. Я если попытаются, то потерпят жестокое фиаско :-(
Название: На чем пишется софт для КА?
Отправлено: ITop от 02.11.2009 18:13:45
В тему можно ещё вспомнить системы управления промышленными объектами, производственными линиями, станками, роботами и т.д.

Большая часть из них пишется либо на языках низкого уровня, наподобие asm (с современными оболочками для разработки) с применением специальных языков высокого уровня, а точнее языков функциональных блоков.

Часто такие системы управления разграничивают:

Собственно атоматическое управление - на низком уровне.
Визуализация - на высоком (хоть С++, хоть Бэйсик)

Знание конкретного языка для программиста СУ - не самое важное. Важнее обычно знание объекта управления, опыт проектирования и отладки СУ. Часто бывает, что программист лучше всех знает объект  :wink:

Зная 3-4 языка и столько же сред разработки и сделав несколько проектов, изучить ещё одну среду и язык - дело даже не недель, а дней. Реальные случаи - проект делался за 2-3 недели вместе с изучением нового языка, новых стандартов ПО, не считая собственно нового оборудоавния.

Обычным же, "оффисным" программистам, могу посоветовать не спорить с СУ-шниками, предварительно не сделав хотя бы один рабочий проект.  :wink:
Название: На чем пишется софт для КА?
Отправлено: JoJo от 02.11.2009 21:34:07
Цитировать
Цитировать
Цитировать
Цитировать
ЦитироватьИли ..., тыкая мышкой по сайту :D
воооот!!! :D я вот так хотел бы :D а почему бы и нет? ... Так в  итоге кстати и будет . . . У них
Управление процессами в реальном времени через web-сервер? Выдаете желаемое (вами) за действительное. Уже даже и не смешно  :cry:
... Все будет наглядно и осизаемо для простого юзера
Такого не будет никогда :-) ...
А ведь к этому потихоньку  и идет, посмотрите хотя бы на это:
(это про спутник за шесть дней - не нашел здесь топика)
http://www.ll.mit.edu/HPEC/agendas/proc08/Day1/4-Lyke-Presentation.pdf
И про междупланетный интернет - тема была, но на всякий случай:
http://www.ipnsig.org/reports/DTN_Tutorial11.pdf
Название: На чем пишется софт для КА?
Отправлено: zyxman от 03.11.2009 00:30:24
Цитировать
Цитироватьвесь мир идет по пути коммерциализции и удобства пользования. Примеров даже приводить не надо. Подойдите к терминалу в москве и купите билет в Большой театр и Вам покажут место где вы будете сидеть. Вот Вам и wеb сервис. Тоже самое и здесь. Все будет наглядно и осизаемо для простого юзера

Простые юзеры будут управлять КА? :shock:
Конечно будут, но см выделенный кусочек :wink:

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

Насчет нештатных ситуаций - много ли из здесь присутствующих могут подробно расписать цикл современного процессора? Ну пусть для упрощения это будет не десктоп а именно космический процессор :P
Название: На чем пишется софт для КА?
Отправлено: Дем от 03.11.2009 01:23:26
ЦитироватьВ целом вы правы. Что тут можно добавить? Что разработчик БПО должен еще хорошо знать сам КА, а этому, уж точно ни в каких вузах не учат. Либо кто-то должен ему написать очень подробную логику работы программы. Тогда можно матчасть и не знать, но в этом случае программист действительно становится ремесленником. Что частично уже реализовано. Чем это чревато? Тем,  что в реальных ошибках (или нештатных ситуациях) вообще никто не разберется. Программист - в силу своего незнания логики работы аппарата, а разработчик логики - в силу незнания тонкостей программной реализации его логики.
Программисты-неспециалисты точно не являются дилетантами, а вот программисты-специалисты, не освоившие матчасть, скорее окажутся дилетантами.
Не совсем так. Программисты-специалисты будут дилетантами в спутниках, а программисты-неспециалисты - дилетантами в программировании. А так как нам нужны всё-таки вторые - то им нужно дать максимально простой и понятный и не дающий делать ошибки язык.

ЦитироватьУправление процессами в реальном времени через web-сервер? Выдаете желаемое (вами) за действительное. Уже даже и не смешно
Не следует путать "управление процессами в реалтайме" и "управление реалтаймовыми процессами". Если первое действительно сложно (хотя про онлайн-игры через интернет я думаю всем известно), то второе проблем не представляет.
Название: На чем пишется софт для КА?
Отправлено: Morin от 03.11.2009 10:30:00
ЦитироватьЗнание конкретного языка для программиста СУ - не самое важное. Важнее обычно знание объекта управления, опыт проектирования и отладки СУ. Часто бывает, что программист лучше всех знает объект  :wink:

  :wink:
А вот это очень верно. Часто молодые программисты, приходя в контору, свысока смотрят на опытных разработчиков. Потому что те не знают современных языков и сред программирования и, вообще, занимаются написанием каких-то непонятных-ненужных бумажек. Молодые программисты не хотят изучать матчасть: "Зачем? Ведь я же ПРОГРАММИСТ?"
Насчет того, что программист лучше всех знает объект.  Бывает, но не часто. Обычно такой программист изначально не был программистом, а был обычным инженером-механиком, -электриком, -управленцем. Программирование он осваивал уже зная объект и в приложении к объектам. Хотя бывают и исключения. Знаю программиста изначально совершенно не знавшего, не только КА. но и вообще, любые железки. Но в процессе работы досконально изучившим матчасть и теперь могущий подсказывать не только программистам, но и инженерам системщикам. Даже  более опытным. Но такие случаи - исключение. Обычно инженеры говорят: "Проще самому изучить язык и написать программу, чем объяснить программисту, что от него требуется".
Название: На чем пишется софт для КА?
Отправлено: Frontm от 03.11.2009 13:57:05
ЦитироватьОбычно инженеры говорят: "Проще самому изучить язык и написать программу, чем объяснить программисту, что от него требуется".
Зачастую самому просто банально дешевле. При нашем скудном финансировании заказать что-то на стороне нереально.
Так что не от хорошей жизни всё это. Часто бывает что вместо долгой разработкти ТЗ и согласований - быстрее самому.
Но одно но, всё это касается наземки. Для борта ПО должны писать только профессиональные программисты.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 03.11.2009 14:03:35
Цитировать
ЦитироватьОбычно инженеры говорят: "Проще самому изучить язык и написать программу, чем объяснить программисту, что от него требуется".
Зачастую самому просто банально дешевле. При нашем скудном финансировании заказать что-то на стороне нереально.
Так что не от хорошей жизни всё это. Часто бывает что вместо долгой разработкти ТЗ и согласований - быстрее самому.
Но одно но, всё это касается наземки. Для борта ПО должны писать только профессиональные программисты.
надеюсь их у Вас еще осталось! Кстати, внутреннее ТЗ еще никто не отменял
Название: На чем пишется софт для КА?
Отправлено: TAU от 03.11.2009 23:58:25
ЦитироватьВ тему можно ещё вспомнить системы управления промышленными объектами, производственными линиями, станками, роботами и т.д. Большая часть из них пишется либо на языках низкого уровня, наподобие asm (с современными оболочками для разработки) с применением специальных языков высокого уровня, а точнее языков функциональных блоков
Ну, МЭК включает целый набор языков подобного программирования, не только "функциональных блоков" - Functional Block Diagram, FBD - кстати, неплохо бы еще отметить, что этот язык - графический, то есть речь идет о визуальном программировании, т.е. на уровне выше, чем ЯВУ, те же Си или Ада. LD - тоже графический.

Да и для написания на ассемблере, скажем, для контроллеров Atmel существует система графического программирования Algorithm Builder.
Название: На чем пишется софт для КА?
Отправлено: TAU от 04.11.2009 00:03:07
ЦитироватьОбычно инженеры говорят: "Проще самому изучить язык и написать программу, чем объяснить программисту, что от него требуется"
Потому и создаются средства, призванные позволить именно "системщикам", специалистам по управлению конкретными приборами и системами КА, создавать алгоритмы управления без привлечения программистов.

Например, именно такова система ГРАФИТ-ФЛОКС, созданная В. Паронджановым и его коллегами в НПЦ АП имени Пилюгина и успешно примененная, например, в проекте "Морской старт".
Название: На чем пишется софт для КА?
Отправлено: TAU от 04.11.2009 00:11:03
Цитировать
Цитировать
Цитироватьдавайте разберемся, какой ценой мы получим эту чистоту? Интерпретация предполагает наличие интерпретатора между кодом и процессором. т.е. количество тактов процессора, требуемых для исполнения того или иного оператора вашего кода нужно умножить на некоторый коэффициент. Вот величина этот коэффициента и есть та цена, которую вы заплатите. Поскольку увеличение количества тактов процессора отражается в увеличенном потреблении ценнейшего ресурса на борту КА - энергии. Известно, что хорошие интерпретируемые программы исполняются в 5-10 раз медленнее хороших компилируемых. т.е. вы потратите в 5-10 раз больше энергии того же скудно освещаемого марсохода, или энергии радиоизотопного термоэмиссионного генератора АМС.
Блестяще сказано и по сути!
Не надо обманывать студентов
Я, вообще-то, об объеме программ на Коболе говорил.

ЦитироватьРазница есть, но обычно меньше 5-10 раз и актуально это для первого запуска программы
Как раз таки "обычно" - т.е. если не притягивать "за уши" результаты и не пользоваться специальными приемчиками, то и будет 10 раз.

По поводу "для первого запуска" - не совсем понял, но в любом случае правдой на 100% быть не может. Интерпретатор все равно требует ресурсов, так или иначе.

ЦитироватьА вот проблемы удаленной модернизации ПО скриптовые языки позволяют решить намного легче
Вы неправы. Хотите поспорить - приведите пример "удаленной модернизации скриптового ПО" на КА.
Название: На чем пишется софт для КА?
Отправлено: TAU от 04.11.2009 00:23:30
Цитироватьпосмотрите хотя бы на это:
(это про спутник за шесть дней - не нашел здесь топика)
http://www.ll.mit.edu/HPEC/agendas/proc08/Day1/4-Lyke-Presentation.pdf
Нда. Сначала воспринимается, как чистая фанастика, потом читаешь дальше - и удивляешься.

Правда, пока это только "игрушки"-малышки. Но принцип...
Название: На чем пишется софт для КА?
Отправлено: zyxman от 04.11.2009 03:33:49
ЦитироватьПравда, пока это только "игрушки"-малышки. Но принцип...
Принцип универсальный - капитализм всегда стремится минимизировать издержки.
- Если не удается минимизировать расходы тиражированием (почти каждый спутник изделие уникальное), применяются другие методы - унификация, стандартизация, специализация..

Собственно нынешнее разнообразие средств разработки ПО как раз и вызвано стремлением съэкономить на оплате программиста.
- Во времена пика популярности Кобола программисты стоили безумно дорого, а сейчас за счет средств разработки, очень понизили входной уровень программиста и соответственно снизили и среднюю оплату программистов.
Название: На чем пишется софт для КА?
Отправлено: Not от 04.11.2009 14:07:36
ЦитироватьСобственно нынешнее разнообразие средств разработки ПО как раз и вызвано стремлением съэкономить на оплате программиста.
- Во времена пика популярности Кобола программисты стоили безумно дорого, а сейчас за счет средств разработки, очень понизили входной уровень программиста и соответственно снизили и среднюю оплату программистов.
Средства разработки ПО не снижают стоимость труда программиста, они лишь повышают его КПД, освобождая от рутины и давая возможность заниматься собственно алгоритмами или архитектурой - тем, что никакое ПО в его нынешнем виде вам не напишет. Но повышение КПД не означает снижения спроса на программистов - дело в том, что растет и востребованность в новом ПО. Другое дело, что растут требования к квалификации программистов. Кодеров нужно меньше (ПО разработки помогает), алгоритмистов и архитекторов - больше. Особенно сильно сказывается достижения предела по тактовой частоте процессоров. Параллельные алгоритмы значительно сложнее последовательных. Здесь наблюдается прямая аналогия между одномерными и многомерными задачами. Первые - просты, последние - обычно нетривиальны.
Название: На чем пишется софт для КА?
Отправлено: zyxman от 04.11.2009 06:36:46
ЦитироватьКодеров нужно меньше (ПО разработки помогает), алгоритмистов и архитекторов - больше. Особенно сильно сказывается достижения предела по тактовой частоте процессоров. Параллельные алгоритмы значительно сложнее последовательных.
И да и нет.

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

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

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

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

Сейчас да, несомненно есть некоторый момент (подобный "проблеме Y2K"), что нужно переделать часть старого софта под многоядерные архитектуры, и еще не устоялось параллельное программирование, но я не думаю что стоит серьезно на это рассчитывать, поскольку рынок не терпит пустоты, а ее заполняет.. А там где не успевает рынок - вмешивается например DARPA :D

Кстати, если можно, скажите, в каких областях вы сейчас видите явную потребность в увеличении квалификации программистов от переделки ПО на параллельные алгоритмы?
В смысле где оно требует серьезных усилий?
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 04.11.2009 07:45:51
ЦитироватьОбычным же, "оффисным" программистам, могу посоветовать не спорить с СУ-шниками, предварительно не сделав хотя бы один рабочий проект.  :wink:
обычный оффисный программист как Вы меня верно назвали в бытность свою работы в РКО написал АСУ ТП включения и контроля Системы Измерения РН ТОПОЛЬ-М (ШАХТНЫЙ ВАРИАНТ) И РН СОЮЗ-2. Которые до сих пор эксплуатируются
Название: На чем пишется софт для КА?
Отправлено: jettero от 04.11.2009 10:36:24
Ничего удивительного, у "офисных программеров" зачастую задачи посложнее попадаются :D
Не алгоритмически сложнее, а именно "по-кодерски" сложнее. Любая современная ОСь для ПК гораздо сложней и запутанней, чем среда которая на встраиваемых системах, где иногда и RTOS даже нет, а тупо по прерываниям обработчики запускаются.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 04.11.2009 11:06:08
ЦитироватьНичего удивительного, у "офисных программеров" зачастую задачи посложнее попадаются :D
Не алгоритмически сложнее, а именно "по-кодерски" сложнее. Любая современная ОСь для ПК гораздо сложней и запутанней, чем среда которая на встраиваемых системах, где иногда и RTOS даже нет, а тупо по прерываниям обработчики запускаются.
так на прерываних от таймеров там все и построено. Плюс ПДП на котором вся регистрация
Название: На чем пишется софт для КА?
Отправлено: sychbird от 04.11.2009 11:41:56
Цитироватьс другой стороны круг задач программистов настолько расширился (особенно за счет сферы развлечений, бухгалтерии и информационной отрасли в лице интернет сайтов и сайтоподобных локальных технологий), что "средняя квалификация по больнице" значительно упала, и широкие возможности нынешних средств разработки в основном используются как подпорка для слабых мозгов.
В действительности речь должна идти о "слабых мозгах в квадрате" Не только о низкой квалификации программеров, но и в первую очередь о возможности использовать "манагеров низкой квалификации", ничего не умеющих, кроме использования низкой квалификации программеров, пригодных только для использования Plag and Play модулей, как правило специализированных не слишком близко от требований решаемой задачи.

В результате очевидная "жлобская" экономия на этапе стоимости разработки, и не очевидный проигрыш во всех последующих этапах, перекладываемый на "потребителя"
Название: На чем пишется софт для КА?
Отправлено: jettero от 04.11.2009 13:01:11
Цитировать
ЦитироватьНичего удивительного, у "офисных программеров" зачастую задачи посложнее попадаются :D
Не алгоритмически сложнее, а именно "по-кодерски" сложнее. Любая современная ОСь для ПК гораздо сложней и запутанней, чем среда которая на встраиваемых системах, где иногда и RTOS даже нет, а тупо по прерываниям обработчики запускаются.
так на прерываних от таймеров там все и построено. Плюс ПДП на котором вся регистрация
О том и речь, видел я компы для танков – тупо через ПДП все делается, вся работа программера в том, чтобы закодить и отладить готовый алгоритм по баллистике. Для ЗРК правда, когда я работал, начинали делать поумнее систему - на основе американской RTOS RTEMS. Но и работа с RTOS относительно проста и прозрачна, по сравнению с клубком API в современных оконных OS для ПК. А уж если лезть дальше в дебри энтерпрайзного софта для датамайнинга или для ERP систем... вот где реально сложная работа для программера. Чем больше составных частей, и различных уровней в системе, чем больше распределенность системы, тем сложнее ее проектировать и кодить. На встраиваемых системах такой уровень сложности архитектуры практически не встречается, разве что на самолетах (западных, увы), где реализуется приборная панель-стеклянный кокпит, навигация, доки по оборудованию итп, все в одном флаконе.
Название: На чем пишется софт для КА?
Отправлено: zyxman от 05.11.2009 00:56:58
ЦитироватьВ действительности речь должна идти о "слабых мозгах в квадрате" Не только о низкой квалификации программеров, но и в первую очередь о возможности использовать "манагеров низкой квалификации"

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

ЦитироватьВ результате очевидная "жлобская" экономия на этапе стоимости разработки, и не очевидный проигрыш во всех последующих этапах, перекладываемый на "потребителя"
Во первых, "пипл хавает", и "сто миллионов леммингов не могут ошибаться" вы же это понимаете под демократией[/size] :P

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

Ах да, чуть не забыл - есть еще пожалуй в нулевых - главная сейчас задача минимизировать время выхода на рынок (потому что рынок плохо прогнозируем, особенно плохо прогнозируемы конкуренты), а время выхода на рынок очевидно тем меньше чем меньше сложность разработки :wink:
Название: На чем пишется софт для КА?
Отправлено: sychbird от 05.11.2009 10:08:57
Цитироватьпока не сделают ИИ способный заменить хотя-бы низкоквалифицированных менеджеров.
Об этой возможности так и хочется сказать ННШ :) Менеджмент - это прежде всего человеческие связи и взаимоотношения. :wink:
Название: На чем пишется софт для КА?
Отправлено: Not от 06.11.2009 11:39:23
Цитироватьпока не сделают ИИ способный заменить хотя-бы низкоквалифицированных менеджеров.
Мне вообще видится, что ИИ в государственном управлении  - единственный выход для Украины  :lol:
Название: На чем пишется софт для КА?
Отправлено: Not от 06.11.2009 11:54:01
ЦитироватьКстати, если можно, скажите, в каких областях вы сейчас видите явную потребность в увеличении квалификации программистов от переделки ПО на параллельные алгоритмы?
В смысле где оно требует серьезных усилий?
Собственно практически везде. Если раньше параллельные алгоритмы работали в основном там, где без них не обойтись (системы обработки транзакций, серверы СУБД, научные вычислители и т.д.), то теперь ситуация резко изменилась. Если раньше Майкрософт могла себе позволить многослойные API и вычислительно неэффективные (например квадратичные) способы связывания объектов, в надежде на следующее поколение значительно более быстрых ВМ, то сейчас этот номер не прокатит. Приходится вкладывать средства в увеличение эффективности существующих последовательных алгоритмов, и в распараллеливание оных. Других способов выжить в конкурентной борьбе пока не прослеживается.
Название: На чем пишется софт для КА?
Отправлено: zyxman от 06.11.2009 02:44:54
ЦитироватьЕсли раньше Майкрософт могла себе позволить многослойные API и вычислительно неэффективные (например квадратичные) способы связывания объектов, в надежде на следующее поколение значительно более быстрых ВМ..
А можно без Майкрософт? :lol:

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

Так вот у меня вопрос: знаете ли вы области, что не смогут пойти таким путем (с учетом нынешнего уровня развития связи)?
Или как вариант - какие области по-вашему будут иметь настолько высокую прибыльность что им будет некритично удорожание программистов?
Конечно мне не интересны например медицинские компьютеры, потому что они по цене вхождения близки к производству ракет-носителей.
Название: На чем пишется софт для КА?
Отправлено: zyxman от 06.11.2009 02:54:45
ЦитироватьМенеджмент - это прежде всего человеческие связи и взаимоотношения. :wink:
Да это так, но не обязательно это отношения между начальником и подчиненным :wink:
Ну и кроме того человек склонен очеловечивать железяки, как например американские солдаты в Ираке привязываются к боевым роботам :lol:

А собственно работа человека на конвеере это что как не встраивание человека в механизм?
А кстати и полеты в космос - там просто совершенный мизер операций, где человек применяет свой интеллект и свои когнитивные способности настолько чтобы сказать что космонавт чем-то управляет, а реально всем управляют примитивные схемы управления, завязанные по обратной связи на разработчиков.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 06.11.2009 07:51:55
ЦитироватьИли как вариант - какие области по-вашему будут иметь настолько высокую прибыльность что им будет некритично удорожание программистов?
Конечно мне не интересны например медицинские компьютеры, потому что они по цене вхождения близки к производству ракет-носителей.
извиняюсь, влез) бурно развивается рынок платежные системы, программистов там берегут
Название: На чем пишется софт для КА?
Отправлено: sychbird от 06.11.2009 12:21:11
Цитироватьизвиняюсь, влез) бурно развивается рынок платежные системы, программистов там берегут
Ой кое где зря!.:roll:  Тут как то задержавшись в отдаленных местах, вынужден был прибегнуть для оплаты кредита к услугам автомата. Такого тупого и абсолютно не прозрачного интерфейса в жизни не встречал. В результате теперь за мобильный могу не платить пару лет, а потом еще пришлось топать на почту и воевать с "совковым" интерфейсом. :D
Название: На чем пишется софт для КА?
Отправлено: PyKaB от 06.11.2009 20:56:42
ЦитироватьКак раз таки "обычно" - т.е. если не притягивать "за уши" результаты и не пользоваться специальными приемчиками, то и будет 10 раз.
Я уже приводил примеры и подобных очень много. Я бы сказал так, что хорошо написанная программа на Си всегда будет несколько быстрее программы на Ява, но в случаях не идеальных предложений Ява вообще может вырваться вперед. 10 кратный разрыв будет наверно только в случае PHP(кто-то вспоминал вэб сервер на КА? :-D )

ЦитироватьПо поводу "для первого запуска" - не совсем понял, но в любом случае правдой на 100% быть не может. Интерпретатор все равно требует ресурсов, так или иначе.
Все просто, при первом запуске генерируется байт-код и это медленно, но последующие запуски уже можно не рассматривать как запуск скрипта.

ЦитироватьВы неправы. Хотите поспорить - приведите пример "удаленной модернизации скриптового ПО" на КА.
Я не могу с Вами поспорить ибо мало чего знаю про КА вообще и их софт в частности, тем более "скрипты" на КА пока еще не летают вроде.
НО процесс обновления, например, программы может быть достаточно простым, не требующем передачи больших объемов информации и процессорного времени.
Например, для программы на Python состоят из исходников и байт-кода лежащих рядом(runme.py, runme.pyc) и для обновления достаточно применить текстовый патч к исходнику и в простейшем случае сразу перекомпилируется байт-код.

P.S. Над вэб софтом, кстати, не стоят особо потешаться. Если это не чья-то простая домашняя страничка, то кол-во технологий, языков и т.д. знание которых требуется для проектирования не сравниться с остальными областями.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 06.11.2009 21:21:09
Цитировать
Цитироватьизвиняюсь, влез) бурно развивается рынок платежные системы, программистов там берегут
Ой кое где зря!.:roll:  Тут как то задержавшись в отдаленных местах, вынужден был прибегнуть для оплаты кредита к услугам автомата. Такого тупого и абсолютно не прозрачного интерфейса в жизни не встречал. В результате теперь за мобильный могу не платить пару лет, а потом еще пришлось топать на почту и воевать с "совковым" интерфейсом. :D
так я не понял, Вам внесенную сумму за оплату кредита перевели на сотовый? :shock: как такое возможно? Платежная система как называется? :? А понимаю, они скорее всего работают не по онлайн режиму, но Такое слышу впервые) и кривой интервейс тут врядли виноват, просто сам шлюз сделан криво! Ну пипес :D и скорее всего просто ваш банк системой не поддерживается, но платеж они приняли. Был такой вид мошениества, но видим это было давно  :shock:
Название: На чем пишется софт для КА?
Отправлено: Not от 07.11.2009 08:08:28
ЦитироватьЯ бы сказал так, что хорошо написанная программа на Си всегда будет несколько быстрее программы на Ява, но в случаях не идеальных предложений Ява вообще может вырваться вперед. 10 кратный разрыв будет наверно только в случае PHP(кто-то вспоминал вэб сервер на КА? :-D )
Ваш тезис может быть справедлив только в случае процедурной программы на Ява и объектной на С++. Процедурные же алгоритмы написанные на С всегда значительно быстрее аналогичных программ на Яве. Именно вследствие интерпретируемости последних. И оптимизатор (JIT, Hotspot и т.д.)вам не поможет. Хорошая оптимизированная С - программа мало чем отличается от вручную написанного ассемблерного кода - мало что приходится выбрасывать.
Название: На чем пишется софт для КА?
Отправлено: Not от 07.11.2009 08:35:04
ЦитироватьНичего удивительного, у "офисных программеров" зачастую задачи посложнее попадаются :D
Не алгоритмически сложнее, а именно "по-кодерски" сложнее. Любая современная ОСь для ПК гораздо сложней и запутанней, чем среда которая на встраиваемых системах, где иногда и RTOS даже нет, а тупо по прерываниям обработчики запускаются.
Ну-ну, не раздувайте щеки :D Современные КА имеют по нескольку миллионов строк кода, при принципиально других требованиях к надежности, нежели к  современным "осям" общего назначения.
Название: На чем пишется софт для КА?
Отправлено: jettero от 06.11.2009 22:56:12
Цитировать
ЦитироватьНичего удивительного, у "офисных программеров" зачастую задачи посложнее попадаются :D
Не алгоритмически сложнее, а именно "по-кодерски" сложнее. Любая современная ОСь для ПК гораздо сложней и запутанней, чем среда которая на встраиваемых системах, где иногда и RTOS даже нет, а тупо по прерываниям обработчики запускаются.
Ну-ну, не раздувайте щеки :D Современные КА имеют по нескольку миллионов строк кода, при принципиально других требованиях к надежности, нежели к  современным "осям" общего назначения.
Кол-во строк это не главный показатель сложности, архитектурно 99% встраиваемых систем довольно просты, эти миллионы строк в алгоритмах, а не в архитектуре. А требования к надежности, о которых вы говорите, как раз выливаются в еще большее упрощение системы и архитектуры. И кодить в такой среде относительно просто. Сейчас миллионами строк никого не удивишь, например это обычный порядок размера для серьезных веб-проектов.
Так что не надо придумывать мифов, что программеры для встраиваемых систем круче тех, кто пишет серьезные проги под десктопы, которые должны работать на любых конфигурациях софта и железа у конечных пользователей, не говоря уж про программеров, кто распределенными энтерпрайз системами занимается ;)
Название: На чем пишется софт для КА?
Отправлено: PyKaB от 07.11.2009 00:18:43
Миллион строк для web проекта это только фреймворк  :D
Хороший WEB проект сложнее софта для КА по любому, за одним лишь исключением - web очень динамично развивающаяся среда из-за нелюбви изобретать велосипеды каждый раз и есть уже очень много готового кода.
Название: На чем пишется софт для КА?
Отправлено: PyKaB от 07.11.2009 00:24:41
Цитировать
ЦитироватьЯ бы сказал так, что хорошо написанная программа на Си всегда будет несколько быстрее программы на Ява, но в случаях не идеальных предложений Ява вообще может вырваться вперед. 10 кратный разрыв будет наверно только в случае PHP(кто-то вспоминал вэб сервер на КА? :-D )
Ваш тезис может быть справедлив только в случае процедурной программы на Ява и объектной на С++. Процедурные же алгоритмы написанные на С всегда значительно быстрее аналогичных программ на Яве. Именно вследствие интерпретируемости последних. И оптимизатор (JIT, Hotspot и т.д.)вам не поможет. Хорошая оптимизированная С - программа мало чем отличается от вручную написанного ассемблерного кода - мало что приходится выбрасывать.
Конечно, давайте писать только процедурные программы и почаще использовать ассемблер... Это конечно придаст удобство, скорость и надежность "нескольким миллионам строк кода" :)
Так что на порядок различий не будет, тем более что использования того же Python, Java, да хоть и PHP не убирает возможности написать критичные вещи на С, что всегда и делается
Название: На чем пишется софт для КА?
Отправлено: Not от 07.11.2009 10:47:31
Цитировать
Цитировать
ЦитироватьЯ бы сказал так, что хорошо написанная программа на Си всегда будет несколько быстрее программы на Ява, но в случаях не идеальных предложений Ява вообще может вырваться вперед. 10 кратный разрыв будет наверно только в случае PHP(кто-то вспоминал вэб сервер на КА? :-D )
Ваш тезис может быть справедлив только в случае процедурной программы на Ява и объектной на С++. Процедурные же алгоритмы написанные на С всегда значительно быстрее аналогичных программ на Яве. Именно вследствие интерпретируемости последних. И оптимизатор (JIT, Hotspot и т.д.)вам не поможет. Хорошая оптимизированная С - программа мало чем отличается от вручную написанного ассемблерного кода - мало что приходится выбрасывать.
Конечно, давайте писать только процедурные программы и почаще использовать ассемблер... Это конечно придаст удобство, скорость и надежность "нескольким миллионам строк кода" :)
Так что на порядок различий не будет, тем более что использования того же Python, Java, да хоть и PHP не убирает возможности написать критичные вещи на С, что всегда и делается
Но ведь речь о бортовых системах, не так ли? Или вы тоже предлагает веб-сервер на борт КА запихнуть?  :D
Название: На чем пишется софт для КА?
Отправлено: zyxman от 07.11.2009 03:05:35
Цитировать
ЦитироватьИли как вариант - какие области по-вашему будут иметь настолько высокую прибыльность что им будет некритично удорожание программистов?
Конечно мне не интересны например медицинские компьютеры, потому что они по цене вхождения близки к производству ракет-носителей.
извиняюсь, влез) бурно развивается рынок платежные системы, программистов там берегут
То есть финансы?
-Финансы тоже некошерно. И кроме того работы по финансам схлопнулись в кризис самыми первыми.

Хоотя в целом таки в финансах высоки и требования надежности, и на производительность тоже обращают внимание, и оплата высока, и код переписывать любят.

Так все-же может кто-то назвать области кроме медицины, игорного бизнеса и финансов, где из-за многоядерности будут требоваться действительно много программистов очень высокой квалификации?
Название: На чем пишется софт для КА?
Отправлено: zyxman от 07.11.2009 03:07:49
ЦитироватьНо ведь речь о бортовых системах, не так ли? Или вы тоже предлагает веб-сервер на борт КА запихнуть?  :D
Веб-сервер врядли, а вот виртуальную машину почему нет?
Название: На чем пишется софт для КА?
Отправлено: Not от 07.11.2009 13:17:30
Цитировать
ЦитироватьНо ведь речь о бортовых системах, не так ли? Или вы тоже предлагает веб-сервер на борт КА запихнуть?  :D
Веб-сервер врядли, а вот виртуальную машину почему нет?
А чем вас не устраивает реальная машина?  Зачем еще один виртуальный слой?
Название: На чем пишется софт для КА?
Отправлено: zyxman от 07.11.2009 23:15:36
ЦитироватьА чем вас не устраивает реальная машина?  Зачем еще один виртуальный слой?
Меня как раз устраивает реальная машина, а особенно меня устраивает что их много разных, тк я естественно заинтересован чтобы мне было больше работы :D

Кроме того мне еще более выгодно не использовать чужой код а каждый раз писать свой новый с ноля, особенно хорошо когда даже ОС нет - тогда особенно хорошо платят :lol:

А вот заказчику в лице тех-же вояк и финансистов (UPD вообще-то любому, даже воякам), интересно повторно использовать код, иметь несколько альтернативных поставщиков (и менять их при необходимости легко), и плюс чтобы даже при разном железе можно было везде запускать один и тот-же код, и этого можно достичь виртуальной машиной - вон у IBM AS/400 принципиально не раскрываются детали внутренней архитектуры, и уже есть несколько линеек с разным железом, а программят их под виртуальную машину.
Название: На чем пишется софт для КА?
Отправлено: sychbird от 07.11.2009 22:45:47
А давайте попробуем отранжирить значимость сопутствующих проблем.

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

Может кто то добавит что- нибудь в список.
Какие мнения будут? Имеет смысл учреждать опрос?
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 08.11.2009 05:16:59
ЦитироватьА давайте попробуем отранжирить значимость сопутствующих проблем.

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

Может кто то добавит что- нибудь в список.
Какие мнения будут? Имеет смысл учреждать опрос?
заказчик хочет надежный автомобиль с кондиционером. Ок! Начинаем разрабатывать все с нуля, начиная с изобретения колеса. В итоге получается запорожец, при работающем кондиционере ехать отказывается, т.к. Уходит в обработчик прерывания от кондиционера, и стоит вся эта хрень 10 млн, заказать автомобиль в салоне БМВ нельзя потому что у них нет лицензии роскосмоса и вооще у них комплектующие без пятой приемки. Вот так!
Название: На чем пишется софт для КА?
Отправлено: MikeP от 08.11.2009 03:15:39
Цитироватьзаказать автомобиль в салоне БМВ нельзя потому что у них нет лицензии роскосмоса и вооще у них комплектующие без пятой приемки. Вот так!

+1  :)

Главное в "боевом" ПО - надежность.
Все остальное вторично.
Название: На чем пишется софт для КА?
Отправлено: Not от 08.11.2009 20:47:34
ЦитироватьГлавное в "боевом" ПО - надежность.
Все остальное вторично.
Ну тогда никакого ПО. На кулачках!  :D
Название: На чем пишется софт для КА?
Отправлено: MikeP от 08.11.2009 04:00:47
Цитировать
ЦитироватьГлавное в "боевом" ПО - надежность.
Все остальное вторично.
Ну тогда никакого ПО. На кулачках!  :D

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

О современности в отрасли не знаю, посему молчу.
Хотелось бы услышать современных практиков.
Название: На чем пишется софт для КА?
Отправлено: Not от 08.11.2009 21:11:21
ЦитироватьА вот заказчику в лице тех-же вояк и финансистов (UPD вообще-то любому, даже воякам), интересно повторно использовать код, иметь несколько альтернативных поставщиков (и менять их при необходимости легко), и плюс чтобы даже при разном железе можно было везде запускать один и тот-же код, и этого можно достичь виртуальной машиной - вон у IBM AS/400 принципиально не раскрываются детали внутренней архитектуры, и уже есть несколько линеек с разным железом, а программят их под виртуальную машину.
Ну давайте поставим на борт КА AS/400  :D Многоплатформенность на борту никого не интересует. ПО создается редко и оно как правило уникальное. Повторное использование некоторой части кода при этом возможно - достаточно чтобы у вас был стандартный С, или Модула. И вообще, многоплатформенность програм для виртуальных машин - иллюзия. Все равно вылезают разного рода нестыковки, особенно когда вы работаете с физическими устройствами на борту. Реальные же плюсы виртуальной машины вы использовать не сможете по причине полной их бесполезности в рамках обсуждаемого функционала. Вот и получается, что всего чего вы достигаете - большей цены аппарата (больше памяти, быстрее процессор) и меньшего срока его службы за счет увеличенного энергопотребления.
Название: На чем пишется софт для КА?
Отправлено: TAU от 08.11.2009 22:01:53
ЦитироватьХороший WEB проект сложнее софта для КА по любому
Не "по любому".

Есть разные виды сложности, как тут уже, кажется, отмечалось.

Так вот, сложность управляющей программы для КА состоит в режиме реального времени. Каждая ситуация, отражаемая значениями некоторых переменных, а также состоянием внешней по отношению к БКУ среды, привязывается к моменту времени - т.е. те же самые значения переменных в иной момент могут обрабатываться по-другому. Не уверен, достаточно ли я четко изъяснился, непллохо суть данного вида сложности изложена у Гецци, Джазайери и Мандриоли в "Основах инженерии программного обеспечения".

Кстати, алгоритмическая сложность веб-проектов, как правило, никакая. Тривиальны они, за небольшими исключениями.
Название: На чем пишется софт для КА?
Отправлено: TAU от 08.11.2009 22:06:34
ЦитироватьПДП
ПДП - прямой доступ к памяти имеете в виду? Или некий "диспетчер программ"?
Название: На чем пишется софт для КА?
Отправлено: TAU от 08.11.2009 22:09:13
Цитироватьна самолетах (западных, увы), где реализуется приборная панель-стеклянный кокпит, навигация, доки по оборудованию итп, все в одном флаконе
Не только на западных.

Кстати, там и еще кое-что покруче перечисленного Вами реализуется ;-)
Название: На чем пишется софт для КА?
Отправлено: TAU от 08.11.2009 23:27:16
ЦитироватьP.S. Над вэб софтом, кстати, не стоят особо потешаться. Если это не чья-то простая домашняя страничка, то кол-во технологий, языков и т.д. знание которых требуется для проектирования не сравниться с остальными областями
Чтобы так уверенно заявлять, что что-то с чем-то не сравнится, надо разбираться в этом чем-то.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 09.11.2009 00:47:26
Цитировать
ЦитироватьПДП
ПДП - прямой доступ к памяти имеете в виду? Или некий "диспетчер программ"?
именно прямой доступ к памяти, с привязкой каждого блока к СЕВу
Название: На чем пишется софт для КА?
Отправлено: zyxman от 09.11.2009 04:35:13
ЦитироватьА давайте попробуем отранжирить значимость сопутствующих проблем.

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

Может кто то добавит что- нибудь в список.
Какие мнения будут? Имеет смысл учреждать опрос?
Многие пункты противоречат друг другу.
Например
Стоимость поддержания стабильности ПО коррелирует Универсальность ПО и вообще со стоимостью ПО.

А по остальному - мы так дойдем до влияния политической системы..
Название: На чем пишется софт для КА?
Отправлено: zyxman от 09.11.2009 04:36:45
ЦитироватьГлавное в "боевом" ПО - надежность.
Все остальное вторично.
Я боюсь вас удивить, но кроме случаев вроде Ариан-5, обычно повторное использование кода и понижает стоимость и увеличивает надежность.
Название: На чем пишется софт для КА?
Отправлено: zyxman от 09.11.2009 04:57:12
ЦитироватьМногоплатформенность на борту никого не интересует.
А в масштабах страны?
- Сколько в США типов военных самолетов представляете?
- А представляете, что на каждом стоит по десятку независимых приборов (я считаю только сложные, вроде радара), каждый из которых управляется собственным отдельным компьютером?
И как думаете, сильно удобно обслуживать такой машинный комплекс?
- У каждого прибора свой отдельный разработчик ПО, и он регулярно присылает ВВС новые прошивки, а техники должны все приборы перешивать, у каждого прибора своя технология тестирования и выявления неисправностей и ремонта, и все это нередко где-нить в Афганистане или в других не шибко комфортных условиях.

И это даже не считая такой мелочи, что там получается действительно на каждом приборе свой отдельный компьютер - а у компьютеров кстати цена и потребление растут при масштабировании значительно медленнее чем производительность.
Так что экономически вполне оправданно заменить много "маленьких" компьютеров одним "большим", даже с учетом потерь от использования виртуализации и/или других технологий изоляции процессов.
Название: На чем пишется софт для КА?
Отправлено: Not от 09.11.2009 15:24:35
ЦитироватьТак что экономически вполне оправданно заменить много "маленьких" компьютеров одним "большим", даже с учетом потерь от использования виртуализации и/или других технологий изоляции процессов.
У вас дома DVD проигрыватель есть? А микроволновка тоже есть? А давайте из них микропроцессоры нафиг выкинем из экономических соображений и все подключим к вашему домашнему ПК, посадим за него играть малолетнего оболтуса и предложим вашей супруге разогреть ну скажем пиццу  :D
Название: На чем пишется софт для КА?
Отправлено: MikeP от 08.11.2009 23:26:42
Цитировать
ЦитироватьГлавное в "боевом" ПО - надежность.
Все остальное вторично.
Я боюсь вас удивить, но кроме случаев вроде Ариан-5, обычно повторное использование кода и понижает стоимость и увеличивает надежность.

Да кто же против, если это технически возможно  :)
И, опять же, Вы не отрицаете "увеличения надежности".
Никто никогда не пойдет на снижение надежности ниже заданного уровня в космической отрасли. Это голову на плаху положить.

Цитировать- У каждого прибора свой отдельный разработчик ПО

А вот это - золотые слова!

К тому же в России живем..
Мне вспоминается, что во всяких там "формах допуска" есть - не суй свой нос к соседу по столу, даже при решении одной задачи. Это раз.
А два - каждая фирма пытается оттяпать свой кусок пирога (финансирования). И кого хочешь убедят, что кроме них с их аппаратурой (программой для нее) никто другой ни в жизнь не справится.
Лично доводилось учавствовать в чем-то подобном, когда из пальца высасывалось, что без определенного типа РЛС задача хоть ты удавись выполнена не будет. По точности, по темпу выдачи информации.
РЛС встали на позицию и, естественно, в "боевой" работе не учавствовали даже косвенно, хватило за глаза других средств.
Россия.. ВПК...
Название: На чем пишется софт для КА?
Отправлено: zyxman от 09.11.2009 06:40:14
Цитировать..все подключим к вашему домашнему ПК, посадим за него играть малолетнего оболтуса и предложим вашей супруге разогреть ну скажем пиццу  :D
Я вас попробую удивить, но у меня сейчас примерно так дело и обстоит.
- Один ПК делает все.
Правда есть нюансы - ОС FreeBSD; железки выверены годами пользования; приложения тоже не абы какие, а либо хорошо проверенные, либо писанные лично мной.
"Доктор! Что я делаю не так?!!" (с) :D
Название: На чем пишется софт для КА?
Отправлено: zyxman от 09.11.2009 07:09:50
Цитировать
Цитировать- У каждого прибора свой отдельный разработчик ПО

Мне вспоминается, что во всяких там "формах допуска" есть - не суй свой нос к соседу по столу, даже при решении одной задачи. Это раз.
А два - каждая фирма пытается оттяпать свой кусок пирога (финансирования). И кого хочешь убедят, что кроме них с их аппаратурой (программой для нее) никто другой ни в жизнь не справится.
Это все понятно.
И поэтому мне особенно интересно наблюдать за судьбой F-22 (также  похожая, но менее радикальная реализация F-35), у которых как раз используется очень необычная унификация:
на борту стоит некая "военизированная" версия FireWire, по которой все бортовые устройства подключены к одному строированному довольно неслабому компьютеру, который вроде и данные радара считает, и "стеклянный кокпит", и стабилизацию динамически неусточивого самолета, и все прочее (до известных пределов конечно).
Как там реализован софт естественно секрет, но весьма вероятно что программы видят только то что должны видеть, а это достигается только различными технологиями виртуализации железа.
ХЗ, может и разработчики AS/400 к этому руку приложили :D

Да, собственно чего я сказать-то хотел: я ни в жизнь не поверю что эту телегу с пятым колесом воякам Локхид впарил - думаю что вояки сами этого захотели, и только ждали когда технологии дадут возможность поставить разработчиков ПО в такие условия, когда оных разработчиков можно будет менять как перчатки и соответственно и цену сбить.

Да и вообще интересный момент, что на диком западе очень типично использовать стандартизацию не только для защиты своего производителя, но и как раз для снижения цен (потому что при увеличении числа продавцов до бесконечности, цена падает неограниченно, но по крайней мере до уровня себестоимости самого эффективного продавца).
- Да, это именно такой вот метод регулирования рынка.
Название: На чем пишется софт для КА?
Отправлено: Not от 09.11.2009 17:55:38
ЦитироватьЯ вас попробую удивить, но у меня сейчас примерно так дело и обстоит.
- Один ПК делает все.
Что, и клавиатуру в микроволновке обслуживает? И сотовым телефоном управляет?  :D
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 09.11.2009 08:11:05
Цитировать
ЦитироватьЯ вас попробую удивить, но у меня сейчас примерно так дело и обстоит.
- Один ПК делает все.
Что, и клавиатуру в микроволновке обслуживает? И сотовым телефоном управляет?  :D
Да там походу не квартира, а целый КА, ну и софт соответствующий  :)
Название: На чем пишется софт для КА?
Отправлено: zur от 09.11.2009 15:03:12
ЦитироватьХорошая оптимизированная С - программа мало чем отличается от вручную написанного ассемблерного кода - мало что приходится выбрасывать.

Это слишком упрощенно.
Да, вычислительные операции компилятор обрабатывает хорошо, хотя и тут есть простор для творчества. А многие другие - не очень. Запрограммируйте на С перетасовку бит в 32-разрядном слове (например, для ARINC-429), а потом то же на асме с использованием ROR и SHLD. Просто всё надо делать с умом, что-то на асме, но не увлекаться, а большинство на языке высокого уровня
Название: На чем пишется софт для КА?
Отправлено: zur от 09.11.2009 15:20:07
ЦитироватьВам приходилось наблюдать по ТМИ во время полёта, как тяжелые частицы выбивают ячейки памяти и искажают их содержимое?

Да???? Не слышпал такого. Нас много пугали этими самыми ТЗЧ в районе Фольклендов, но фактического подтверждения сбоев памяти на "Нептуне" не было...
Название: На чем пишется софт для КА?
Отправлено: sychbird от 09.11.2009 14:27:01
Цитировать
ЦитироватьА давайте попробуем отранжирить значимость сопутствующих проблем.

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

Может кто то добавит что- нибудь в список.
Какие мнения будут? Имеет смысл учреждать опрос?
Многие пункты противоречат друг другу.
Например
Стоимость поддержания стабильности ПО коррелирует Универсальность ПО и вообще со стоимостью ПО.

А по остальному - мы так дойдем до влияния политической системы..
Ну это зависит от того как считать, что где учитывать  А насчет политической системы то все верно: В оценке продвижения на рынок результатов дорогостоящего проекта структуру лобби учитывать придеться.
Название: На чем пишется софт для КА?
Отправлено: zur от 09.11.2009 15:32:03
ЦитироватьНу хорошо, написали и отладили на Паскале. А есть компиляторы Паскаля для бортовых машин? Или используете кросс-компиляцию?

Вот и беда в том, что нет Паскаля для, скажем, QNX... Хотя для QNX много чего нет, ни редактора, ни отладчика нормального :-)
А кросс-компиляция имхо годится только для предварительной подготовки текста, потом вручную. Ну как примерно машинный перевод, где bus - это автобус, а не шина.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 09.11.2009 18:25:39
Цитироватьпотом вручную. Ну как примерно машинный перевод, где bus - это автобус, а не шина.

Гы, действительно  :)
Название: На чем пишется софт для КА?
Отправлено: jettero от 09.11.2009 18:28:59
Цитировать
Цитироватьна самолетах (западных, увы), где реализуется приборная панель-стеклянный кокпит, навигация, доки по оборудованию итп, все в одном флаконе
Не только на западных.

Кстати, там и еще кое-что покруче перечисленного Вами реализуется ;-)
Разве у нас такое делают? В голову приходит только SSJ-100 но там разработки Thales и др
Хотя еще на Су-35 вроде есть уже что-то похожее, но все равно в авионике мы традиционно догоняем :)
Название: На чем пишется софт для КА?
Отправлено: zyxman от 09.11.2009 21:41:00
Цитировать
ЦитироватьЯ вас попробую удивить, но у меня сейчас примерно так дело и обстоит.
- Один ПК делает все.
Что, и клавиатуру в микроволновке обслуживает? И сотовым телефоном управляет?  :D
Сотовым телефоном управляет.

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

Сейчас вот думаю встроить компьютер в управление тюнером кабельного ТВ (просто прилепить ИК приемник к компьютеру и сделать чтобы ИК в тюнер попадало только от компьютера и фильтровать прогой), потому что регулярно народ нажимает чего-то такое что тюнер входит в незнакомый (народу) режим и не могут из этого режима самостоятельно вывести.
Название: На чем пишется софт для КА?
Отправлено: А.Коваленко от 09.11.2009 21:54:03
Цитировать
ЦитироватьВам приходилось наблюдать по ТМИ во время полёта, как тяжелые частицы выбивают ячейки памяти и искажают их содержимое?

Да???? Не слышпал такого. Нас много пугали этими самыми ТЗЧ в районе Фольклендов, но фактического подтверждения сбоев памяти на "Нептуне" не было...
А как Вы хотите подтвердить эти сбои? Эти сбои видны только по факту восстановления сбойных ячеек. А у вас восстановления нет, как я понимаю. Да и ТМИ над Фолклендами вы не получаете ;-)
Название: На чем пишется софт для КА?
Отправлено: zyxman от 09.11.2009 22:08:08
ЦитироватьНу это зависит от того как считать, что где учитывать

А насчет политической системы то все верно: В оценке продвижения на рынок результатов дорогостоящего проекта структуру лобби учитывать придеться.
Так а какая тогда цель этого опроса?
- Подтвердить с помощью очень субъективного исследования, то что и так давно уже известно из объективных? :D

- Тут просто движок опросный очень примитивный, и получится что например для разработчиков бортового ПО КА главное несомненно надежность, а для веба - цена, и мы получим ранжир не важности проблем, а количества разработчиков в разных областях :wink:
Название: На чем пишется софт для КА?
Отправлено: sychbird от 09.11.2009 21:21:31
ЦитироватьМикроволновка у меня с механическим управлением, поэтому для приготовления пищи с хитрыми алгоритмами прогрева используется "человека-машинный комплекс" - компьютер напоминает, когда нужно подойти к микроволновке и включить нужный режим.
А как, если не секрет? С помощью "колокола громкого боя"? И как комп узнает об активации опции "хитрых алгоритмов прогрева" микроволновки? И самое главное: как с подобными интерфейсами дружит "народ"? :D
Название: На чем пишется софт для КА?
Отправлено: Agent от 10.11.2009 08:22:58
Основная проблема в ПО для аэроспейса - жесткая привязка софта к железу. Обычно много чего переписывать приходится даже при изменении тактовой частоты. Для сложных проектов это оборачивается необходимостью поддержки производства древнего железа. Как это с Ф-22 например случилось. В более новых проектах используют  современные RTOS с защитой памяти, зачатками виртуализации и проч, что дает возможность изменять железо не трогая софт. Тут язык уже не принципиален. Так как прямого доступа к железу уже нет. Так что С++ на Ф-35 стал возможен благодаря общему развитию процессоров и RTOS.

Ну и общая тенденция к виртуализации и клауд компьютингу на ее основе. Конкретное приложение (не ОС!) запрашивает определенный ресурс процессора, памяти, каналов связи и тд и начинает работу. А где физически эти ресурсы и как они соединены - знают только их гипервайзеры. Ближе всего это реализовано у VMware. Когда это разовьется до уровня необходимого для RTOS (замена железа на лету без остановки выполнения приложеняи), то на этом и будут летать, ездить и телевизор смотреть. Майкрософт над этим уже несколько лет пыхтит в том числе.
Название: На чем пишется софт для КА?
Отправлено: sychbird от 09.11.2009 21:31:34
Цитировать, и получится что например для разработчиков бортового ПО КА главное несомненно надежность, а для веба - цена, и мы получим ранжир не важности проблем, а количества разработчиков в разных областях :wink:
Совершенно верно.:wink:  Полученный результат и высветит существо проблем по обсуждаемой тематике. У амеров есть хорошая поговорка: проще перенести кладбище, чем изменить что-то в "школе". ( здесь "школа" понимается символически)

Как говаривал Швейк: "Пусть будет так, как будет. Еще никогда не было, что бы никак не было" :D
Название: На чем пишется софт для КА?
Отправлено: TAU от 09.11.2009 23:47:11
Цитировать
Цитировать
Цитироватьна самолетах (западных, увы), где реализуется приборная панель-стеклянный кокпит, навигация, доки по оборудованию итп, все в одном флаконе
Не только на западных.
Кстати, там и еще кое-что покруче перечисленного Вами реализуется ;-)
Разве у нас такое делают?
Да, например, на Су-35.
Название: На чем пишется софт для КА?
Отправлено: TAU от 09.11.2009 23:49:31
ЦитироватьКогда это разовьется до уровня необходимого для RTOS (замена железа на лету без остановки выполнения приложеняи), то на этом и будут летать, ездить и телевизор смотреть. Майкрософт над этим уже несколько лет пыхтит в том числе
Ненаучная фантастика. А микрософт может пыхтеть еще долго - хоть тыщу лет.
Название: На чем пишется софт для КА?
Отправлено: TAU от 09.11.2009 23:51:31
Цитироватьс привязкой каждого блока к СЕВу
тьфу ты, Вы можете по-человечески писать, с расшифровкой сразу?
Название: На чем пишется софт для КА?
Отправлено: TAU от 09.11.2009 23:53:57
Цитироватьвполне оправданно заменить много "маленьких" компьютеров одним "большим"
Ну, примерно к такой логике пришли и на борту КА, было в свое время принято решение делать ставку на централизованное управление с главной БЦВМ.
Название: На чем пишется софт для КА?
Отправлено: TAU от 09.11.2009 23:55:16
ЦитироватьРоссия.. ВПК...
Достала уже эта русофобия. В США своих маразмов, поверьте, хватает.
И в ВПК в том числе.
Название: На чем пишется софт для КА?
Отправлено: TAU от 09.11.2009 23:58:51
Цитироватьна борту стоит некая "военизированная" версия FireWire, по которой все бортовые устройства подключены к одному строированному довольно неслабому компьютеру, который вроде и данные радара считает, и "стеклянный кокпит", и стабилизацию динамически неусточивого самолета, и все прочее (до известных пределов конечно)
Вот! Позже прочитал. И конструкторы КА пришли к схожим методам, значит, есть в этом своя правда.

ЦитироватьКак там реализован софт естественно секрет, но весьма вероятно что программы видят только то что должны видеть, а это достигается только различными технологиями виртуализации железа
Тут, мне кажется, Вы "в молоко" попали со своим предположением.

Цитироватьждали когда технологии дадут возможность поставить разработчиков ПО в такие условия, когда оных разработчиков можно будет менять как перчатки и соответственно и цену сбить
Снова фантастика. Ничего подобного в сфере создания управляющего бортового ПО нет сегодня и не будет, полагаю, никогда.
Название: На чем пишется софт для КА?
Отправлено: Frontm от 10.11.2009 01:13:16
Цитировать
Цитироватьс привязкой каждого блока к СЕВу
тьфу ты, Вы можете по-человечески писать, с расшифровкой сразу?
Система единого времени скорее всего
Название: На чем пишется софт для КА?
Отправлено: Frontm от 10.11.2009 01:15:50
Цитировать
Цитироватьвполне оправданно заменить много "маленьких" компьютеров одним "большим"
Ну, примерно к такой логике пришли и на борту КА, было в свое время принято решение делать ставку на централизованное управление с главной БЦВМ.
удобнее в каждом блоке по микропроцессору, их за БЦВМ то можно и не считать.
Название: На чем пишется софт для КА?
Отправлено: zyxman от 10.11.2009 01:59:09
ЦитироватьИ самое главное: как с подобными интерфейсами дружит "народ"? :D
А как народ дружит с кухонным таймером? - Просто включает и использует.
Так и тут - закладывается программа под названием "гречка с мясом" вроде:
1. после нажатия кнопки запустить таймер на 2 часа с комментарием "мясо разморожено, ставьте кашу и грейте до кипения"
2. после нажатия кнопки запустить таймер на 10 минут с комментарием "выключить кашу"
итд.

Главная сложность - кухнестойкие экран/клавиатура и разводка проводов (на кухне стоит не сам сервер, а по сути терминал из старого ноута).
Ну и в некоторых случаях нужно учитывать массу и размер кастрюли, и проще это делается промежуточными напоминалками "проверить не выкипела ли вода".
Название: На чем пишется софт для КА?
Отправлено: zyxman от 10.11.2009 02:05:19
Цитировать
Цитировать, и получится что например для разработчиков бортового ПО КА главное несомненно надежность, а для веба - цена, и мы получим ранжир не важности проблем, а количества разработчиков в разных областях :wink:
Совершенно верно.:wink:  Полученный результат и высветит существо проблем по обсуждаемой тематике.
Так вы не поняли. Нам по-хорошему нужно именно задавать вопросы парами, чтобы знать что считает важным разработчик в своей области, и сразу-же и узнавать области.
А если задавать втупую только вопрос о важности, то получим результат вроде "по результатам опроса проведенного Яндексом, 100% россиян имеют доступ к Интернет", потому что выборка данного форума явно не отражает среднестатистическую картину.
Или вы собираетесь проводить данный опрос в другом месте?
Название: На чем пишется софт для КА?
Отправлено: zyxman от 10.11.2009 02:25:59
Цитировать
ЦитироватьКак там реализован софт естественно секрет, но весьма вероятно что программы видят только то что должны видеть, а это достигается только различными технологиями виртуализации железа
Тут, мне кажется, Вы "в молоко" попали со своим предположением.

Думаю, через некоторое время мы узнаем как там все обстоит в реале.

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

В этом кстати есть противоположный момент - не имея мощных отработанных технологий изоляции процессов, на небольших количествах, может оказаться проще (=дешевле) изолировать все физически - исполнять все на отдельных компьютерах.

Цитировать
Цитироватьждали когда технологии дадут возможность поставить разработчиков ПО в такие условия, когда оных разработчиков можно будет менять как перчатки и соответственно и цену сбить
Снова фантастика. Ничего подобного в сфере создания управляющего бортового ПО нет сегодня и не будет, полагаю, никогда.
Я не знаю как там у вас лично, но вообще история показывает, что большинство производителей работающих на государство стараются стать абсолютно монопольным поставщиком, а государство этому обычно сопротивляется.
Когда-то даже производство железа было жесткой монополией, потом были монополии на другую стратегическую продукцию, сейчас тоже есть жестко закрытые рынки, но они не будут такими вечно.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 10.11.2009 11:36:14
Цитировать
Цитироватьс привязкой каждого блока к СЕВу
тьфу ты, Вы можете по-человечески писать, с расшифровкой сразу?
Извиняюсь, СЕВ - Система Единого Времени. Вообщем то в космонавтике это такой же распространненное сокращение, термин,  как и РН, КА и т.д. СУ привязывает свою информацию к СЕВ, соотвтетсвенно и все остальные системы, чтоб работать в одном едином времени
Название: На чем пишется софт для КА?
Отправлено: TAU от 12.11.2009 06:49:30
Цитировать
Цитировать
Цитироватьс привязкой каждого блока к СЕВу
тьфу ты, Вы можете по-человечески писать, с расшифровкой сразу?
Извиняюсь, СЕВ - Система Единого Времени. Вообщем то в космонавтике это такой же распространненное сокращение, термин,  как и РН, КА и т.д. СУ привязывает свою информацию к СЕВ, соотвтетсвенно и все остальные системы, чтоб работать в одном едином времени
Надо же, я думал, это настолько само собой разумеющаяся вещь, что даже не встречал термина. И не предполагал, что надо это специально указывать: "привязка каждого блока к СЕВ"... Если у нас БВС работает под управлением единого тактового генератора, вот и получается единое время.
Так что не такое же распространенное. ;-)
Название: На чем пишется софт для КА?
Отправлено: TAU от 12.11.2009 06:53:10
Цитировать
Цитировать
ЦитироватьКак там реализован софт естественно секрет, но весьма вероятно что программы видят только то что должны видеть, а это достигается только различными технологиями виртуализации железа
Тут, мне кажется, Вы "в молоко" попали со своим предположением.
Думаю, через некоторое время мы узнаем как там все обстоит в реале
Зачем "через время"? Я вам точно сказал, и уже даже пару дней назад, что нет на борту никакой виртуализации, естественно.

ЦитироватьЯ не знаю как там у вас лично, но вообще история показывает, что большинство производителей работающих на государство стараются стать абсолютно монопольным поставщиком, а государство этому обычно сопротивляется. Когда-то даже производство железа было жесткой монополией, потом были монополии на другую стратегическую продукцию, сейчас тоже есть жестко закрытые рынки, но они не будут такими вечно
Не у меня лично, а в нашей стране, да и в других странах, занимающихся постройкой КА. Например, в США.
Слишком специфическая область, чтобы там присутствовало множество "игроков".
И на то есть весьма веские причины. Так что мне кажется все-таки, что именно "вечно" это будут достаточно изолированные области деятельности.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 12.11.2009 09:19:30
ЦитироватьНадо же, я думал, это настолько само собой разумеющаяся вещь, что даже не встречал термина. И не предполагал, что надо это специально указывать: "привязка каждого блока к СЕВ"... Если у нас БВС работает под управлением единого тактового генератора, вот и получается единое время.
Так что не такое же распространенное. ;-)
Если Вы привязываетесь к Вашему тактовому генератору, то это единое время только для Вашей системы, у нас тоже есть тактовые генераторы и мы их используем в режимах тестирования, но при комплексных испытаниях на старте, а тем паче при пуске, на всех стартах стоит Блок СЕВ и без его работоспособности, без правильной выдачи всех меток, секундных, минутных, пятиминутных (собственно для привязки) пуск просто не состоиться. Потому что привязываясь с времени СЕВ уже  все системы РКК работают в едином времени, а не только Ваша. Странно, если Вы были на пуске, то просто не могли не слышать такое понятие - время СЕВ. Так что очень даже распространенное понятие  :wink:
Название: На чем пишется софт для КА?
Отправлено: PyKaB от 12.11.2009 10:18:29
ЦитироватьНе "по любому".

Есть разные виды сложности, как тут уже, кажется, отмечалось.

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


ЦитироватьЧтобы так уверенно заявлять, что что-то с чем-то не сравнится, надо разбираться в этом чем-то.
Да, Вы правы. Не подскажете на сколько хорошо вы разбираетесь в вэбе?


Меня кажется тут читают через пост. Я не предлагаю писать все на скриптовых языках. Управление - пусть будет как было, а для фото-видео съемки, например, гораздо удобнее использовать другую платформу. И использовать повторно потом
Название: На чем пишется софт для КА?
Отправлено: MikeP от 12.11.2009 05:19:59
ЦитироватьТ.е. система реального времени это самая сложная сложность?

В какой-то мере да. Самая сложная сложность - успеть выполнить все задачи в заданные отрезки времени. И в соответствии с их приоритетами.
Например, моей задаче (одной из многих задач комплекса) необходимо было качать информацию на вычислители, управляющие антеннами НИПов. По протоколу это было необходимо делать в интервале от 0,2 сек до очередной секундной метки СЕВ.
И я обязан это исполнить.
Можно доверить что-то подобное, например, винде, которая непонятно почему может задуматься на секунду-две?
Название: На чем пишется софт для КА?
Отправлено: PyKaB от 12.11.2009 12:53:29
думаете легко оперировать сотнями асинхронных запросов в секунду поддерживая целостность данных и прочие?
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 12.11.2009 13:02:36
ЦитироватьВ какой-то мере да. Самая сложная сложность - успеть выполнить все задачи в заданные отрезки времени. И в соответствии с их приоритетами.
Например, моей задаче (одной из многих задач комплекса) необходимо было качать информацию на вычислители, управляющие антеннами НИПов. По протоколу это было необходимо делать в интервале от 0,2 сек до очередной секундной метки СЕВ.
И я обязан это исполнить.
Можно доверить что-то подобное, например, винде, которая непонятно почему может задуматься на секунду-две?
Полностью с Вами согласен винда тут не подойдет, тут нужна система реального времени. Но можно же разделить задачи на РМВ (регистрация и прочее) и Интерфейсные (информационные) где время не так критично.

ps Кстати Вы сказали СЕВ  :D  Гы, Вы тоже знаете что это такое? :wink:
Название: На чем пишется софт для КА?
Отправлено: Frontm от 12.11.2009 13:04:18
Цитировать
ЦитироватьТ.е. система реального времени это самая сложная сложность?

В какой-то мере да. Самая сложная сложность - успеть выполнить все задачи в заданные отрезки времени. И в соответствии с их приоритетами.
Например, моей задаче (одной из многих задач комплекса) необходимо было качать информацию на вычислители, управляющие антеннами НИПов. По протоколу это было необходимо делать в интервале от 0,2 сек до очередной секундной метки СЕВ.
И я обязан это исполнить.
Можно доверить что-то подобное, например, винде, которая непонятно почему может задуматься на секунду-две?
+5555 :D
Название: На чем пишется софт для КА?
Отправлено: PyKaB от 12.11.2009 13:09:51
Цитировать
ЦитироватьТ.е. система реального времени это самая сложная сложность?

В какой-то мере да. Самая сложная сложность - успеть выполнить все задачи в заданные отрезки времени. И в соответствии с их приоритетами.
Например, моей задаче (одной из многих задач комплекса) необходимо было качать информацию на вычислители, управляющие антеннами НИПов. По протоколу это было необходимо делать в интервале от 0,2 сек до очередной секундной метки СЕВ.
И я обязан это исполнить.
Можно доверить что-то подобное, например, винде, которая непонятно почему может задуматься на секунду-две?
Мое имхо вообще в том, что софт реального времени для КА на уровне софта для бытовых авто, которое удерживает автомобиль в поле при круиз контроле, тормозит при виде пешеходов и само паркует автомобиль в найденное им же место.
Сравнивать это с тем же гуглом по сложности не имеет смысла
Название: На чем пишется софт для КА?
Отправлено: MikeP от 12.11.2009 06:10:04
Цитироватьдумаете легко оперировать сотнями асинхронных запросов в секунду поддерживая целостность данных и прочие?

Да никто не возражает, что это очень сложно  :)
Но речь тут о том, на чем и почему пишется софт в отрасли.
Решаются задачи разных уровней сложности и ответсвенности.
"Космическая" задача может быть весьма и весьма простой математически, логически, но на нее накладывается ряд ограничений, недостижимых другими, пусть и более современными, программными средствами.
В другой сфере деятельности задача может глючить, может виснуть. Вы не сталкивались с тем, например, что банк-клиент не работает? Частенько бывает. Но это не смертельно.
А я обязан решить задачу за 0,1 секунды в заданном временном интервале с учетом всех смежных задач и все тут! Несмотря ни на что! Иначе навернется аппарат стоимостью в много-много миллионов или даже миллиардов!
Название: На чем пишется софт для КА?
Отправлено: MikeP от 12.11.2009 06:13:03
Цитироватьps Кстати Вы сказали СЕВ  :D  Гы, Вы тоже знаете что это такое? :wink:

Естественно  :)
У меня в протоколе взаимодействия с НИПами стояло именно это сокращение, а в соседней комнате два комплекта соответсвующей аппаратуры  :)
Название: На чем пишется софт для КА?
Отправлено: PyKaB от 12.11.2009 13:14:40
И в тему 0.2 секунд

Результаты 1 - 10 из примерно 18 300 000 для google объем информации. (0,29 секунд)


В описании Bigtable приводится объем информации, который хранится в распределенной базе данных и уровень сжатия. Вся информация приводится по состоянию на август 2006 г.
Поисковая база веб-документов состоит из двух частей: 800 и 50 терабайт с уровнем компрессии 11% и 33%, соответственно. База Google Analytics тоже хранится в двух таблицах на 200 ТБ (14%) и 20 ТБ (29%).
Google Earth занимает 70,5 ТБ, из них 70 ТБ исходных изображений и 500 ГБ индекса.
Персональный поиск занимает очень мало места по сравнению с самыми ресурсоемкими приложениями: всего 4 ТБ (уровень компрессии 47%). Каждому пользователю в системе присваивается уникальный идентификатор, а все его действия на поисковом сайте заносятся в базу данных.
Система Google Base использует 2 ТБ, а социальная сеть Orkut — всего 9 ТБ места в базе данных.
Около 220 ТБ.
Ввиду того, что данная информация представлена на 2006г. Есть версия, что она увеличилась в полтора, два раза, ввиду добавления сервисов различного рода.
Название: На чем пишется софт для КА?
Отправлено: PyKaB от 12.11.2009 13:16:54
Цитировать
Цитироватьдумаете легко оперировать сотнями асинхронных запросов в секунду поддерживая целостность данных и прочие?

Да никто не возражает, что это очень сложно  :)
Но речь тут о том, на чем и почему пишется софт в отрасли.
Решаются задачи разных уровней сложности и ответсвенности.
"Космическая" задача может быть весьма и весьма простой математически, логически, но на нее накладывается ряд ограничений, недостижимых другими, пусть и более современными, программными средствами.
В другой сфере деятельности задача может глючить, может виснуть. Вы не сталкивались с тем, например, что банк-клиент не работает? Частенько бывает. Но это не смертельно.
А я обязан решить задачу за 0,1 секунды в заданном временном интервале с учетом всех смежных задач и все тут! Несмотря ни на что! Иначе навернется аппарат стоимостью в много-много миллионов или даже миллиардов!

Это все понтно, так же как и плюсы реюза кода - увеличение надежности и сокращение издержек на разработку. Поэтому выглядит совершенно логичным использовать консервативный подход для ориентации КА и всего такого и современных средств для фото\видео и прочего
Название: На чем пишется софт для КА?
Отправлено: MikeP от 12.11.2009 06:19:37
ЦитироватьНо можно же разделить задачи на РМВ (регистрация и прочее) и Интерфейсные (информационные) где время не так критично. .

Абсолютно никаких возражений. Даже, скорее всего нужно.
Хотя у нас регистрация на магнитофоны шла тоже в реальном времени. Потом при необходимости в реальном времени и читалась, подаваясь на вход комплекса вместо реальных источников.
Детально обработать и проаналтзировать ее само-собой проще потом на других, не "боевых" средствах.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 12.11.2009 13:22:18
Цитировать
Цитироватьps Кстати Вы сказали СЕВ  :D  Гы, Вы тоже знаете что это такое? :wink:

Естественно  :)
У меня в протоколе взаимодействия с НИПами стояло именно это сокращение, а в соседней комнате два комплекта соответсвующей аппаратуры  :)

Этот ps был адресован другому пользователю, извиняюсь  :wink:  Я просто собираю и подсчитываю людей которые слышали про СЕВ  :wink:
Название: На чем пишется софт для КА?
Отправлено: Frontm от 12.11.2009 13:27:04
ЦитироватьЭтот ps был адресован другому пользователю, извиняюсь  :wink:  Я просто собираю и подсчитываю людей которые слышали про СЕВ  :wink:
Вы и меня посчитали? :D
Название: На чем пишется софт для КА?
Отправлено: MikeP от 12.11.2009 06:28:20
ЦитироватьИ в тему 0.2 секунд

Результаты 1 - 10 из примерно 18 300 000 для google объем информации. (0,29 секунд)


В описании Bigtable приводится объем информации, который хранится в распределенной базе данных и уровень сжатия. Вся информация приводится по состоянию на август 2006 г.
Поисковая база веб-документов состоит из двух частей: 800 и 50 терабайт с уровнем компрессии 11% и 33%, соответственно. База Google Analytics тоже хранится в двух таблицах на 200 ТБ (14%) и 20 ТБ (29%).
Google Earth занимает 70,5 ТБ, из них 70 ТБ исходных изображений и 500 ГБ индекса.
Персональный поиск занимает очень мало места по сравнению с самыми ресурсоемкими приложениями: всего 4 ТБ (уровень компрессии 47%). Каждому пользователю в системе присваивается уникальный идентификатор, а все его действия на поисковом сайте заносятся в базу данных.
Система Google Base использует 2 ТБ, а социальная сеть Orkut — всего 9 ТБ места в базе данных.
Около 220 ТБ.
Ввиду того, что данная информация представлена на 2006г. Есть версия, что она увеличилась в полтора, два раза, ввиду добавления сервисов различного рода.

Еще бы вот всю ту мощность, что всем этим ворочает в БЦВМ впихнуть  :D
Название: На чем пишется софт для КА?
Отправлено: Frontm от 12.11.2009 13:31:19
ЦитироватьЕще бы вот всю ту мощность, что всем этим ворочает в БЦВМ впихнуть  :D
Вот бы всех программистов что всем этим ворочают в космическую отрасль снарядить :D
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 12.11.2009 13:43:44
ЦитироватьДетально обработать и проаналтзировать ее само-собой проще потом на других, не "боевых" средствах.
Так называемая пост обработка и анализ. Знаем  :)
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 12.11.2009 13:44:47
ЦитироватьВы и меня посчитали? :D
Нет. Из Ваших постов было видно, что Вы как раз в курсе  :D
Название: На чем пишется софт для КА?
Отправлено: PyKaB от 12.11.2009 13:51:03
Цитировать
ЦитироватьЕще бы вот всю ту мощность, что всем этим ворочает в БЦВМ впихнуть  :D
Вот бы всех программистов что всем этим ворочают в космическую отрасль снарядить :D
+1
Это достигается как раз использованием языков высокого уровня, в то числе скриптовых, и платформ на линуксе - вот и получится что они все работают и на космическую отрасль в том числе
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 12.11.2009 14:04:34
Цитировать
ЦитироватьЕще бы вот всю ту мощность, что всем этим ворочает в БЦВМ впихнуть  :D
Вот бы всех программистов что всем этим ворочают в космическую отрасль снарядить :D
Неплохо было бы, только пока процесс обратный, из отрасли программисты валят в высокотехнологичные компании, которые используют современные средства разработки, ну про зарплату вообще молчу
Название: На чем пишется софт для КА?
Отправлено: TAU от 12.11.2009 13:05:55
Цитироватьпуск просто не состоиться. Потому что привязываясь с времени СЕВ уже  все системы РКК работают в едином времени, а не только Ваша. Странно, если Вы были на пуске, то просто не могли не слышать такое понятие - время СЕВ. Так что очень даже распространенное понятие  :wink:
Состоится - не состоится, у нас речь идет о периоде, когда не только пуск состоялся, но и отделение произошло...

А на пусках я не был. Кстати, речь-то изначально шла вроде про "софт для КА"...
Название: На чем пишется софт для КА?
Отправлено: TAU от 12.11.2009 13:09:13
Цитировать
ЦитироватьНе "по любому".
Есть разные виды сложности, как тут уже, кажется, отмечалось.
Так вот, сложность управляющей программы для КА состоит в режиме реального времени
Т.е. система реального времени это самая сложная сложность?
Внимательнее читайте то, что вам пишут.

ЦитироватьНе подскажете на сколько хорошо вы разбираетесь в вэбе?
Неплохо  8)  

ЦитироватьЯ не предлагаю писать все на скриптовых языках. Управление - пусть будет как было, а для фото-видео съемки, например, гораздо удобнее использовать другую платформу
Ну-ну. А вам не кажется, что съемка должна привязываться по времени очень четко к операциям всех других систем КА? И вообще - к моменту пролета над интересующей нас территорией?

В общем, никаких таких особых "интерфейсных" задач, которые по сути сильно бы отличались от задач управления, на борту почти и нет.
Название: На чем пишется софт для КА?
Отправлено: PyKaB от 12.11.2009 14:42:09
ЦитироватьНеплохо  8)  
А точнее? Достаточно хорошо для того, чтоб сказать что гугл проще какого-то конкретного КА по софту?

ЦитироватьНу-ну. А вам не кажется, что съемка должна привязываться по времени очень четко к операциям всех других систем КА? И вообще - к моменту пролета над интересующей нас территорией?
Кажется, вот только мне кажется что тут уже точность не так важна, а надежность у программы написанной с нуля для единичного случая ограниченным кол-вом специалистов будет всегда ниже, чем сборка библиотек теми же программистами потратившими оставшееся время на написание тестов. Скорость тоже сейчас не критична, имхо, для элементарных с математической точки зрения задач КА.

P.S. Про ОС тут еще можно почитать http://qnxclub.net/files/articles/RemarksOnTheMargins/RemarksOnTheMargins.html
Название: На чем пишется софт для КА?
Отправлено: TAU от 14.11.2009 23:09:54
Цитировать
ЦитироватьНеплохо  8)  
А точнее? Достаточно хорошо для того, чтоб сказать что гугл проще какого-то конкретного КА по софту?
Мне остается только еще раз повторить: читайте внимательнее то, что вам пишут.

Цитироватьа надежность у программы написанной с нуля для единичного случая ограниченным кол-вом специалистов будет всегда ниже, чем сборка библиотек теми же программистами
ха-ха-ха.  Видно, что вы весьма слабо представляете себе процесс создания - в том числе отладки - программного обеспечения КА.
Могу посоветовать прекрасную книгу: Управление космическими аппаратами зондирования Земли: Компьютерные технологии / Д.И. Козлов, Г.П. Аншаков, Я.А. Мостовой, А.В. Соллогуб.-М.: Машиностроение, 1998. Кстати, с двумя из авторов я знаком.
Название: На чем пишется софт для КА?
Отправлено: TAU от 14.11.2009 23:13:33
Цитироватьиз отрасли программисты валят в высокотехнологичные компании, которые используют современные средства разработки, ну про зарплату вообще молчу
Какая-то странная логика... Вообще-то космическая отрасль - самая что ни на есть высокотехнологичная.

И, кстати говоря, не везде, конечно, но вообще-то в некоторых местах в космической промышленности при создании программ используются ну даже очень современные средства разработки - до которых так называемый "коммерческий мэйнстрим" пока не дошел.
Название: На чем пишется софт для КА?
Отправлено: TAU от 14.11.2009 23:22:20
ЦитироватьP.S. Про ОС тут еще можно почитать http://qnxclub.net/files/articles/RemarksOnTheMargins/RemarksOnTheMargins.html
Сходил я по вашей ссылке. Жаль потерянного времени. Автор не понимает темы, на которую пишет, да и вообще малограмотен, увы.
Название: На чем пишется софт для КА?
Отправлено: jettero от 15.11.2009 04:00:38
Цитироватькстати говоря, не везде, конечно, но вообще-то в некоторых местах в космической промышленности при создании программ используются ну даже очень современные средства разработки - до которых так называемый "коммерческий мэйнстрим" пока не дошел.
например?
Название: На чем пишется софт для КА?
Отправлено: 577 от 15.11.2009 09:45:55
Спор на тему того, что труднее веб приложение или бортовой софт - неуместен. Это все равно что сравнивать катер и автомобиль. Совершенно разные задачи решаются, совершенно разные уровни знаний и програмирования требуются. И в той и в другой задаче достаточно проблем, но своих.

Если уж говорить о сложности, то веб-программист сталкивается с рядом проблем которые разработчику бортового софта просто чужды. Ну, для начала выделим то, что веб-программист должен уметь пользоваться кучей всяких инструментов. Знать по меньшей мере Java, C#/C++, PHP, SQL... и т.п. Применение всего этого уже делает задачу разработки любого веб-приложения трудной, емкой и требующей продуманного подхода.
Однако, при разработке веб-приложений прогаммистам напроч не нужны низкоуровневые операции, ассемблер, всякие RTOS... Они могут забыть о математике в принципе, ибо (ну например) алгоритмы сортировки для удобства уже давно встроены во все пакеты разработки веб-приложений, в системы правления базами данных.

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

Далее... По разработке веб-приложений написано невероятное колличество книг, существует умопромрачительное колличество форумов, где можно общаться, решать вопросы и т.п. Не знаю для кого как, но по-моему это ощутимый бонус и облегчение жизни.
При разработке софта для КА этого, опять же, ничего нет. Люди варятся в собственном соку. Общенике обычно сводится к разговору пары сотрудников разных НИИ по e-mail, или когда умудренный опытом пожилой конструктор диктует условия разработки софта основываясь на чуть-ли не подходах которые использовались при аналоговом управлении.
Еще стоит отметить на счет производительности... Если при веб-приложении можно запустить открытие странички в браузере и пойти попить чаю, подождать пока она загрузится - то ничего не произойдет. У бортового софта нет такой роскоши. Если софт на борту по какой-то причине не успеет обработать данные, выдать управляющие команды - можно потерять аппарат. Тут надо находить какие-то решения, когда например определенная аппаратура займет весь канал обмена информацией и не успеет закончить передачу до начала работы критичной для борта задачи. Или когда включится, скажем научный прибор, который нагрузит бортовую ЭВМ так, что все остальные задачи просто перестанут успевать. Ограниченный объем памяти опять же играет немаловажную роль... У разработчиков веб-приложений нет такой головной боли.

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

Ну где у нас в стране скажите на милость программируют железо? Пара НИИ, ОАО, ФГУП... где работает 1,5 программиста потому что продукция не может выдерать конкуренции с теми же китайскими (я не говорю уже про все остальные) аналогами.
Вот поэтому все программисты тянутся к веб-приложениям. К всяким 1С и прочему... Это всегда будет хлеб, на нем всегда можно заработать. Каждому магазинчику, каждой малюсенькой фирмочке нужен учет материалов, бухгалтерии и прочего... каждому  нужна своя страничка в интернете, для той же рекламы. Да тут работы непочатый край! На всех хватит! И вся она, эта работа, стандартизирована, вся она делалась уже 1000 раз и имеет хорошо описанные в литературе решения. С софтом для КА этого ничего нет. Это узконаправленная разработка задач завязанных на математике и системах реального времени. Фирм занимающихся этим раз-два и обчелся. Развалится фирма такая и что делать будет, скажем, разработчик следящих систем для камер наружного наблюдения? Или, если уж речь о КА, разработчик систем управления остронаправленной антенной...

В общем несравнимые вещи абсолютно... Поскольку разработка бортового софта это не только программирование. Это и знание фищики процессов, динамики, биллистики, систем автоматического управления...
А разработка веб-приложения это знание языка запросов, разработки многопользовательских приложений, разработки графического интерфейса, знание всяких FTP, TCP/IP... перенаправления, серверы IIS и прочего-прочего прочего.
Что тут сравнивать, если эти задачи вообще не пересекаются?
Название: На чем пишется софт для КА?
Отправлено: TAU от 16.11.2009 00:04:34
ЦитироватьСпор на тему того, что труднее веб приложение или бортовой софт - неуместен. Это все равно что сравнивать катер и автомобиль
Ну конечно. Только вот кое-кто 8) все никак не может воспринять смысл русских слов, давно тут сказанных, о том, что сложность в программах бывает разная.

ЦитироватьЕще одной отличительной чертой разработки бортового софта является очень сложная процедура отладки... Debug там или отсутствует вовсе, или слишком маломощен что бы быстро выявлять ошибки
Ну, если вы об инструментальных средствах отладки, то я бы не сказал, что они отсутствуют или совсем уж "маломощные". Хотя, конечно, на всем известные продукты в "ИТ для коммерсантов" непохожи.

ЦитироватьЕсли бы отладка ПО была бы возможна без комплексных испытаний на полунатурных и натурных стендах... То разработка софта для КА конечно была бы проще чем разработка веб-приложений
Поскольку посылка тут просто невозможна, в силу свойств программ управления реального времени для КА, то и следствие никогда не станет иметь места.

Цитироватьуровень разрухи космической промышленности и вообще высокотехнологичных областей в нашей стране ужасает
ну, надо отметить, тьфу-тьфу-тьфу, сдвиги к лучшему за годы так с 2003-го, во-первых. А во-вторых - слава Богу, аппараты создаются, и пусков больше происходит, чем у других стран.

Цитироватьпоэтому все программисты тянутся к веб-приложениям. К всяким 1С и прочему... Это всегда будет хлеб, на нем всегда можно заработать
Тянутся многие. Но не все. Есть и такие, кому интересно решать сложные и интересные задачи, а не тупо бабло рубить.

ЦитироватьЧто тут сравнивать, если эти задачи вообще не пересекаются?
Не знаю, вот просто нашлись тут желающие "перенести опыт" из проектов для коммерческих массовых заказчиков, в создание ПО для КА. При этом высокомерно утверждающие, что, дескать, ничего там сложного, никаких "велосипедов", нет, и они своими отработанными решениями горы в создании БПО своротят. А вот нет - велосипеды-то, оказывается, весьма специфические, действительно, различающиеся как минимум, как сухопутный и водный, а на самом деле и покруче.
Название: На чем пишется софт для КА?
Отправлено: TAU от 16.11.2009 00:06:05
Цитировать
Цитироватькстати говоря, не везде, конечно, но вообще-то в некоторых местах в космической промышленности при создании программ используются ну даже очень современные средства разработки - до которых так называемый "коммерческий мэйнстрим" пока не дошел.
например?
Графическое программирование в системе ГРАФИТ-ФЛОКС, в НПЦ АП. Которое даже его автор В.Д. Паронджанов называет несколько провокационно "программированием без программистов".
Название: На чем пишется софт для КА?
Отправлено: zyxman от 16.11.2009 05:45:07
Графическое программирование мейнстримовые програмисты уже пробовали, причем не раз.
И собственно основной недостаток как раз и есть обратная сторона достоинств - для маленьких проектов штука отличная - все красиво и наглядно, но увы, даже на средних проектах оказывается эффективнее пользоваться поиском в текстовых файлах и индексами, тк даже самых больших экранов не хватает :(

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

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

Вот кстати обсуждение из Википедии (http://ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9A_%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D1%8E/22_%D0%B8%D1%8E%D0%BB%D1%8F_2009#.D0.94.D0.A0.D0.90.D0.9A.D0.9E.D0.9D_.28.D1.8F.D0.B7.D1.8B.D0.BA_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F.29)  (откуда была удалена статья по Дракону)
ЦитироватьДРАКОН (язык программирования)

Статья уже удалялась (в том числе и за отсутствием значимости) под названием ДРАКОН. Сейчас в статье источники — ссылки на народ.ру, форумы и книги автора этого языка, выложенные там же. А на странице обсуждения люди мучаются вопросом «Чем ДРАКОН отличается от Блок-схемы?» 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 от 18.11.2009 00:51:00
Кстати, интересный вопрос к специалистам:
какой потребный сейчас порядок величины производительности вычислительных систем КА?
- По возможности вкратце какая задача (например решить систему уравнений такого-то порядка, с такой-то точностью (разрядностью), за такое-то время).

Заранее Спасибо!
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 18.11.2009 01:25:26
Нет, ну я думаю с таким подходом далеко не улетишь, ИМНО. Ну должна же быть элементарная унификация. Ну почему в каждом проекте всё начинать практически с нуля? про КА не в курсе, работал по системам РН, но всё же. В высокоуровневых  современных языках  программирования уже практически  редко заикаются о реализации каких то математических алгоритмов, всё уже реализовано на уровне использования встроенных методов, и этот пакет постоянно пополняется. Просто берешь и грамотно используешь то что уже сделано и свои усилия концентрируешь на проработке алгоритма на достаточно высоком уровне. И это всё работает и достаточно надёжно, посмотрите на мир вокруг. Телевидение, информационные, банковские, платежные системы, реклама, это всё оттуда, этим живёт современный мир
Название: На чем пишется софт для КА?
Отправлено: Not от 18.11.2009 11:56:51
ЦитироватьВ высокоуровневых  современных языках  программирования уже практически  редко заикаются о реализации каких то математических алгоритмов, всё уже реализовано на уровне использования встроенных методов, и этот пакет постоянно пополняется.
О каких языках речь?
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 18.11.2009 02:05:28
Цитировать
ЦитироватьВ высокоуровневых  современных языках  программирования уже практически  редко заикаются о реализации каких то математических алгоритмов, всё уже реализовано на уровне использования встроенных методов, и этот пакет постоянно пополняется.
О каких языках речь?
Studio, конкретно С#
Название: На чем пишется софт для КА?
Отправлено: Not от 18.11.2009 12:58:21
Цитировать
Цитировать
ЦитироватьВ высокоуровневых  современных языках  программирования уже практически  редко заикаются о реализации каких то математических алгоритмов, всё уже реализовано на уровне использования встроенных методов, и этот пакет постоянно пополняется.
О каких языках речь?
Studio, конкретно С#
И что, во "встроенных" методах языка реализован алгоритм (ну скажем) задачи трех тел?
Название: На чем пишется софт для КА?
Отправлено: MikeP от 17.11.2009 20:15:32
ЦитироватьНет, ну я думаю с таким подходом далеко не улетишь, ИМНО. Ну должна же быть элементарная унификация. Ну почему в каждом проекте всё начинать практически с нуля?

Если имеет место преемственность коллектива от разработки к разработке и преемственность техники по системе команд, то разработчик тоже не в корзину свои наработки выбрасывает. А я думаю, что это как раз имеет место. По-моему, Аргон 16, например, продолжал Аргона 15.
Название: На чем пишется софт для КА?
Отправлено: Инженер проекта от 18.11.2009 04:44:03
ЦитироватьКстати, интересный вопрос к специалистам:
какой потребный сейчас порядок величины производительности вычислительных систем КА?
Смотря каких КА. Они весьма различны.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 18.11.2009 12:39:11
Цитировать
ЦитироватьStudio, конкретно С#
И что, во "встроенных" методах языка реализован алгоритм (ну скажем) задачи трех тел?
Не реализован, но вполне может и появиться такой пакет, если это будет востребовано на рынке, т.е. появиться спрос. А так как на данный момент в общем случае не существует решения этого алгоритма, то о чём Вы говорите?
Зато, к примеру, когда на информационном рынке резко встал вопрос о безопасности передачи данных, то сразу появились пакеты по реализации всевозможных алгоритмов хеширования данных, криптографичеких алгоритмов шифрования и ЭЦП. И программисты с легкостью эти методы используют, всего лишь подставив на вход, к примеру, сертификат с открытым ключём и данные, которые нужно зашифровать. При этом он даже не замарачивается, что внутри метода реализуются достаточно не хилые алгоритмы.

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

А используя современные средства разработки, Вы автоматически используете труд десятков, а то и сотен высокооплачиваемых программистов какого нибудь Борланда или Майкрософт, которые уже реализовали эти алгоритмы и САМОЕ главное, тестировали, тестировали и еще раз тестировали, т.е. Вы уже применяете надёжный инструмент
Название: На чем пишется софт для КА?
Отправлено: zur от 18.11.2009 13:36:18
Вопрос использования аутсорсинга неоднозначен даже для бытовых приложений. Конечно, если надо что-то быстро сваять на коленке, посчитать какую-нибудь прибыль от акций, или новую приблуду вставить в "одноклассники", это конечно правильно.
Но использовать это для боевых приложений очень опасно.
И глюков в библиотеках тогоже Борланда огромное количество. Вот вчера нашел в Дельфи, что при FAIL-овском выходе из конструктора не сохраняется регистр EBX, что приводит к нарушению цикла FINALIZATION и аварийному завершению программы. И спрашивается, как они это тестировали!
Но главное, в том , что библиотеки сильно избыточны, что мало того, что замедляет программу и занимает памятЬ. Главное, что программа становится очень тяжелой и сложной в сопровождении, а поиск ошибок или там некорректного использования библиотек крайне трудоёмок.
И вот допустим надо отображать на экране текст. Можно взять крутую библиотеку с поддержкой всех режимов экрана, шрифтов, болда и италика, вывода под углом, отсечением по произвольной области  и т.д. И будет оно работать крайне меленно, даже если и надежно. А можно за неделю написать свою узенькую библиотечку с поддержкой только нужного режима и без лишнего выпендрёжа. И всё будеит быстрее на порядок и более надежно.
И так во многих других случаях, когда проще написать свою программу, чем искать и тестировать чужие, тем более в конце может оказаться, что они не подходят...
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 18.11.2009 13:46:22
ЦитироватьНо главное, в том , что библиотеки сильно избыточны, что мало того, что замедляет программу и занимает памятЬ. Главное, что программа становится очень тяжелой и сложной в сопровождении, а поиск ошибок или там некорректного использования библиотек крайне трудоёмок.
И вот допустим надо отображать на экране текст. Можно взять крутую библиотеку с поддержкой всех режимов экрана, шрифтов, болда и италика, вывода под углом, отсечением по произвольной области  и т.д. И будет оно работать крайне меленно, даже если и надежно. А можно за неделю написать свою узенькую библиотечку с поддержкой только нужного режима и без лишнего выпендрёжа. И всё будеит быстрее на порядок и более надежно.
Так не вопрос, с Объектно Ориентированным программированием всеж знакомы. Создавайте свой объект и наследуйте только те свойства, которые необходимо
Название: На чем пишется софт для КА?
Отправлено: Not от 19.11.2009 09:15:05
Цитировать
Цитировать
ЦитироватьStudio, конкретно С#
И что, во "встроенных" методах языка реализован алгоритм (ну скажем) задачи трех тел?
Не реализован, но вполне может и появиться такой пакет, если это будет востребовано на рынке, т.е. появиться спрос. А так как на данный момент в общем случае не существует решения этого алгоритма, то о чём Вы говорите?

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


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

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

+1 (даже +2)
Название: На чем пишется софт для КА?
Отправлено: Morin от 19.11.2009 15:14:38
Цитироватьа надежность у программы написанной с нуля для единичного случая ограниченным кол-вом специалистов будет всегда ниже, чем сборка библиотек теми же программистами
ха-ха-ха.  Видно, что вы весьма слабо представляете себе процесс создания - в том числе отладки - программного обеспечения КА.
Могу посоветовать прекрасную книгу: Управление космическими аппаратами зондирования Земли: Компьютерные технологии / Д.И. Козлов, Г.П. Аншаков, Я.А. Мостовой, А.В. Соллогуб.-М.: Машиностроение, 1998. Кстати, с двумя из авторов я знаком.[/quote]
С Яковом Абрамовичем? И как он вам?
Название: На чем пишется софт для КА?
Отправлено: Morin от 19.11.2009 15:19:49
ЦитироватьLRV_75 пишет:
 
Цитироватьps Кстати Вы сказали СЕВ  :D  Гы, Вы тоже знаете что это такое? :wink:

Система единого времени?
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 19.11.2009 17:28:12
ЦитироватьMorin пишет:
 
Цитировать
Цитироватьps Кстати Вы сказали СЕВ  :D  Гы, Вы тоже знаете что это такое? :wink:

Система единого времени?
Совершенно верно  :D
Название: На чем пишется софт для КА?
Отправлено: vekazak от 20.11.2009 18:03:27
Последний писк (самая модная на сегодня0:
http://submicron.ru/core/component/page,shop.product_details/flypage,shop.flypage/product_id,19/category_id,2/manufacturer_id,0/option,com_virtuemart/Itemid,63/
Название: На чем пишется софт для КА?
Отправлено: Дем от 21.11.2009 18:12:34
ЦитироватьПоследний писк (самая модная на сегодня0:
http://submicron.ru/core/component/page,shop.product_details/flypage,shop.flypage/product_id,19/category_id,2/manufacturer_id,0/option,com_virtuemart/Itemid,63/
Уровень где-то 80286...
Название: На чем пишется софт для КА?
Отправлено: TAU от 21.11.2009 22:38:37
ЦитироватьС Яковом Абрамовичем?
Яковом Анатольевичем, вообще-то. И Анатолием Владимировичем.
Название: На чем пишется софт для КА?
Отправлено: TAU от 21.11.2009 22:41:44
ЦитироватьКстати, интересный вопрос к специалистам:
какой потребный сейчас порядок величины производительности вычислительных систем КА?
- По возможности вкратце какая задача (например решить систему уравнений такого-то порядка, с такой-то точностью (разрядностью), за такое-то время).

Заранее Спасибо!
Вам уже ответили ;-)

Если БВС используется для решения задач управления БА, и почти не используется для вычислений - то вполне хватает скромных показателей.

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

ЦитироватьОчень спорное утверждение, что это современное средство разработки. Лично я бы никогда не стал на ней работать - элементарно неудобно :)
Мне кажется, это просто Ваше субъективное мнение. Именно что удобно. Смотря для чего, конечно. Для понимания логической структуры алгоритма - очень даже то. А это и нужно при создании управляющих алгоритмов реального времени для КА.

ЦитироватьСудите сами http://store.oberoncore.ru/lib/image/drakon/list1.png
Вы полагаете, я этого не видел? ;)

Цитироватьэта программа сделанная в "современном средстве разработки" (которая заняла бы несколько десятков строк на обычном ЯП), нарисована на формате A1, и в углу основная надпись по ГОСТу :D
Что Вас "умиляет"? Надпись по ГОСТу? Смешно? Знаете поговорку "смех без причины"? Вы представляете хоть немного, каков уровень требований к документации на КА, сколько там формальностей, подписей и согласований? И если, не дай Бог, что-то там не так, за этот документо кто-то несет личную ответственность - и, соответственно, "подписывается кровью", в том числе - в той самой надписи по ГОСТу.

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

Цитироватькроме разве что автора и нескольких закоренелых энтузиастов
Уже нашлось достаточно значимое количество таких "энтузиастов", не знаю, можно ли корректно называть его "несколькими".

Цитироватьне применяется в "коммерческом мэйнстриме" всего лишь показывает, что реально это никому не нужно
Данное утверждение не соответствует действительности - ГРАФИТ-ФЛОКС успешно применяется, и достаточно давно. Кстати, существует и используется еще целый набор графических языков стандарта МЭК по программированию промышленных контроллеров, и поддерживающих их средств, например, ISA GRAF.
Так что - нужно.
Кстати, мера успеха в "коммерческом мэйнстриме" - некорректная мера для сравнения качества/эффективности технологии или продукта.
Название: На чем пишется софт для КА?
Отправлено: jettero от 22.11.2009 00:04:46
Цитировать
Цитироватьэта программа сделанная в "современном средстве разработки" (которая заняла бы несколько десятков строк на обычном ЯП), нарисована на формате A1, и в углу основная надпись по ГОСТу :D
Что Вас "умиляет"? Надпись по ГОСТу? Смешно? Знаете поговорку "смех без причины"? Вы представляете хоть немного, каков уровень требований к документации на КА, сколько там формальностей, подписей и согласований? И если, не дай Бог, что-то там не так, за этот документо кто-то несет личную ответственность - и, соответственно, "подписывается кровью", в том числе - в той самой надписи по ГОСТу.
То есть вы хотите сказать, что программу надо печатать на листах А1 и потом эти десятки тысяч листов (а скорее сотни тысяч, так как на А1 там мало что помещается, всего-то 20-30 строк на обычном ЯП) визировать подписью и хранить в архиве? И вы всерьез это называете "современным средством разработки"? Ну ваше право конечно... :D
А почему тогда не на перфокартах? ))))

Только я разделяю мнение тех кто удалил из википедии Дракон за незначимостью - я не вижу ничего отличного в нем от обычных блоксхем, а это "технология" 70-80 годов.
А то, что это где-то применяется совсем не показатель - у нас и гравицапы летают в космос и что?

И зря вы недооцениваете коммерческий мейнстрим, когда есть какая-то стоящая идея ее тут же перенимают другие разработчики (программисты самые ленивые люди – они с радостью применяют все, что упрощает им жизнь).
Название: На чем пишется софт для КА?
Отправлено: Not от 22.11.2009 10:14:53
ЦитироватьТо есть вы хотите сказать, что программу надо печатать на листах А1 и потом эти тысячи листов визировать подписью и хранить в архиве? И вы всерьез это называете "современным средством разработки"? Ну ваше право конечно... :D
А почему тогда не на перфокартах? ))))
Вы бы, батенька, прежде чем за животик хвататься, задумались - а зачем это все нужно?

Вам такая процедура, как просмотр и визирование кода знакома?
Название: На чем пишется софт для КА?
Отправлено: jettero от 22.11.2009 00:18:57
Цитировать
ЦитироватьТо есть вы хотите сказать, что программу надо печатать на листах А1 и потом эти тысячи листов визировать подписью и хранить в архиве? И вы всерьез это называете "современным средством разработки"? Ну ваше право конечно... :D
А почему тогда не на перфокартах? ))))
Вы бы, батенька, прежде чем за животик хвататься, задумались - а зачем это все нужно?

Вам такая процедура, как просмотр и визирование кода знакома?
Вы путаете теплое с мягким, причем тут бумажный vs. электронный документооборот и визирование кода?
Подумайте сами, просмотреть код с 1000 строками на экране это обычное дело – требуется полчаса - час.
Просмотреть 50 чертежей А1 – сплю и вижу, нафиг-нафиг :D
Название: На чем пишется софт для КА?
Отправлено: TAU от 21.11.2009 23:24:32
Цитировать
Цитировать
ЦитироватьТо есть вы хотите сказать, что программу надо печатать на листах А1 и потом эти тысячи листов визировать подписью и хранить в архиве? И вы всерьез это называете "современным средством разработки"? Ну ваше право конечно... :D
А почему тогда не на перфокартах? ))))
Вы бы, батенька, прежде чем за животик хвататься, задумались - а зачем это все нужно?

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

Я не недооцениваю значение коммерческого мэйнстрима. Но и не переоцениваю. Смотрю трезво  8) И кстати.

Если спутник успешно продается - за немаленькие суммы - значит, он коммерчески успешен. Со всеми своими "потрохами". В том числе - со своим БПО. Таким образом, уместно говорить про "коммерческую успешность" технологии его создания. Если спутники эти делаются серийно - то, не исключено, что и о своего рода "мэйнстриме". Так сказать, "широкой известности в узких кругах".
Название: На чем пишется софт для КА?
Отправлено: Not от 22.11.2009 10:24:37
Цитировать
Цитировать
ЦитироватьТо есть вы хотите сказать, что программу надо печатать на листах А1 и потом эти тысячи листов визировать подписью и хранить в архиве? И вы всерьез это называете "современным средством разработки"? Ну ваше право конечно... :D
А почему тогда не на перфокартах? ))))
Вы бы, батенька, прежде чем за животик хвататься, задумались - а зачем это все нужно?

Вам такая процедура, как просмотр и визирование кода знакома?
Вы путаете теплое с мягким, причем тут бумажный / электронный документооборот и визирование кода?
То есть хранение тех же самых диаграмм в электронном виде сделает вас счастливее?  :D Подсказываю еще раз - задумайтесь, зачем нужны диаграммы и будет вам просветление  :D
Название: На чем пишется софт для КА?
Отправлено: jettero от 22.11.2009 00:32:56
ЦитироватьПодсказываю еще раз - задумайтесь, зачем нужны диаграммы и будет вам просветление  :D
Я же сказал свое мнение – это не нужно, мне не надо заменять 20 строк кода чертежами на А1.
Вы кстати слышали про системы типа Javadoc, Doxygen итп? Где в том числе автоматически генерируются диаграммы наследования / зависимостей итд? Таких диаграмм вполне достаточно, а все что ниже по уровню – избыточно. Лучше текстового кода пока-что ничего не придумали.
Название: На чем пишется софт для КА?
Отправлено: Not от 22.11.2009 10:46:08
Цитировать
ЦитироватьПодсказываю еще раз - задумайтесь, зачем нужны диаграммы и будет вам просветление  :D
Я же сказал свое мнение - это не нужно, мне не надо заменять 20 строк кода чертежами на А1.
Вы кстати слышали про системы типа Javadoc например?  Таких диаграмм вполне достаточно, а все что ниже по уровню – избыточно. Лучше текстового кода пока-что ничего не придумали.
Слышал, слышал  :D И про javadoc и про doxygen. И более того, успешно применяю.

ЦитироватьГде в том числе автоматически генерируются диаграммы наследования / зависимостей итп?
А вот про итп - поподробнее  :D Что кроме диаграмм наследования и зависимостей вам может сгенерировать javadoc и как это коррелирует с той диаграммой, которую вы упомянули ранее?
Название: На чем пишется софт для КА?
Отправлено: jettero от 22.11.2009 00:50:40
ЦитироватьСлышал, слышал  :D И про javadoc и про doxygen. И более того, успешно применяю.
про doxygen только-что дописал выше )

Цитировать
ЦитироватьГде в том числе автоматически генерируются диаграммы наследования / зависимостей итп?
А вот про итп - поподробнее  :D Что кроме диаграмм наследования и зависимостей вам может сгенерировать javadoc и как это коррелирует с той диаграммой, которую вы упомянули ранее?
Читайте внимательней, я не говорил, что это коррелирует, я сказал, что диаграммы которые показывают взаимосвязь больших кусков кода – полезны, а которые "на пальцах" показывают каждую элементарную операцию – не нужны. Программист быстрее читает и понимает код, чем будет разбираться с картинками.
Они полезны только в школе на этапе обучения, дальше это уже как комиксы вместо серьезной книжки ))
Название: На чем пишется софт для КА?
Отправлено: TAU от 21.11.2009 23:53:14
Цитироватьчитайте внимательно, я не говорил, что это коррелирует, я сказал, что диаграммы которые показывают взаимосвязь больших кусков кода – полезны, а которые "на пальцах" показывают каждую элементарную операцию – не нужны. Программист быстрее читает и понимает код, чем будет разбираться с картинками
Вы бы сами читали внимательнее. Повторяю, в качестве одного из главных преимуществ декларируется использование технологии Паронджанова для создания бортовых управляющих алгоритмов непрограммистами.

Кстати, и программисты некоторые вполне даже выступают за графическую нотацию, не говорите за всех 8)
Название: На чем пишется софт для КА?
Отправлено: Not от 22.11.2009 10:57:07
Цитировать
ЦитироватьСлышал, слышал  :D И про javadoc и про doxygen. И более того, успешно применяю.
про doxygen только-что дописал выше )

Цитировать
ЦитироватьГде в том числе автоматически генерируются диаграммы наследования / зависимостей итп?
А вот про итп - поподробнее  :D Что кроме диаграмм наследования и зависимостей вам может сгенерировать javadoc и как это коррелирует с той диаграммой, которую вы упомянули ранее?
Читайте внимательней, я не говорил, что это коррелирует, я сказал, что диаграммы которые показывают взаимосвязь больших кусков кода – полезны, а которые "на пальцах" показывают каждую элементарную операцию – не нужны. Программист быстрее читает и понимает код, чем будет разбираться с картинками.
Они полезны только в школе на этапе обучения, дальше это уже как комиксы вместо серьезной книжки ))
Правда что ли не нужны? Ну может быть алгоритм сортировки в этом и не нуждается. А вот взаимодействие (скажем) трех процессов, с синхронизацией, общими перемеными и обменом сообщениями уже сложно понять без диаграммы. Давайте рассмотрим конкретный пример - задачу об обедающих философах. Что вам проще - разбирать ее код или анализировать диаграмму состояний?
Название: На чем пишется софт для КА?
Отправлено: jettero от 22.11.2009 00:59:06
Цитировать
Цитироватьчитайте внимательно, я не говорил, что это коррелирует, я сказал, что диаграммы которые показывают взаимосвязь больших кусков кода – полезны, а которые "на пальцах" показывают каждую элементарную операцию – не нужны. Программист быстрее читает и понимает код, чем будет разбираться с картинками
Вы бы сами читали внимательнее. Повторяю, в качестве одного из главных преимуществ декларируется использование технологии Паронджанова для создания бортовых управляющих алгоритмов непрограммистами.

Кстати, и программисты некоторые вполне даже выступают за графическую нотацию, не говорите за всех 8)
Как я уже писал может непрограммист и обучится быстрее как записывать элементарные операции, но сложность написания больших системы не в том, что сложно писать элементарные операции.
Название: На чем пишется софт для КА?
Отправлено: jettero от 22.11.2009 01:08:01
ЦитироватьПравда что ли не нужны? Ну может быть алгоритм сортировки в этом и не нуждается. А вот взаимодействие (скажем) трех процессов, с синхронизацией, общими перемеными и обменом сообщениями уже сложно понять без диаграммы. Давайте рассмотрим конкретный пример - задачу об обедающих философах. Что вам проще - разбирать ее код или анализировать диаграмму состояний?
А при чем тут диаграммы состояний?
Началось с обсуждения диаграмм языка Дракон, где графически записывается поток команд, а не состояния. Мой тезис, что это не нужно и код для потока команд подходит лучше.
Другие диаграммы, могут быть полезны, как например я писал про диаграммы наследований в doxygen.
Состояния это другая тема, их кстати тоже можно вполне наглядно записывать булевой алгеброй, а не диаграммами, как делается в конечных автоматах например.
Название: На чем пишется софт для КА?
Отправлено: TAU от 22.11.2009 22:56:14
ЦитироватьКак я уже писал может непрограммист и обучится быстрее как записывать элементарные операции, но сложность написания больших системы не в том, что сложно писать элементарные операции
Яснее пишите.
Название: На чем пишется софт для КА?
Отправлено: TAU от 22.11.2009 23:00:29
ЦитироватьА при чем тут диаграммы состояний?
Началось с обсуждения диаграмм языка Дракон, где графически записывается поток команд, а не состояния
Вообще-то есть некая достаточно сильная связь между этими вещами, приведшая даже к тому, что в UML 1 версии были соответствующие диаграммы смешаны в одну кучу. Дело, видимо, в том, что в традиционной машине после выполнения очередного действия в соответствии с потоком управления, она автоматически попадает в новое состояние.

ЦитироватьМой тезис, что это не нужно и код для потока команд подходит лучше
Тезис неверен. Т.е. некорректен для общего случая.

ЦитироватьСостояния это другая тема, их кстати тоже можно вполне наглядно записывать булевой алгеброй, а не диаграммами, как делается в конечных автоматах например
Неверно снова. Диаграммы - наглядны, формулы наоборот.
Название: На чем пишется софт для КА?
Отправлено: Сергиенко Роман от 23.11.2009 08:45:59
Графические нотации (UML, IDEF и пр.) предназначены, в первую очередь, для использования в командах разработчиков ПО для упрощения обмена информацией между ними. Потому что по своему опыту знаю, что очень трудно воспринимать программный код, написанный другим программистом.
Кроме того, нотации предназначены для проектирования объемных программных систем. Просто очень трудно просто так взять и начать программировать. Нужны предварительные наброски, схемы и пр. Нотации именно это и делают. Причем они унифицированы, опять-таки, чтобы разные специалисты понимали друг друга.
Название: На чем пишется софт для КА?
Отправлено: jettero от 23.11.2009 15:04:29
Да, как я писал, блоксхемы бывают полезны, в том числе при обучении. На блоксхемах бывает удобно показать взаимосвзяь больших участков кода. Но когда ими пытаются программировать – то есть записывать каждую элементарную операцию, то при реализации сложных алгоритмов получают клубок линий и нулевую читаемость – гораздо проще прочесть название вызываемой процедуры или метода чем следить по линиям что куда идет, когда таких линий 5 штук - все ок, а когда их сотни это дурдом.
Факт в том, что 99% программистов программируют кодом, а не рисуют и для этого есть причины. И причина вовсе не в том, что производители КА прогрессивнее, чем коммерческий мейнстрим ;)

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

Кстати самый известный алгоритмист – Дональд Кнут писал алгоритмы на MIX/МMIX ассемблере – язык, который он создал специально для обучения алгоритмам в своей серии книг Искусство программирования и он в предисловии писал почему он решил так, а не использовал языки выокого уровня или блоксхемы.
Название: На чем пишется софт для КА?
Отправлено: Сергиенко Роман от 23.11.2009 17:05:44
Следует различать низкоуровневое программирование и проектирование сложных программных систем. Да, я согласен - диаграммы и блок-схемы не подходят для конкретных реализации тех или иных элементарных программистских операций, сам считаю это излишеством. Но вот на концептуальном уровне или уровне спецификаций графические нотации помогают очень сильно. Особенно они полезны при объектно-ориентированном подходе, который сейчас доминирует в секторе создания ПО. Использование UML на этапе проектирования ПО - стандарт на сегодня во всём мире.
Ксати, чтобы диаграммы не были чересчур загроможденными существует правило - одна диаграмма должна размещаться на листе формата A4 и без "переплетений".

P.S. Современные графические нотации типа UML - это не просто блок-схемы. Их функционал гораздо шире.
Название: На чем пишется софт для КА?
Отправлено: TAU от 23.11.2009 22:58:35
ЦитироватьФакт в том, что 99% программистов программируют кодом, а не рисуют и для этого есть причины. И причина вовсе не в том, что производители КА прогрессивнее, чем коммерческий мейнстрим ;)
Причина в том числе - именно в этом.

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

ЦитироватьКстати самый известный алгоритмист – Дональд Кнут писал алгоритмы на MIX/МMIX ассемблере – язык, который он создал специально для обучения алгоритмам в своей серии книг Искусство программирования и он в предисловии писал почему он решил так, а не использовал языки выокого уровня или блоксхемы
Не напомните? И, кстати, какое это имеет отношение к БПО для КА?
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 24.11.2009 00:20:43
Мужики, а можно вопрос? Вы для каких КА ПО разрабатываете (разрабатывали). Ну там, для Персоны? Или АМС Фобос-Грунт?
Название: На чем пишется софт для КА?
Отправлено: jettero от 24.11.2009 04:27:16
ЦитироватьВсего лишь ваша личная субъективная точка зрения.
Разумеется :)
а вы что, претендуете на то, что ваша точка зрения не субъективна? :D
Название: На чем пишется софт для КА?
Отправлено: jettero от 24.11.2009 04:34:11
ЦитироватьСледует различать низкоуровневое программирование и проектирование сложных программных систем. Да, я согласен - диаграммы и блок-схемы не подходят для конкретных реализации тех или иных элементарных программистских операций, сам считаю это излишеством. Но вот на концептуальном уровне или уровне спецификаций графические нотации помогают очень сильно. Особенно они полезны при объектно-ориентированном подходе, который сейчас доминирует в секторе создания ПО. Использование UML на этапе проектирования ПО - стандарт на сегодня во всём мире.
Ксати, чтобы диаграммы не были чересчур загроможденными существует правило - одна диаграмма должна размещаться на листе формата A4 и без "переплетений".

P.S. Современные графические нотации типа UML - это не просто блок-схемы. Их функционал гораздо шире.
Согласен с тем, что диаграммы иллюстрирующие концептуальный уровень и структуру полезны в ООП (наследование, зависимости). Я писал об этом на прошлой странице и про системы документирования кода типа javadoc/doxygen, где это используется.

Но тут дискуссия идет не про эти диаграммы, а про именно программирование только блоксхемами (язык Дракон). TAU утверждает, что это самый прогрессивный способ программирования, я не согласен.
Название: На чем пишется софт для КА?
Отправлено: zyxman от 24.11.2009 05:50:33
Цитировать
ЦитироватьКстати, интересный вопрос к специалистам:
какой потребный сейчас порядок величины производительности вычислительных систем КА?
- По возможности вкратце какая задача (например решить систему уравнений такого-то порядка, с такой-то точностью (разрядностью), за такое-то время).
Вам уже ответили ;-)

Спасибо, но это не совсем то что я хотел услышать.

ЦитироватьЕсли БВС используется для решения задач управления БА, и почти не используется для вычислений - то вполне хватает скромных показателей.

Насколько скромных?
- Можно выразиться в байтах и операциях в секунду?

И интересны не чисто задачи включения/выключения оборудования по времени, а именно какие-то вычислительные задачи.

ЦитироватьЕсли требуется, скажем, обрабатывать на борту предварительно изображения - то, как Вы понимаете, ресурсы нужны совсем другие.
Впрочем, это может быть и отдельная ЭВМ.
Это конечно понятно.
Я с эмбеддед достаточно плотно имею дело, чтобы знать что в цифровых фотоаппаратах встречаются комбайны управляющего 8051 с аппаратным кодеком JPEG.
Вот мне и интересно, что именно реально сейчас применяется в космосе.

Вершина мне известна - компы марсианских роверов вполне сравнимы с десктопами десятилетней давности, а вот интересен средний уровень в других приложениях - у меня сейчас начинает складываться впечатление, что логика современных бортов в среднем очень примитивная, и вычисления там простейшие, и вобщем серьезной работы для программиста-математика там нет.
А сложные вычисления в уникально серийных изделиях - в РН и в системах ограничения перегрузок самолетов (система посадки Бурана) - там и там поддерживается полет в трубке допустимых траекторий.
Название: На чем пишется софт для КА?
Отправлено: TAU от 24.11.2009 20:49:32
Цитироватьдискуссия идет не про эти диаграммы, а про именно программирование только блоксхемами (язык Дракон). TAU утверждает, что это самый прогрессивный способ программирования, я не согласен.
Не надо демагогией заниматься - приписывать оппоненту то, чего он не говорил. Это первое.

Второе - идет разговор, вообще-то, не только о графическом программировании, еще есть кое-какие прогрессивные методы, используемые при создании БПО для КА.

Несмотря на это, графическое программирование все-таки прогрессивнее традиционного, и, большинство непредубежденных людей (к вопросу о субъективности и объективности) признает, что графические представления - диаграммы - нагляднее, чем текст.
Название: На чем пишется софт для КА?
Отправлено: TAU от 24.11.2009 20:54:32
ЦитироватьНасколько скромных?
- Можно выразиться в байтах и операциях в секунду?
Внимательнее смотрите 8) Была же ссылка на ЦВМ-101, применяемую на "Союзе" и "Прогрессе".

Цитироватьу меня сейчас начинает складываться впечатление, что логика современных бортов в среднем очень примитивная, и вычисления там простейшие, и вобщем серьезной работы для программиста-математика там нет
Неверное впечатление. Логика не примитивная. Кстати, будучи "помноженной" на время, она становится вообще даже сложной.
Название: На чем пишется софт для КА?
Отправлено: jettero от 25.11.2009 00:48:26
Цитировать
Цитироватьдискуссия идет не про эти диаграммы, а про именно программирование только блоксхемами (язык Дракон). TAU утверждает, что это самый прогрессивный способ программирования, я не согласен.
Не надо демагогией заниматься - приписывать оппоненту то, чего он не говорил. Это первое.
Да неужели? Значит мне приснилось :D
Цитировать
Цитировать
Цитироватькстати говоря, не везде, конечно, но вообще-то в некоторых местах в космической промышленности при создании программ используются ну даже очень современные средства разработки - до которых так называемый "коммерческий мэйнстрим" пока не дошел.
например?
Графическое программирование в системе ГРАФИТ-ФЛОКС, в НПЦ АП. Которое даже его автор В.Д. Паронджанов называет несколько провокационно "программированием без программистов".
Цитировать
ЦитироватьФакт в том, что 99% программистов программируют кодом, а не рисуют и для этого есть причины. И причина вовсе не в том, что производители КА прогрессивнее, чем коммерческий мейнстрим ;)
Причина в том числе - именно в этом.

Исходя из ваших сообщений сложно не понять, что для вас графическое программирование самое прогрессивное. Так что про демагогию не надо )

ЦитироватьВторое - идет разговор, вообще-то, не только о графическом программировании, еще есть кое-какие прогрессивные методы, используемые при создании БПО для КА.
Не знаю о чем вы думаете идет разговор, но когда я спросил, что вы имеет в виду под "ну даже очень современные средства разработки" вы сказали только про ГРАФИТ-ФЛОКС (сиречь язык Дракон)

ЦитироватьНесмотря на это, графическое программирование все-таки прогрессивнее традиционного, и, большинство непредубежденных людей (к вопросу о субъективности и объективности) признает, что графические представления - диаграммы - нагляднее, чем текст.
Ага и несмотря на это большинство пишет код, а не рисует блоксхемы и вы даже не замечаете тут логической нестыковки. А, я знаю – вместо того, чтобы подумать почему так, вы для себя объяснили это тем, что мейнстрим "отсталый".
Тогда можно задать следующий вопрос, допустим мейнстрим такой отсталый, почему же тогда большинство разработчиков КА не используют Дракон, а пишут "по старинке" – кодом? Насколько я помню историю Дракона, его разработка ведется порядка 10 лет, если не больше, так что времени на переход на него было предостаточно.
Сейчас еще вспомнилось, мне эта дискуссия напоминает тему – что лучше: командная строка или графическая оболочка. Почему-то начинающие пользователи предпочитают окна, а сисадмины командную строку, наверное потому что они тоже отсталые, а нубы прогрессивнее :)
Название: На чем пишется софт для КА?
Отправлено: jettero от 25.11.2009 01:41:34
Цитироватьу меня сейчас начинает складываться впечатление, что логика современных бортов в среднем очень примитивная, и вычисления там простейшие, и вобщем серьезной работы для программиста-математика там нет
Примерно так и есть, в этой ветке несколько раз были ссылки на примеры программ для КА, в том числе ЕМНИП я постил ссылки на листинги программ лунных модулей.
Логика простая, вычисления простейшие, ну это и понятно – это вытекает из требований по надежности ПО.
Название: На чем пишется софт для КА?
Отправлено: jettero от 25.11.2009 01:49:13
Цитировать
Цитироватьу меня сейчас начинает складываться впечатление, что логика современных бортов в среднем очень примитивная, и вычисления там простейшие, и вобщем серьезной работы для программиста-математика там нет
Неверное впечатление. Логика не примитивная. Кстати, будучи "помноженной" на время, она становится вообще даже сложной.
Не очень понятно, что значит "логика помноженная на время"? Вы имеете в виду время работы программы? Вот у меня один вебсервер 3 года без перезагрузки работает, из этого следует, что там очень сложная логика?
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 25.11.2009 04:55:11
Цитировать
Цитироватьу меня сейчас начинает складываться впечатление, что логика современных бортов в среднем очень примитивная, и вычисления там простейшие, и вобщем серьезной работы для программиста-математика там нет
Примерно так и есть, в этой ветке несколько раз были ссылки на примеры программ для КА, в том числе ЕМНИП я постил ссылки на листинги программ лунных модулей.
Логика простая, вычисления простейшие, ну это и понятно – это вытекает из требований по надежности ПО.
А мы в детском саду обсуждали, что проще сделать атомную бомбу или водородную. Победил сильнейший, конечно.

Если Ввш уровень выше "песочницы" и Вы готовы отвечать за свои слова, то напишите программу управления КА с помощью гироскопических  устройств, например, гиродинов. Управление должно быть таким, чтобы ориентация КА сохранялась близкой к орбитальной,  но в течении длительного времени не требовалась бы разгрузка гиродинов. Покажите на конкретном примере, что "Логика простая, вычисления простейшие"
Название: На чем пишется софт для КА?
Отправлено: jettero от 25.11.2009 07:25:53
ЦитироватьЕсли Ввш уровень выше "песочницы" и Вы готовы отвечать за свои слова, то напишите программу управления КА с помощью гироскопических  устройств, например, гиродинов. Управление должно быть таким, чтобы ориентация КА сохранялась близкой к орбитальной,  но в течении длительного времени не требовалась бы разгрузка гиродинов. Покажите на конкретном примере, что "Логика простая, вычисления простейшие"
Да не вопрос, эта задача можно сказать классическая, давно изученная. Я даже нашел книжку Токаря за 78 год с формулами управления гиродинами.
Какова оплата и на чем требуется написать? Раз мы серьезно подошли к делу, давайте я серьезно напишу, только оплата часа работы у меня по европейским расценкам, предупреждаю сразу :D
PS Кстати, если вы не поняли, то "простейшие вычисления и логика" относились к итоговой программе которая на борту (и это требование надежности - чем проще программа, тем меньше в ней багов), а не к матаппарату, на котором строится алгоритм.
Например сильно утрируя, но управление можно реализовать и на тупой и простой машине состояний – и тогда там даже процессора может не быть. А все сложные расчеты и решения будут сделаны заранее и в машине состояний будут уже готовые решения на все случаи.
По-любому как ни старайся сложную логику и серьезный матапарат в 2 мегабайта бортового ЗУ не вместишь  :wink:
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 25.11.2009 08:19:45
Цитироватьэта задача можно сказать классическая, давно изученная. Я даже нашел книжку Токаря за 78 год с формулами управления гиродинами.
А гравитация "давно изученна" Галилеем. Ньютону и Энштейну уже ничего не осталось.

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

Сколько минут Вам потребуется, чтобы запрограммировать примитив?
Название: На чем пишется софт для КА?
Отправлено: Not от 25.11.2009 18:45:51
ЦитироватьПо-любому как ни старайся сложную логику и серьезный матапарат в 2 мегабайта бортового ЗУ не вместишь  :wink:
Ну да, после того как вы туда впихнете CLR, для прикладного ПО мало что останется  :lol:
Название: На чем пишется софт для КА?
Отправлено: JoJo от 25.11.2009 12:44:10
ЦитироватьПо-любому как ни старайся сложную логику и серьезный матапарат в 2 мегабайта бортового ЗУ не вместишь  :wink:
(http://www.radikal.ru)
Название: На чем пишется софт для КА?
Отправлено: MikeP от 25.11.2009 06:09:50
ЦитироватьПо-любому как ни старайся сложную логику и серьезный матапарат в 2 мегабайта бортового ЗУ не вместишь  :wink:

А как Вам система управления воздушным движением авиаполка на Аргоне-10М? Не серьезно?
32К команд.

А на двух Аргонах-15А тоже по 32К каждый КДП "Бурана"?
Название: На чем пишется софт для КА?
Отправлено: jettero от 25.11.2009 14:39:29
Цитировать
Цитироватьэта задача можно сказать классическая, давно изученная. Я даже нашел книжку Токаря за 78 год с формулами управления гиродинами.
А гравитация "давно изученна" Галилеем. Ньютону и Энштейну уже ничего не осталось.

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

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

Я же привел пример с машиной состояний – там вообще нет обычной памяти и процессора и "программа" элементарнейшая. Но это же не значит, что вы за минуты, на коленке, сможете найти все нужные решения для всех состояний, чтобы их записать в машину состояний – "запрограммировать". Сначала надо будет решить задачи вычислительной математики, это может быть сложно и долго – да, но эта сложность не относится непосредственно к программированию и этой сложности не будет в итоговой "программе" – в машине состояний объем "кода" может быть и порядка десяток-сотен байт.
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 25.11.2009 20:58:52
ЦитироватьИ я не говорил, что это "несерьезная работа"
Вы согласились с тем, что в ПО КА нет " серьезной работы для программиста-математика".

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

Цитироватьа теперь сравните с объемом кода в современной ОС
Любая работа занимает все отведенные под нее ресурсы. Кто-то говорит - "Заговор!", а я говорю - "Фундаментальный закон природы!"

ЦитироватьЯ же привел пример с машиной состояний
Я деликатно промолчал, но если Вы настаиваете...

Посчитаем количество состояний в предложенной мной задаче. Для плоскости "крен-курс" имеем два угла, две проекции угловой скорости, две проекции накопленного кин. момента - 6 скаляров. Это минимум. Для простоты примем, что для каждого ткущего состояния нет влияния прошлых состояний. Ограничимся очень скромными двумя десятичными разрядами для каждого скаляра. Получаем количество состояний равным 10 в 12-й степени.
Цитироватьв машине состояний будут уже готовые решения на все случаи"
Ага, миллион миллионов готовых решений.
Название: На чем пишется софт для КА?
Отправлено: TAU от 26.11.2009 09:29:38
ЦитироватьПосчитаем количество состояний в предложенной мной задаче. Для плоскости "крен-курс" имеем два угла, две проекции угловой скорости, две проекции накопленного кин. момента - 6 скаляров. Это минимум. Для простоты примем, что для каждого ткущего состояния нет влияния прошлых состояний. Ограничимся очень скромными двумя десятичными разрядами для каждого скаляра. Получаем количество состояний равным 10 в 12-й степени
Неплохой пример. Можно еще пример "на пальцах" привести. Представим борт, имеющий ну так 50 различных приборов, подсистем и агрегатов. И каждый, допустим, формирует всего одну логическую переменную - нормальная/ненормальная работоспособность. Вариантиков сразу сколько теоретически возможных будет? 2 в 50 степени? А как вам кажется, это большое число, или маленькое?

Ну и теперь добавим время - поясню для jettero, что я имел в виду.

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

А поскольку логика управления КА сложная - то есть программа должна по-разному обрабатывать одни и те же значения переменных состояния в разные моменты времени - заявления jettero о "простоте" или "примитивности" вызваны всего лишь некомпетентностью в предметной области, помноженной на излишнюю самоуверенность.
Название: На чем пишется софт для КА?
Отправлено: ITop от 26.11.2009 14:22:39
На тему графического представления:

Пытался ли хоть один Web-программист отладить программу, которую нельзя остановить, потому что она уже управляет множеством непрерывных процессов ? Как отладить работу системы управления без объекта управления ? - писать эмулятор объекта, его матмодель и т.п. Удовольствие не из дешёвых.

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

Касательно сложности программ управления:

В реальности, когда пишешь код управления на кусок кода из 20-30 битовых команд может уйти и час и два часа и потом ещё сколько времени на отладку. А устройств, датчиков - сотни и тысячи. А ещё есть электросхемы, циклограммы, диагностическая часть.

Я писал и обычные приложения, по типу офисных программ (диагностическая часть для обычного ПК) и программы управления роботизироваными сварочными комплексами. И ответственность в этих случаях просто несравнимая. Единственная ошибка в коде управления модет привести к поломке дорогостоящего оборудования (сотни тысяч евро) или даже к травмам и смерти рабочего персонала.

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

Угробить КА, думаю, нисколько не сложнее чем другое сложное оборудование, только вот возможности починить не будет.
Название: На чем пишется софт для КА?
Отправлено: MikeP от 26.11.2009 08:45:18
Цитироватьотладить программу, которую нельзя остановить, потому что она уже управляет множеством непрерывных процессов ? Как отладить работу системы управления без объекта управления ? - писать эмулятор объекта, его матмодель и т.п. Удовольствие не из дешёвых.

О, да! Все проходили, у всех одно и то же  :)

И модели всех источников информации писали..
Экран, "заваленный" таблицами прерываний, сбоев, динамическим дампом памяти..  
Работа на Байке, когда и ассемблера уже нет, вся "оболочка" технологическая осталась на "большой земле". Есть только нолики и единички в блоках памяти с возможностью подмены с пульта, пока не прошили..

Кто не прошел - тот не поймет  :wink:
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 26.11.2009 15:47:45
ЦитироватьНа тему графического представления:

Пытался ли хоть один Web-программист отладить программу, которую нельзя остановить, потому что она уже управляет множеством непрерывных процессов ?
Конечно пытались, если позволяли временные интервалы, в противном случае отладочная информация пишеться в log-file и потом оцениваеться
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 26.11.2009 15:50:41
ЦитироватьКак отладить работу системы управления без объекта управления ?
Этот вопрос Вы зададите своему руководству, которые из за попила бабла не в состоянии выбить деньги на разработку программных иммуляторов, а в идеале на разработку полноценного стенда. Поэтому и тычите пальцем в небо.
Я даже скажу точнее: попиленные  деньги - это и есть те средства которые должны были идти на разработку всевозможной технологической оснастки
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 26.11.2009 15:56:11
ЦитироватьКасательно сложности программ управления:

В реальности, когда пишешь код управления на кусок кода из 20-30 битовых команд может уйти и час и два часа и потом ещё сколько времени на отладку. А устройств, датчиков - сотни и тысячи. А ещё есть электросхемы, циклограммы, диагностическая часть.

Ну и ??? Не вижу повода для паники. Это и называется не программа, а программные комплексы, которые выполняют множество функций, в том числе и перечисленные Вами
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 26.11.2009 16:07:59
ЦитироватьМаксимум чем грозит ошибка в коде программы отображения  - зависание и перехзагрузка ПК или потеря текущей статистики, если нет подключения к серверу статистики.
Во первых: Причем тут потеря текущей статистики? Программы Регистрации информации независимо пишут данные на сервер, да куда угодно. Зависание программы отображения к потере данных не приводит.
Во вторых: Если говорить про бизнес, то иногда зависание и перезагрузка ПК, а тем паче сервера, может привести к многомиллионным потерям этого бизнеса. В лучшем случае это закончиться увольнением ответственных, в худшем потерей самого бизнеса как такового.

Если Вы загубите КА, каким бы дорогим он не был, то это приведет к разборам полётов на разных уровнях. Придумывание кучи объективных, субъективных отмазок, написание отчетов и т.д. В итоге все живы и здоровы и просят еще у заказчика денег на повторение "эксперимента". Ну прасрали пару миллиардов бюджетных денег, ну и хрен с ними по большому счету. Они и были заложены на это. Пенсии и зарплаты бюджетников не пострадали.

Так что, я бы поаккуратней с "героическими оттенками"
Название: На чем пишется софт для КА?
Отправлено: ITop от 26.11.2009 15:11:21
ЦитироватьКонечно пытались, если позволяли временные интервалы, в противном случае отладочная информация пишеться в log-file и потом оцениваеться

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

И да, лог-файл ещё нужно разгрести и выделить все зависимости (сопоставить с программой и логикой работы объекта управления).

А теперь тупо подсчитаем. Типичный объект управления:

Временные параметры дискретных датчиков и выходных сигналов - скан 40-50мс. Всего 100 датчиков и столько же выходов. Аналоговых - десяток 4х-канальных модулей. Период обновления 20-100мс.

Происходит сбой в работе несколько раз за смену. Нужно найти причину. Объём информации примерно представляем ? Вручную тут никак. Нудно писать обработчик лог-файла.

А у нас всего 2 программиста на 2 смены, две недели на написание шаблона программы и столько же на запуск оборудования. А проблемы там не только у программистов бывают, но и у электриков, монтажников. Детали могут не привезти, часть оборудования на таможне застряло. А работу делать надо :lol:
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 26.11.2009 16:12:34
ЦитироватьУгробить КА
Вы так это говорите, как будто это что то ужасное, наподобие с концом света
Название: На чем пишется софт для КА?
Отправлено: ITop от 26.11.2009 15:16:01
ЦитироватьЭтот вопрос Вы зададите своему руководству, которые из за попила бабла не в состоянии выбить деньги на разработку программных иммуляторов, а в идеале на разработку полноценного стенда. Поэтому и тычите пальцем в небо.
Я даже скажу точнее: попиленные  деньги - это и есть те средства которые должны были идти на разработку всевозможной технологической оснастки

Руководство не заморачивается подобной ерундой, как написание эмуляторов для штучных объектов. Это слишком дорого и долго ждать. Конкуренты сделают дешевле, использовав опытных программистов. Все необходимые стеды обычно есть, но они гораздо проще реальных объектов.
Название: На чем пишется софт для КА?
Отправлено: ITop от 26.11.2009 15:30:55
ЦитироватьВо первых: Причем тут потеря текущей статистики? Программы Регистрации информации независимо пишут данные на сервер, да куда угодно. Зависание программы отображения к потере данных не приводит.

Есть куча производств, где на оборудовании нет никакого сервера статистики вообще и даже обычного ПК нет. Стоит панелька с тачскрином на ВинЦЕ. Ну не готов заказчик платить лишнее бабло за это. Причём это не в России, а в Германии или Японии и фирмы известные.

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

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

ЦитироватьЕсли Вы загубите КА, каким бы дорогим он не был, то это приведет к разборам полётов на разных уровнях. Придумывание кучи объективных, субъективных отмазок, написание отчетов и т.д. В итоге все живы и здоровы и просят еще у заказчика денег на повторение "эксперимента". Ну прасрали пару миллиардов бюджетных денег, ну и хрен с ними по большому счету. Они и были заложены на это. Пенсии и зарплаты бюджетников не пострадали.

Так что, я бы поаккуратней с "героическими оттенками"

Если из-за досадной ошибки кого-то просрана работа всего коллектива за несколько лет, то хреново ему будет даже если не учитывать материальные затраты. Даже если никто не узнает виновного. Обидно будет очень.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 26.11.2009 16:32:55
ЦитироватьКак хорошо, когда всю информацию можно записать в лог-файл. Но по факту такое редко бывает - слишком дорого ставить столько датчиков и обеспечивать их работу.
При обсуждении сложности разработки КА, слово "дорого" вообще не уместно. Да это очень дорогая штука, и что? В 2006 году с Байконура запускали франзузский КА Метоп, так вот он стоит 800 млн. евро
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 26.11.2009 16:55:17
Цитировать
ЦитироватьЯ даже скажу точнее: попиленные  деньги - это и есть те средства которые должны были идти на разработку всевозможной технологической оснастки
Руководство не заморачивается подобной ерундой, как написание эмуляторов для штучных объектов
Что Вы говорите!!! И Вы считаете это правильным? Я это прекрасно знаю. Разработка ПО для КА в десятки раз затрудняется из за отсутствия полноценных средств отладки и всё это по причине, что Руководство не заморачивается подобной ерундой,
Название: На чем пишется софт для КА?
Отправлено: ITop от 26.11.2009 16:34:21
ЦитироватьЧто Вы говорите!!! И Вы считаете это правильным? Я это прекрасно знаю. Разработка ПО для КА в десятки раз затрудняется из за отсутствия полноценных средств отладки и всё это по причине, что Руководство не заморачивается подобной ерундой,

Во первых, я говорил не про КА. Полноценные средства отладки могут стоить как весь остальной проект. В случае с КА они могут быть разработаны с учётом стоимости КА.

А если бюджет проекта не позволяет выделить бабки на эти средства ?

В производстве же (не взрывооопасном) заказчик не готов платить в 2 раза больше за ваши проблемы с отладкой. А вы не будете готовы работать себе в убыток. Тут всё просто. И руководство, потратившееся на средства отладки приведёт фирму к развалу.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 26.11.2009 17:52:06
ЦитироватьПолноценные средства отладки могут стоить как весь остальной проект. В случае с КА они могут быть разработаны с учётом стоимости КА.

А если бюджет проекта не позволяет выделить бабки на эти средства ?

В производстве же (не взрывооопасном) заказчик не готов платить в 2 раза больше за ваши проблемы с отладкой. А вы не будете готовы работать себе в убыток. Тут всё просто. И руководство, потратившееся на средства отладки приведёт фирму к развалу.
Вы наверняка программист отличный, а вот со знаниями того как происходит финансирование и формирование бюджета проекта в отрасли совсем плохо. Закладывание средств отладки даже в гостах прописаны, регламентирующих проведение ОКР. И имеют полное право быть заложены в бюджет проекта. Далее могу рассказывать до бесконечности, но мы уедем от темы. Просто простой пример: У НПО А есть полноценный стенд СУ для РН Союз-2. Он тоже не хило стоил
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 27.11.2009 12:14:07
ЦитироватьЕсли из-за досадной ошибки кого-то просрана работа всего коллектива за несколько лет, то хреново ему будет даже если не учитывать материальные затраты
Пример можно?
 Хреново ему будет, если у него из за переживаний давление подымиться и он в обморок упадет, а кому то может и вообще будет пофигу

ЦитироватьОбидно будет очень.

Плачу вместе с Вами
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 27.11.2009 12:22:00
Цитировать
ЦитироватьВо вторых: Если говорить про бизнес, то иногда зависание и перезагрузка ПК, а тем паче сервера, может привести к многомиллионным потерям этого бизнеса. В лучшем случае это закончиться увольнением ответственных, в худшем потерей самого бизнеса как такового.

Простые смертные веб-кодеры такими вещами не занимаются. Подобные проекты в России пересчитвыаются на пальцах одной руки, а сами программеры известны поимённо.
Вы может и удивитесь, но ВСЕ веб-кодеры смертны  :wink:
Проектов полно: Банковские системы, платежные системы .....
Если у платежной системы, к примеру КиберПлат, зависнет сервер, то они просрут парочку миллионов платежей.
Название: На чем пишется софт для КА?
Отправлено: ntil от 27.11.2009 16:59:01
Если у платежной системы зависнет сервер - ничего не случится мегастрашного (ну ктото недополучит премии). "алгоритм" транзанкций такой, что потеря  этих транзануций невозможна. будет ретрай на другой сервер или отлуп в крайнем случае. Банкомат если повиснет - тожесамое. просто не пройдет транзанкция. возможно карточку сжует.
Страшно если повиснут все сервера сразу. или например их какоето критическое количество.
Как аналогия с протоколом ТСР - _незаметная_ потеря данных маловероятна. при грамотном использовании этого самого протокола протоколами верхнего уровня.
Название: На чем пишется софт для КА?
Отправлено: TAU от 27.11.2009 21:49:19
ЦитироватьПО для КА в десятки раз затрудняется из за отсутствия полноценных средств отладки
Откуда, собственно, такие мысли - что средств отладки нет?

Есть, даже очень продвинутые иногда.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 30.11.2009 08:01:31
ЦитироватьЕсли у платежной системы зависнет сервер - ничего не случится мегастрашного (ну ктото недополучит премии). "алгоритм" транзанкций такой, что потеря  этих транзануций невозможна. будет ретрай на другой сервер или отлуп в крайнем случае. Банкомат если повиснет - тожесамое. просто не пройдет транзанкция. возможно карточку сжует.
Страшно если повиснут все сервера сразу. или например их какоето критическое количество.
Как аналогия с протоколом ТСР - _незаметная_ потеря данных маловероятна. при грамотном использовании этого самого протокола протоколами верхнего уровня.
Вы ситуацию правильно расписали, но только с технической точки зрения. А теперь представте эту же ситуацию с экономической точки зрения. Пусть даже и платежи которые "подвисли" в моменте зависания системы и сохранились. Еще как они будут перепроведены, зависит от тонкостей ПС. Плюс, в течении неопределенного времени. Человек подходящий к терминалу видит надпись,типа по техническим причинам прием платежей не возможен. И так на всех 100 тыс. терминалах по всей стране...
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 30.11.2009 08:34:35
Цитировать
ЦитироватьПО для КА в десятки раз затрудняется из за отсутствия полноценных средств отладки
Откуда, собственно, такие мысли - что средств отладки нет?

Есть, даже очень продвинутые иногда.
Если есть, то хорошо. Если нет, то плохо

- Как у Вас с деньгами?
- С деньгами у нас хорошо! Без денег плохо!
Название: На чем пишется софт для КА?
Отправлено: jettero от 01.12.2009 06:19:39
Заработался..., давно не заходил сюда  :)
Вот вычитал недавно, как раз по теме дискуссии
ЦитироватьВедущие программисты Microsoft работают в текстовом редакторе[/size]
За последние 20 лет компания Microsoft сделала как никто много для пропаганды GUI-интерфейсов, а инструменты Visual Basic и Visual Studio кормят миллионов программистов по всему миру. Однако специалисты самой Microsoft зачастую предпочитают кодировать в обычном текстовом редакторе.

Об этом зашла речь на недавней конференции PDC в рамках секции о будущем программирования. «Людям нравится рисовать картинки в программе? Наверное, да, — говорит Дон Бокс (Don Box), который в Microsoft работает на созданием декларативных языков программирования и инструментов. — Но если вы выросли на программировании, как я, вы делаете это в текстовом виде. И мне кажется опасным, что мы теряем это».

«Графические среды программирования удобны, когда бесполезны, и неудобны, когда нужны, — добавил Джеффри Сновер (Jeffrey Snover), ещё один ведущий разработчик Microsoft, создатель PowerShell. — Когда на экране пять вещей, вы можете справиться и текстовыми средствами, но когда там 500 вещей, графический интерфейс мог бы помочь, но он совершенно неюзабелен в этом случае. Вы зуммируете туда и обратно и теряете весь контекст».

Хотя визуальное программирование может быть легче в освоении и помогает увеличить эффективность труда, но оно также «легче вводит вас в заблуждение, — говорит Батлер Лэмпсон (Butler Lampson), технический консультант в Microsoft. — Например, никто никогда не скажет вам, что означает диаграмма UML». Батлер Лэмпсон — обладатель премии Тьюринга 1992 года и соавтор девяти языков программирования.

Джеффри Сновер пошутил, что программирование вышло на такой абстрактный уровень, что скоро писать код можно будет с помощью игрового контроллера для Xbox. Новое поколение таких контроллеров (Project Natal) распознают движения тела, то есть можно просто танцевать перед экраном.

Ещё один гуру программирования Герб Саттер (Herb Sutter), ведущий разработчик языка C++/CLI, предсказывает, что лет через десять программирование в текстовом редакторе снова войдёт в моду, потому что по мере достижения предела производительности «оптимизация снова станет очень привлекательным делом».
Повторяют практически один в один мои тезисы в этой теме, всегда приятно когда самые высокооплачиваемые специалисты разделяют твое мнение :D
Название: На чем пишется софт для КА?
Отправлено: Not от 01.12.2009 19:01:58
Цитироватьвсегда приятно когда самые высокооплачиваемые специалисты разделяют твое мнение :D
А вам не приходила в голову мысль, что размер оплаты работы программиста слабо коррелирует с гениальностью его трудов? Если не сказать - вообще никак. Ваши кумиры из Майкрософт не смогли создать ни одного своего языка, получившего мировое признание. Ни од-но-го. Все что они делают - перепевы и перехваты. А эффективность такой организации как Microsoft Research вообще вызывает здоровый смех в приличном обществе  :D Так что я бы поостерегся гордиться столь сомнительной корреляцией  :wink:
Название: На чем пишется софт для КА?
Отправлено: Not от 01.12.2009 19:04:56
ЦитироватьДжеффри Сновер пошутил, что программирование вышло на такой абстрактный уровень, что скоро писать код можно будет с помощью игрового контроллера для Xbox. Новое поколение таких контроллеров (Project Natal) распознают движения тела, то есть можно просто танцевать перед экраном.
Ага.
Название: На чем пишется софт для КА?
Отправлено: zyxman от 02.12.2009 19:42:23
Спасибо всем за ценную информацию!

Еще уточняющий вопрос: назовите пожалуйста десять КА, в которых тысяча и более датчиков, выдающих не просто пороговую величину, а величину, которую необходимо вводить в уравнение и считать? (скажем, 800 датчиков тоже пойдет)
- Отдельные ячейки ПЗС итп матрицы не считаем датчиками.
- МКС, Буран/Шаттл и РН не называть :lol:

- Да, я вижу необходимость жесткого контроля качества, но это все еще не та сложность, которую я бы сравнил с сложностью работы программиста-математика!
Название: На чем пишется софт для КА?
Отправлено: TAU от 02.12.2009 20:49:33
Цитироватьсложностью работы программиста-математика!
Что имеется в виду?
Название: На чем пишется софт для КА?
Отправлено: zyxman от 03.12.2009 06:33:12
Я реально видел матаппарат некоторых систем управления технологическими процессами на Земле.
Там действительно все по-взрослому, точно как тут описывают сложность программирования для КА - есть сложная матмодель, есть неостанавливаемая работа (очень дорогой повторный пуск после остановки, а иногда невозможна остановка без последующего ремонта), есть даже ограничения по производительности, вынуждающие оптимизировать матмодель а не считать в лоб.

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

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

Кстати насчет тестирования тоже не согласен - ну слишком мало делается спутников совсем уж с нуля, точнее серьезные спутники обычно делаются на уже проверенной платформе.
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 03.12.2009 08:48:43
Цитироватьно это все еще не та сложность, которую я бы сравнил с сложностью работы программиста-математика!
Что по Вашему мнению относится к работе программиста-математика?

А то я тут предложил конкретную задачу, непосредственно относящуюся к ПО КА. А мне в ответ, типа - "Это не  задача для программиста-математика."

Разработка и программирование, например, оптимальных регуляторов  - это работа для программиста-математика?

По моему мнению - конечно,  да. Любой математик, который умеет создавать такие алгоритмы, сумеет их запрограммировать на языке высокого уровня. А абстрактный программист, который не разбирается ни в этой ни в других темах, относящихся к ПО КА, - программист, который умеет программировать только уже готовые алгоритмы, совсем не нужен и даже вреден для создания ПО КА.  Пусть он лучше идет создавать базы данных и уеб-дизайны для мелких лавочников.  Где еще нужны такие программисты?!

ЦитироватьОтдельные ячейки ПЗС итп матрицы не считаем датчиками
Это почему же так? Отдельная ячейка ПЗС-матрицы содержит свою собственную скалярную информацию и ни чем не хуже, чем любой отдельный датчик со скалярным выходом. Или Вы  любое количество однотипных датчиков считаете за один датчик?
Название: На чем пишется софт для КА?
Отправлено: PyKaB от 03.12.2009 13:26:13
Цитировать
Цитироватьно это все еще не та сложность, которую я бы сравнил с сложностью работы программиста-математика!
Что по Вашему мнению относится к работе программиста-математика?

А то я тут предложил конкретную задачу, непосредственно относящуюся к ПО КА. А мне в ответ, типа - "Это не  задача для программиста-математика."

Разработка и программирование, например, оптимальных регуляторов  - это работа для программиста-математика?

По моему мнению - конечно,  да. Любой математик, который умеет создавать такие алгоритмы, сумеет их запрограммировать на языке высокого уровня. А абстрактный программист, который не разбирается ни в этой ни в других темах, относящихся к ПО КА, - программист, который умеет программировать только уже готовые алгоритмы, совсем не нужен и даже вреден для создания ПО КА.  Пусть он лучше идет создавать базы данных и уеб-дизайны для мелких лавочников.  Где еще нужны такие программисты?!

ЦитироватьОтдельные ячейки ПЗС итп матрицы не считаем датчиками
Это почему же так? Отдельная ячейка ПЗС-матрицы содержит свою собственную скалярную информацию и ни чем не хуже, чем любой отдельный датчик со скалярным выходом. Или Вы  любое количество однотипных датчиков считаете за один датчик?
"уеб-дизайны" дизайнеры могут создавать высоконадежные системы обрабатывающие сотни тысяч запросов в день к базам данных объемом сотни гигабайт - рядовая задача. Чего вы все привязались к вэбу? Завидно что быстрее других развивается не смотря на бОльшую сложность? "программисты-математики ПО КА" курят в сторонке когда речь идет об оптимизации или написание надежных и быстрых СУБД, которые должны работать везде и на всем, а не на одном заточенном под них калькуляторе
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 03.12.2009 21:41:41
Эти вэб-дизайнеры создают сложные системы, потому что имеют в распоряжении соответствующие современные технические и программные средства, поэтому, в этом плане им проще. А также не замарачиваются о многих вещах с которыми разработчикам КА приходиться поработать
Название: На чем пишется софт для КА?
Отправлено: Werno от 03.12.2009 22:01:15
Программисты работающие по СУБД должны сделать программу универсальной и гибкой, а программисты разрабатывающие софт для КА должны сжелать его надежным и быстрым.
Софт для КА включает в себя все системное программирование которое можно представить. Это и драйвера для устройств, и матемитика, служебные задачи обмена информацией между устройствами КА.
Это просто две разные области знаний. Нельзя сказать что что-то проще, а что-то легче. Веб-программист использует программирование как знание, а программист софта для КА использует его как вспомогательный инструмент.
Это как машина. Для таксиста она средство зарабатывания денег, он знает все маршруты в городе, он ездиет быстро, пристраивается за сорыми, знает где срезать... Кроме машины ему ничего не надо. А для частника машина это просто средство довести себя в заданную точку. Надежно, с комфортом. Прчем основная цель для него не просто доехать, а еще сделать там кучу других дел и вернуьтся :) В данном случае частник это программист софта для КА, а таксист это Веб-программер. Для одного программирование это главная и едиснтвенная задача, для другово это вторичный инструмент для достижения совсем иных целей.
скажите веб-программисту написать драйвер для устройства - он крепко задумается. И скажите системщику написать веб-приложение - будет тоже самое. :) Так что спор изначально не уместен.
Название: На чем пишется софт для КА?
Отправлено: Дем от 03.12.2009 23:52:42
ЦитироватьСофт для КА включает в себя все системное программирование которое можно представить. Это и драйвера для устройств, и матемитика, служебные задачи обмена информацией между устройствами КА.
так основной и логично возникающий вопрос тут - а не является ли это во многом изобретением велосипеда?
Нельзя ли просто взять готовые протоколы обмена и драйвера, благо их наработано много?
Название: На чем пишется софт для КА?
Отправлено: ДмитрийК от 04.12.2009 09:49:27
ЦитироватьРазработка и программирование, например, оптимальных регуляторов  - это работа для программиста-математика?

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

Конечно разрабатывать/отлаживать алгоритм и код может один и тот же человек, но это два разных вида деятельности, и их лучше не смешивать. И вообще между этими этапами должен быть втиснут документ. Я делал и то и другое попеременно, бывало так что "шляпу менять" приходилось по нескольку раз, напр: Кодируем/оптимизируем алгоритм, пытаемся утоптать некую структуру в 128 бит (так нужно). Нэлэзэт. Меняем шляпу, исследуем а сколько значащих бит нам реально нужно до и после запятой. Строим мат. модель, ставим эксперименты, чертим в экселе графики. Меняем шляпу обратно, продолжаем кодировать.

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

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

А вообще пишут на банальном C только с кучей драконовских самоограничений. Есть несколько стандартов типа "MISRA C", "Japanese Automotive C" итп.
http://en.wikipedia.org/wiki/MISRA_C
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 04.12.2009 09:58:17
Цитироватьдизайнеры могут создавать высоконадежные системы обрабатывающие сотни тысяч запросов в день к базам данных объемом сотни гигабайт...
надежных и быстрых СУБД, которые должны работать везде и на всем, а не на одном заточенном под них калькуляторе
Конечно, Web-дизайн и CУБД могут быть очень сложными. Поэтому я там специально уточнил - "Для мелких лавочников". Я занимался такими делами, поэтому знаю, о чем говорю.

На всяких случай сообщаю, что мелких лавочников я тоже обидеть не хотел. Бизнес как бизнес.
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 04.12.2009 10:08:52
ЦитироватьКонечно разрабатывать/отлаживать алгоритм и код может один и тот же человек, но это два разных вида деятельности, и их лучше не смешивать.
Один человек - одна зарплата и нет вопросов, кто виноват, если что-то не так.
Два человека - две зарплаты и нужно разбираться, кто из них сделал ошибку.

Цитироватьсможет ли он это сделать быстрее и лучше чем профессионал, который хорошо владеет контекстом (железо и софт) в котором сей алгоритм будет вариться.
Железо развивается так, что профессиональное владение им и софтом для уже давно становится не актуальным (для прикладных программ). Ну будет код в три раза объемней и/или медленней. Ну и ладно, никому не мешает. Перешли же с ассемблера на языки высокого уровня.
Название: На чем пишется софт для КА?
Отправлено: ДмитрийК от 04.12.2009 10:41:37
Цитировать
ЦитироватьСофт для КА включает в себя все системное программирование которое можно представить. Это и драйвера для устройств, и матемитика, служебные задачи обмена информацией между устройствами КА.
так основной и логично возникающий вопрос тут - а не является ли это во многом изобретением велосипеда?
Нельзя ли просто взять готовые протоколы обмена и драйвера, благо их наработано много?
Основную часть времени занимает не кодирование, а тестирование и всякого рода бюрократия до и после. Использование чужого готового кода эту работу увы не уменьшает а наоборот увеличивает. Например одно из требований - 100% покрытие кода тестами. Если в готовом продукте есть функции или фрагменты кода которые в твоем случае не вызываются - пофиг, либо придумывай (утверждай, согласовывай) для них тест-план, либо выкидывай, просто так оставить их нельзя (и в этом есть свой резон - первый Ариан-5 напр). Фактически получается что "ты в ответе за того кого приручил". А оно тебе это надо?
Название: На чем пишется софт для КА?
Отправлено: Дем от 05.12.2009 19:37:43
ЦитироватьОдин человек - одна зарплата и нет вопросов, кто виноват, если что-то не так.
Два человека - две зарплаты и нужно разбираться, кто из них сделал ошибку.
Но ведь задача, всё-таки - ошибки не сделать. А свои ошибки человек как правило очень хреново видит

ЦитироватьЕсли в готовом продукте есть функции или фрагменты кода которые в твоем случае не вызываются - пофиг, либо придумывай (утверждай, согласовывай) для них тест-план, либо выкидывай
Это да. Но ведь оптимизирующие компиляторы давно придуманы - если на данную функцию нет ссылки, она в продукт не попадёт.
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 06.12.2009 10:55:42
ЦитироватьНо ведь задача, всё-таки - ошибки не сделать.
Это невыполнимая задача (и не только в программировании). Ошибки неизбежны. Их нужно уметь обнаруживать и исправлять.

ЦитироватьА свои ошибки человек как правило очень хреново видит.
Это так, но программист не улучшит зрения математика. Может ухудшить, потому что математик будет думать, что ошибку сделал программист и не будет стараться искать свою ошибку. А программист будет думать, что ошибку сделал математик. И вообще, как говорится - "у семи нянек дитя без глазу".

Если алгоритм и программу создал один и тот же человек, то ему не на кого перекладывать ответственность за ее работу, поэтому ему придется находить свои ошибки.
Название: На чем пишется софт для КА?
Отправлено: ДмитрийК от 07.12.2009 08:21:35
Цитировать
ЦитироватьЕсли в готовом продукте есть функции или фрагменты кода которые в твоем случае не вызываются - пофиг, либо придумывай (утверждай, согласовывай) для них тест-план, либо выкидывай
Это да. Но ведь оптимизирующие компиляторы давно придуманы - если на данную функцию нет ссылки, она в продукт не попадёт.
Я специально упомянул о фрагментах кода. Например if который никогда не срабатывает или неиспользуемый case в операторе switch. Важно что есть исходный код не покрытый тестами. А значит неизвестно что он может натворить если на него попадет управление. А что оно туда никак не попадет - это еще доказать надо, теорему Тьюринга никто не отменял.
Пример из жизни, называется как правильно подкладывать грабли: Некий протокол обмена с устройством на базе ASCII, половина чисел в 10ой системе, половина в 16ой с префиксом 0x. Лень разбираться где что и как, везде использую библиотечную функцию strtol(), все работает. Но вот только эта сцу^H^H^H функция еще и 8ую систему понимает. Т.е. 0100 интерпретируется как 64. Но в документации на протокол это не отражено! Там вообще синтаксис для целых чисел дан весьма расплывчато, подразумевается что все и так всё понимают. А править и утверждать ради этого новую версию (с переводом на японский и обратно) - оно того не стоит, не ракету делаем в конце концов :)
Название: На чем пишется софт для КА?
Отправлено: ДмитрийК от 07.12.2009 09:51:20
ЦитироватьЖелезо развивается так, что профессиональное владение им и софтом для уже давно становится не актуальным (для прикладных программ). Ну будет код в три раза объемней и/или медленней. Ну и ладно, никому не мешает. Перешли же с ассемблера на языки высокого уровня.
Я эту мантру слышу уже много лет. Во многих случаях так и есть. Но не во всех.
Наверное мне повезло, я работаю в уникальном месте, вот только мы 2 месяца потратили чтобы выжать лишние 10-15% (и оно того стоило). И то что происходит у процессора на шине во время критического цикла я наблюдал с большим интересом. При этом мы не луддиты, все написано на нормальном Ц, на ассемблере только отдельные команды которые компилятор не знает, и те аккуратно обернутые в inline-функции. Основная оптимизация как раз происходит на этапе перевода алгоритма в код. Разумеется следующая версия должна работать быстрее и на более дешевом железе :)
А в другом проекте мне пришлось по-бырому изучить/вспомнить SSE2/3/4 - тоже о чем-то говорит.

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

Цитироватьматематик будет думать, что ошибку сделал программист и не будет стараться искать свою ошибку. А программист будет думать, что ошибку сделал математик.
Кроме "кто виноват" еще важно "почему" и "на каком этапе". Для этого между двумя этапами должен быть документ -  разжеванный алгоритм на псевдокоде (бейсике, питоне итд). Наличие сего документа сильно упрощает жизнь и тому и другому.
Название: На чем пишется софт для КА?
Отправлено: PyKaB от 07.12.2009 20:56:14
ЦитироватьПрограммисты работающие по СУБД должны сделать программу универсальной и гибкой

Это кто Вам сказал? Нагрузки на СУБД очень большие. Я бы даже сказал, что нагрузки на СУБД являются определяющими для highload проектов со всеми вытекающими. Вы все еще думаете не так? Спросите у гугла зачем он разрабатывает себе собственную СУБД. Мне кажется надежность все системы гугла переплюнет любые КА и их СУБД в том числе или Вы видели неработающий google.com?
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 07.12.2009 21:11:05
ЦитироватьМне кажется надежность все системы гугла переплюнет любые КА и их СУБД в том числе или Вы видели неработающий google.com?
Всё верно. А всё почему? Гугл денги зарабатывает, а предприятия на которых разрабатывают софт для КА деньги осваивают. Почувствуйте разницу
Название: На чем пишется софт для КА?
Отправлено: Not от 08.12.2009 08:59:03
ЦитироватьМне кажется надежность все системы гугла переплюнет любые КА и их СУБД в том числе или Вы видели неработающий google.com?
Гугл, находящий не то, что мне нужно я вижу регулярно. Что для меня равносильно неработоспособности. Кроме того, не  так давно отказала почтовая служба gmail и не работала около суток.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 07.12.2009 23:07:25
ЦитироватьГугл, находящий не то, что мне нужно я вижу регулярно. Что для меня равносильно неработоспособности
ИМХО, Извиняюсь, Вы немного привиредничаете, это всеравно что сказать про снимки допустим messangera, это не совсем то что я ожидал, чисто с позиции обывателя :wink:
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 08.12.2009 07:41:13
ЦитироватьИ это другое - ограничения по памяти и по времени, форматы представления данных, используемые библиотеки, обработка ошибок и переполнений, синхронизация
Все это математик обязан знать и учитывать на этапе разработки алгоритма, независимо от того, кто его будет программировать. Но кроме этого, математик должен знать характерики используемых приборов; разнообразные ограничения, относящиеся к КА; особенности других алгоритмов, с которыми взаимодействует его алгоритм; и т.д. и т.п. Плюс, естественно, много математики. И физика может потребоваться.

То, что относится к компьютеру и программировамию - это маленькая и относительно простая часть знаний и умений, которые требуются для создания ПО КА. Потому что любой компьютер - это по сути калькулятор.  Нужно знать назначение "кнопок" (команд, операторов, библиотек и пр.) и аккуратно на них "нажимать". Вот и все. В нормальной программе на нормально работающен компьютере "4" - это всегда "4". А в нормально работающих приборах "4" вполне может быть "5", а с некоторой вероятностью и "10".
(Я не рассматриваю проблему сбоев компьютера, обычные программисты ей обычно не занимаются. )    

ЦитироватьДля этого между двумя этапами должен быть документ -  разжеванный алгоритм на псевдокоде (бейсике, питоне итд). Наличие сего документа сильно упрощает жизнь и тому и другому.
Если есть лишние деньги и время, то так можно делать, чтобы упростить жизнь программисту. (Дать ему легкую работу вместо того, чтобы уволить за ненадобностью.) Однако, по моему мнению, использование Бейсика как промежуточного языка для написания программы на языке Си - это далеко за пределами разумного.
Название: На чем пишется софт для КА?
Отправлено: ДмитрийК от 09.12.2009 06:19:26
Цитировать
ЦитироватьИ это другое - ограничения по памяти и по времени, форматы представления данных, используемые библиотеки, обработка ошибок и переполнений, синхронизация
Все это математик обязан знать и учитывать на этапе разработки алгоритма, независимо от того, кто его будет программировать. Но кроме этого, математик должен знать характерики используемых приборов; разнообразные ограничения, относящиеся к КА; особенности других алгоритмов, с которыми взаимодействует его алгоритм; и т.д. и т.п. Плюс, естественно, много математики. И физика может потребоваться.
Ну не обязан один и тот же человек одинакого хорошо разбираться в фильтрах Калмана или там алгебре кватернионов и одновременно в прогаммировании контроллера MIL-STD-1153B и примитивах синхронизации в RTEMS или QNX. Может, но не обязан. И тем более нельзя мешать это в одну кучу.

Цитировать
ЦитироватьДля этого между двумя этапами должен быть документ -  разжеванный алгоритм на псевдокоде (бейсике, питоне итд). Наличие сего документа сильно упрощает жизнь и тому и другому.
Если есть лишние деньги и время, то так можно делать, чтобы упростить жизнь программисту. (Дать ему легкую работу вместо того, чтобы уволить за ненадобностью.)
Странные у вас понятия. А о том что продукт надо сопровождать вы в курсе? А то что люди увольняются а на их место приходят другие?

Угу, вот сейчас мы передаем заказчику продукт (под ёлочку :) ) вместе со всей КД, отдали все что было, так они сцу^H^H^H  специально требуют именно такой документ. В дизайне написано "затем находим вершину параболы проходящей через данные 3 точки", ясен перец любой дурак^W программист сможет это ур-е написать и решить. Нет, нужны именно формулы по которым непосредственно производятся вычисления. И я их понимаю. Если б на меня внезапно свалилось столько чужого кода, подобный документ очень бы пригодился.
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 09.12.2009 08:15:39
ЦитироватьНу не обязан один и тот же человек одинакого хорошо разбираться в фильтрах Калмана или там алгебре кватернионов и одновременно в прогаммировании контроллера MIL-STD-1153B и примитивах синхронизации в RTEMS или QNX. Может, но не обязан. И тем более нельзя мешать это в одну кучу.
Конечно, не обязан. Это очень разные темы. Но какое отношение это имеет к нашему с Вами обсуждению програмирования оптимальных регуляторов на языке высокого уровня?

Возможно мы с Вами по разному понимаем, что такое  "оптимальный регулятор". Вот ссылка на Википедию про один из типов оптимальных регуляторов в моем понимании этого термина.
http://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE-%D0%BA%D0%B2%D0%B0%D0%B4%D1%80%D0%B0%D1%82%D0%B8%D1%87%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80
Очевидно, что программирование таких оптимальных регуляторов не имеет никакого отношения к программированию контроллеров и ОС.

ЦитироватьСтранные у вас понятия. А о том что продукт надо сопровождать вы в курсе? А то что люди увольняются а на их место приходят другие?
По моим "странным" понятиям, для сопровождения требуется один человек (программист-математик), а по Вашим - два (программист и математик). В Вашем случае проблемы наступают, если уволится хотя бы один из двух. Вероятность этого события выше, чен вероятность увольнения одного в моем случае.

Цитироватьспециально требуют именно такой документ
Если заказчик требует, то нужно создать такой документ. Нет смысла ссорится с заказчиком из-за ерунды. Но какое это иммет отношение к тому, кто и как создает и программирует алгоритмы?
Название: На чем пишется софт для КА?
Отправлено: Not от 09.12.2009 19:41:35
ЦитироватьТо, что относится к компьютеру и программировамию - это маленькая и относительно простая часть знаний и умений, которые требуются для создания ПО КА. Потому что любой компьютер - это по сути калькулятор.  Нужно знать назначение "кнопок" (команд, операторов, библиотек и пр.) и аккуратно на них "нажимать". Вот и все. В нормальной программе на нормально работающен компьютере "4" - это всегда "4". А в нормально работающих приборах "4" вполне может быть "5", а с некоторой вероятностью и "10".
(Я не рассматриваю проблему сбоев компьютера, обычные программисты ей обычно не занимаются. )
Мне кажется вы несколько упрощаете задачу программиста. Программист - это инженер. Математик - это ученый. Программист КА - специалист высокой квалификации, умеющий применять формальные методы в процессе создания высоконадежного ПО и в то же время владеющий технологией создания ПО, т.е. уметь работать в технологической цепочке проекта, включающей в себя работу с деревом версий, сопровождение и т.д.

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

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

Таким образом, в идеале должны быть как минимум два специалиста - математик и программист. Ну а в реальности бывает и иначе  :D
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 09.12.2009 10:46:37
ЦитироватьМатематик - это ученый.
Математики бывают разные. Я писал о математиках  - инженерах.

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

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

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

ЦитироватьТаким образом, в идеале должны быть как минимум два специалиста.
Такой идеал будет дорогим и медленным.
Название: На чем пишется софт для КА?
Отправлено: zyxman от 10.12.2009 23:44:04
Цитировать
Цитироватьно это все еще не та сложность, которую я бы сравнил с сложностью работы программиста-математика!
Что по Вашему мнению относится к работе программиста-математика?

А то я тут предложил конкретную задачу, непосредственно относящуюся к ПО КА. А мне в ответ, типа - "Это не  задача для программиста-математика."

Разработка и программирование, например, оптимальных регуляторов  - это работа для программиста-математика?

По моему мнению - конечно,  да. Любой математик, который умеет создавать такие алгоритмы, сумеет их запрограммировать на языке высокого уровня. А абстрактный программист, который не разбирается ни в этой ни в других темах, относящихся к ПО КА, - программист, который умеет программировать только уже готовые алгоритмы, совсем не нужен и даже вреден для создания ПО КА.  Пусть он лучше идет создавать базы данных и уеб-дизайны для мелких лавочников.  Где еще нужны такие программисты?!

Это вы уже путаете с программистом-кодером, который действительно знает "только свои кнопки", зато он знает их очень хорошо.

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

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

Средний уровень Веба конечно намного ниже - там более всего котируются художники (именно в прямом смысле, люди имеющие навыки создания красивой картинки), способные хотя-бы правильно использовать уже готовые библиотеки кода.
А вот скажем телекоммуникации, оперативная обработка финансовой (и военной) информации, программирование компьютерных игр (и особенно разработка компьютерных тренажеров) - дадут задаче оптимальных регуляторов огромную фору.

Цитировать
ЦитироватьОтдельные ячейки ПЗС итп матрицы не считаем датчиками
Это почему же так? Отдельная ячейка ПЗС-матрицы содержит свою собственную скалярную информацию и ни чем не хуже, чем любой отдельный датчик со скалярным выходом. Или Вы  любое количество однотипных датчиков считаете за один датчик?
Потому что я вам в ответ покажу обычную сетевую охранную камеру, у которой в ПЗС матрице миллион ячеек и достаточно нетривиальные алгоритмы обработки, и все это в промышленном исполнении, с жесткими требованиями по потреблению и по надежности.
Название: На чем пишется софт для КА?
Отправлено: Alexc от 11.12.2009 16:20:54
Цитировать
ЦитироватьМне кажется надежность все системы гугла переплюнет любые КА и их СУБД в том числе или Вы видели неработающий google.com?
Всё верно. А всё почему? Гугл денги зарабатывает, а предприятия на которых разрабатывают софт для КА деньги осваивают. Почувствуйте разницу

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

Вопрос надежности единичных образцов так не решить. А то-
Запускаем много много спутников, и держим пару запасных на старте. Как только какой выщел из строя - пускаем новый   :D  :D  :D
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 11.12.2009 08:10:27
ЦитироватьЭто вы уже путаете с программистом-кодером, который действительно знает "только свои кнопки", зато он знает их очень хорошо..
Я не путаю программиста-кодера с программистом-кодером. Если внимательно прочитать сообщения в этой теме, то нетрудно заметить, что я именно так и назвал такого программиста  -  кодером.
 
ЦитироватьА программист-математик именно тем и отличается, что он знает и алгоритмы и также математику, как эти алгоритмы выводятся, и соответственно может взять какую-то достаточно редкую задачу (которая еще не имеет решения в виде готового блока), формализовать эту задачу и перевести в алгоритмы оптимизируя ее либо под использование памяти, либо под мегагерцы, либо еще под какие-то требования, либо под целый комплекс ограничений..
Если внимательно прочитать сообщения в этой теме, то нетрудно заметить, что я именно так и называл такого программиста-математика  -  программистом-математиком.

ЦитироватьС этой точки зрения ваша задача "Разработка и программирование, например, оптимальных регуляторов" это почти чистый кодинг, потому что она уже была решена несчетное число раз и достаточно кодеру иметь N соответствующих книг, чтобы реализовать этот алгоритм, даже не зная толком математику.
Если действительно прочитать эти N книг, то нетрудно заметить, что во многих из них описываются общие методы для "сферического коня в вакууме". В остальных рассматриваются конкретные задачи, всегда очень далекие от нужной. После прочтения этих книг также станет понятным, почему эту задачу уже решали бесчисленное количество раз и дальше будут решать.

Но предположим, что удалось найти книгу про оптимальный регулятор для решения задачи, которую я предлагал на стр. 39 этой темы. Вот ссылка (3.3 Мб) :
http://dspace.mit.edu/bitstream/handle/1721.1/3208/P-1985-22200134.pdf;jsessionid=A6E93AE3825EAE6175F9E74BA80D8A08?sequence=1
Это уже не для "сферического" и не "в вакууме", но все равно еще далеко не конечный алгоритм, а только начальное приближение к нему, Тем не менее, смогли бы Вы запрограммировать метод, описанный в этой ссылке, не змая "толком" математики?

ЦитироватьПотому что я вам в ответ покажу обычную сетевую охранную камеру, у которой в ПЗС матрице миллион ячеек и достаточно нетривиальные алгоритмы обработки, и все это в промышленном исполнении, с жесткими требованиями по потреблению и по надежности.
Не понял. Вы говорите, что ячейка ПЗС матрицы не является датчиком со скалярным выходом, потому что ПЗС матрицы выпускаются в промышленном исполнении? Так?
Название: На чем пишется софт для КА?
Отправлено: ДмитрийК от 13.12.2009 16:36:48
Уважаемый Далекий Гость, не очень понятно к чему вы клоните.
Я совершенно согласен, что разработка напр. оптимальных регуляторов - задача нетривиальная. Вопрос что является результатом такой активности. На мой взгляд результатом этого этапа работы является набор конкретных формул с конкретными цифрами в виде пригодном для программирования, а превращение этих формул в рабочий код - отдельная задача, по-своему сложная и ответственная и с предыдущей имеющая очень мало общего. Вы же похоже считаете что настоящим результатом является только код который идет непосредственно в продукт, а формулы расчета - это так, несущественный промежуточный этап, при этом процесс превращения сих формул в код для целевого железа - не стоит выеденного яйца, так? Это мне как-то даже  сложно представить. Все равно эти формулы должны быть в наличии перед тем как начинать писать на Си, на клочке бумажки ли, в "математике", в матлабе, на бейсике, да хоть в голове - неважно.   А как же быть человеку которому придется потом этот код править? Каждый раз повторять заново все шаги вывода чтобы понять откуда взялся тот или иной магический коэффициент?

А знаете на что уходит больше всего времени? На "code review", а именно сидят 5 человек и отчаянно борются со сном а 6-ой монотонно вещает: в строчках 789-792 мы вычисляем значение alpha2 согласно формуле пп. 13.24.1.5 детальной спецификации расчета... В этот момент раздается шорох - каждый роется в 5-сантиметровой стопке бумаги, достает нужный документ, тупо смотрит на формулу, потом в код. И т.д. до потери пульса.Так что вашему супер-дупер математику-программисту на 3-ей строчке бы сказали -"А это здесь у вас выражение X^2/2 откуда взялось, из какого параграфа это следует? Непорядок!" И привет - пошел писать "Дополнение Е5 к спецификации АБВГД о методике расчета...". А потом опять собирать комиссию чтобы его по параграфам разжевать и утвердить.  Потому как  каждая строчка кода и каждый параграф документа должен быть обсужден и принят комиссией. Подается это под соусом гарантии качества, на самом деле служит целью прикрытия коллективной #опы. Об эффективности пр-ва и речи не идет. Разумеется когда срок сдачи начинает приближаться а еще ничего ни хрена не сделано, то народ начинает на бюрократию класть и писать код как все нормальные люди, и только поэтому что-то вообще получается сдать, но это уже исключение а не правило :) Я не придумываю, я сам в подобном участвовал (пока не сбежал). Компания кстати весьма известная в области войны и аэро-спейс.
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 13.12.2009 22:37:39
ЦитироватьУважаемый Далекий Гость, не очень понятно к чему вы клоните.
Я "клоню" к следующему. Использование  одного человека, программиста-математика, для создания ПО (разработка алгоритма и его программирование) эффективнее и надежнее, чем использование двух человек, математика и программиста-кодера.  

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

Цитироватьпревращение этих формул в рабочий код - отдельная задача, по-своему сложная и ответственная и с предыдущей имеющая очень мало общего.
Это миф (для программирования на языках высокого уровня), который придумали и распространяют программисты-кодеры,  чтобы не остаться без работы.

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

ЦитироватьВсе равно эти формулы должны быть в наличии
Если должны быть (для себя, заказчика, начальника, отчетности, научных журналов) - значит будут. Программист-кодер для этого совершенно не нужен.

ЦитироватьА как же быть человеку которому придется потом этот код править? Каждый раз повторять заново все шаги вывода чтобы понять откуда взялся тот или иной магический коэффициент?
Для таких описаниий ПО, программист-кодер тоже не нужен. Он и не может ничего написать, для него все коеффициенты - "магические".
Название: На чем пишется софт для КА?
Отправлено: Дем от 13.12.2009 23:10:06
ЦитироватьЯ "клоню" к следующему. Использование  одного человека, программиста-математика, для создания ПО (разработка алгоритма и его программирование) эффективнее и надежнее, чем использование двух человек, математика и программиста-кодера.
Разумеется. Но где же такого найти? Как правило математики - очень хреновые программисты.
Так что пусть он программит свои формулы, а всю обвязку делает профессиональный программист.
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 13.12.2009 23:25:24
ЦитироватьКак правило математики - очень хреновые программисты.
У меня другой опыт. Хороший математик-инженер - как правило, хороший программист.
Название: На чем пишется софт для КА?
Отправлено: Not от 14.12.2009 09:36:02
Цитировать
ЦитироватьКак правило математики - очень хреновые программисты.
У меня другой опыт. Хороший математик-инженер - как правило, хороший программист.
Странный спор, ей богу. Может ли хороший конструктор одновременно быть хорошим технологом? А клепальщиком тоже может? А наоборот? Так может всех технологов и клепальщиков уволить ?  :D
Название: На чем пишется софт для КА?
Отправлено: Туман Андромедов от 13.12.2009 23:44:47
Цитировать... Может ли хороший конструктор одновременно быть хорошим технологом? ....
Один из главнейших критериев, насколько хорош конструктор - это то, насколько он хороший технолог.
Название: На чем пишется софт для КА?
Отправлено: Frontm от 13.12.2009 23:50:17
Цитировать
Цитировать... Может ли хороший конструктор одновременно быть хорошим технологом? ....
Один из главнейших критериев, насколько хорош конструктор - это то, насколько он хороший технолог.
Видимо Вы мало знакомы с работой ХОРОШЕГО технолога, либо уменьшаете функционал технолога
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 14.12.2009 00:05:35
ЦитироватьСтранный спор, ей богу. Может ли хороший конструктор одновременно быть хорошим технологом? А клепальщиком тоже может? А наоборот? Так может всех технологов и клепальщиков уволить ?
Странные аналогии. Программирование - часть деятельности математика-инженера. При чем тут технологи  и клепальщики?

Более уместная аналогия - это расчетчики. Была такая специальность. Математики давали им наборы арефметических операций, которые нужно посчитать и расчетчики считали их на арифмометрах. Сейчас эта профессия совсем прекратилась. Вычисления на калькуляторах стали обычной деятельностью математиков. С программированием тоже самое.
Название: На чем пишется софт для КА?
Отправлено: ДмитрийК от 14.12.2009 01:19:27
Цитировать
ЦитироватьУважаемый Далекий Гость, не очень понятно к чему вы клоните.
Я "клоню" к следующему. Использование  одного человека, программиста-математика, для создания ПО (разработка алгоритма и его программирование) эффективнее и надежнее, чем использование двух человек, математика и программиста-кодера.
Ну начать с того что ПО о котором идет речь в одиночку не пишется в принципе, обязательно есть команда. И в отличии от "коммерческого" софта, народ проводит бОльшую часть времени проверяя и перепроверяя работу друг друга, поэтому все в курсе кто чем занимается и в принципе все взаимозаменяемы в любой момент (а код получается на удивление лишенный индивидуальности). При наличии соответствующего документа с формулами, кроме этих непосредственно формул никакой связи между этапом разработки алгоритма и его кодированием нет вообще. И кому из команды поручить тот или иной этап - совершенно пофиг.        

Цитировать
ЦитироватьНа мой взгляд результатом этого этапа работы является набор конкретных формул с конкретными цифрами в виде пригодном для программирования
Получить конкретные формулы с конкретными цифрами можно только после многократного численного моделирования, в процессе которого "формулы и цифры" будут многократно изменяться. Поэтому современый математик-инженер обязан уметь программировать.
Эээ постойте, где это будут меняться, на орбите что ли? Я говорю о формулах которые пойдут в продукт. К этому моменту все моделирование должно быть уже проделано. И естественно математик должен уметь программировать, с этим никто не спорит. Никто не предлагает рядом с каждым гением - математиком сажать обезьянку - кодера чтобы воплощать его великие идеи в код. Но, во-первых он может использовать язык/инструмент который ему наиболее удобен (а это как правило НЕ язык конечного продукта), во вторых не заботиться об оптимизации кода (оптимизировать алгоритм) ну а в третьих ему не надо забивать себе голову контекстом - как и где сей алгоритм будет существовать, откуда и куда он будет слать данные и в каком формате, как отрабатываются ошибки и т.д. Ну а взамен появляется этап перевода "исследовательского" кода в "продуктовый". Как правило приходится переписывать начисто :)

Цитировать
Цитироватьпревращение этих формул в рабочий код - отдельная задача, по-своему сложная и ответственная и с предыдущей имеющая очень мало общего.
Это миф (для программирования на языках высокого уровня), который придумали и распространяют программисты-кодеры,  чтобы не остаться без работы.
Да откуда же вы их взяли, этих мифических кодеров, которые ни математики ни логики не знают, умеют только кнопки нажимать? Да их на пушечный выстрел к такому проекту никто не подпустит. Кстати, студентов-стажеров у нас берут как-раз на инженеров-исследователей, пусть себе сидят, графики чертят в матлабе, авось начертят что-нибудь умное, а базу кода (продуктового) им никто трогать не даст, себе дороже.


Цитировать
ЦитироватьВы же похоже считаете что настоящим результатом является только код который идет непосредственно в продукт, а формулы расчета - это так, несущественный промежуточный этап, при этом процесс превращения сих формул в код для целевого железа - не стоит выеденного яйца, так?
Нет, не так. Програмисты-математики создают конечный продукт - ПО. В этом процессе есть разные этапы. Непосредственно программирование - один из самых простейших.
Да, только почему-то в этом конечном продукте - ПО - гениальный регулятор занимает 1% от силы а остальные 99% - это "простейшее программирование", типа там ОС реального времени, файловая система, каналы связи, телеметрия, обнаружение и обработка ошибок, "безопасный режим" и прочая подобная фигня. И на все это талмудец документации сантиметров в 5, который надо прочесть от корки до корки а избранные места выучить наизусть прежде чем на кнопки нажимать. Так нафига нашему гению-математику мозги канифолить себе и другим ради 1%, пусть формулы напишет, уж там вколотим где и как надо.

Цитировать
ЦитироватьВсе равно эти формулы должны быть в наличии
Если должны быть (для себя, заказчика, начальника, отчетности, научных журналов) - значит будут. Программист-кодер для этого совершенно не нужен.
А будут формулы - не нужен математик :)

Цитировать
ЦитироватьА как же быть человеку которому придется потом этот код править? Каждый раз повторять заново все шаги вывода чтобы понять откуда взялся тот или иной магический коэффициент?
Для таких описаниий ПО, программист-кодер тоже не нужен. Он и не может ничего написать, для него все коеффициенты - "магические".
Да, только есть например правило: Никаких чисел в коде кроме 0 и 1. Все прочие должны быть определены в .h файле и прокомментированы, что означают и откуда взялись. Так что извольте либо трактат в комментариях либо ссылку на документ.
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 14.12.2009 05:29:35
ЦитироватьНу начать с того что ПО о котором идет речь в одиночку не пишется в принципе, обязательно есть команда.
Конечно.

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

ЦитироватьЭээ постойте, где это будут меняться, на орбите что ли?
На орбите. По результатам летных испытаний и эксплуатации. Обычное дело.

ЦитироватьНо, во-первых он может использовать язык/инструмент который ему наиболее удобен (а это как правило НЕ язык конечного продукта)
Удобнее, когда все программисты-математики, работающие в одном проекте, используют один и тот же язык, потому что для численного моделирования одного алгоритма требуются другие смежные алгоритмы. Например, для численного моделирoвания и настройки "формул и цифр"  этого оптимального регулятора требуется с десяток других алгоритмов, относящихся как к ПО КА , так и программам, имитирующим приборы КА и среду. Если программисты-математики проводят численое моделирование на разных языках, то им придется создавать разноязычные версии одних и тек же алгоритмов. Это лишня работа, которая к тому же снижает надежность моделирования.
Если все используют один язык, то естественно удобнее, когда это язык конечного продукта. При этом очень удобно, когда все работают в одной среде программирования типа Visual C.
 
ЦитироватьДа откуда же вы их взяли, этих мифических кодеров, которые ни математики ни логики не знают
Я их взял из своего опыта. Если Вы с самого начала считали, что таких не бывает, то о чем Вы со мной спорили? Сразу бы так и написали, мы бы сьэкономили кучу времени.

Цитироватьтолько почему-то в этом конечном продукте - ПО - гениальный регулятор занимает 1% от силы а остальные 99% - это "простейшее программирование", типа там ОС реального времени
Я пишу в этой теме про программирование прикладных задач, не про ОС. Я Вам уже сообщал об этом. Меряться обьемами программ совершенно разного типа- бесмысленно. Это все равно что сравнивать, например, обьем процессора с обьемом солнечных батарей.
Название: На чем пишется софт для КА?
Отправлено: ДмитрийК от 14.12.2009 10:15:43
ЦитироватьПолучить конкретные формулы с конкретными цифрами можно только после многократного численного моделирования, в процессе которого "формулы и цифры" будут многократно изменяться.
ЦитироватьНа орбите. По результатам летных испытаний и эксплуатации. Обычное дело.
Т.е. ваш математик-программист оптимизирует свой регулятор на живом КА? При этом многократно  :shock: меняет числа и формулы  :shock: в реальном живом коде? Может он еще и пэтчи сам шлет наверх? А если он его вконец уконтропупит своей оптимизацией? Ну не верю хоть тресни :)

ЦитироватьЕсли все используют один язык, то естественно удобнее, когда это язык конечного продукта. При этом очень удобно, когда все работают в одной среде программирования типа Visual C.
Ы? Какой блин Visual C на орбите? У вас там какой версии Windows? :shock:  :shock:  :shock:
Потом C/C++ просто фантастически неудобный для разработки алгоритмов. Скажем просто картинку показать или банальный график начертить надо на уши встать, на питоне это две строчки. На том же питоне (к примеру) с пол-пинка пишется скрипт который все тесты прогоняет, метрики всякие собирает, логи пишет итп. На C++ вы задолбетесь это делать.
А еще у меня сейчас из "языков конечного продукта" один куцый урезанный C на голом железе, другой вообще VHDL :) Какой из них удобнее? :)

ЦитироватьМеряться обьемами разных программ - бесмысленно.
Зато можно меряться человеко-месяцами. И если на "простейшее программирование" (которое при ближайшем рассмотрении включает в себя полный цикл разработки и составляет львиную долю кода) уходят месяцы и годы, то может стоит приоритеты сдвинуть, может не такое уж оно и простейшее, ага?
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 14.12.2009 11:25:58
Цитировать
ЦитироватьПолучить конкретные формулы с конкретными цифрами можно только после многократного численного моделирования, в процессе которого "формулы и цифры" будут многократно изменяться.
ЦитироватьНа орбите. По результатам летных испытаний и эксплуатации. Обычное дело.
Т.е. ваш математик-программист оптимизирует свой регулятор на живом КА? При этом многократно  :shock: меняет числа и формулы  :shock: в реальном живом коде?
Вы привели две мои цитаты, относящиеся к разным этапам. Непонятно, зачем Вы их пытаетеь смешать.

В первой моей цитате написано - численное моделирование. Численное моделировамие производится на наземных компьютерах. Вместо реальных приборов используются программы, имитирющие их работу в условиях имитируемого полета КА.

Во второй цитате написано - на орбите. То есть в реальных условиях с реальными приборами в процессе реального полета КА.

Численное моделирование не может точно воспроизводить реальные условия. Поэтому и требуются летные испытания. По их результатам может производиться настройка и модификация алгоритмов. Для сложных и/или новых алгоритмов - это обычное дело.  

В процессе эксплуатации могут возникнуть проблемы, которые не были выявлены на этапе летных испытаний. Опять может потребоваться модификация алгоритмов. Вобщем, это обычное сопровождение ПО.
   
ЦитироватьМожет он еще и пэтчи сам шлет наверх?
Нет, не сам. Наверх шлет ЦУП.

ЦитироватьЫ? Какой блин Visual C на орбите? У вас там какой версии Windows? :shock:  :shock:  :shock:
Visual C может использоваться для численного моделирования и отладки ПО. На Земле, не на орбите.

ЗЫ.
Есть два варианта.
1) Вы действительно не понимаете элементарных вещей типа того, чем численное моделирование отличается от летных испытаний. Тогда Ваш апломб в этой теме не оправдан.
2) Вы все понимаете, но зачем-то прикидываетесь. Тогда это (как сейчас говорят) тролинг.
Название: На чем пишется софт для КА?
Отправлено: ДмитрийК от 14.12.2009 14:18:58
ЦитироватьВы привели две мои цитаты, относящиеся к разным этапам. Непонятно, зачем Вы их пытаетеь смешать.
Я извиняюсь, мне просто показалось что эти высказывания относились к одному и тому же контексту и я малость удивился. Типа я сказал что результатом являются формулы, вы сказали что формулы будут часто меняться, я переспросил на орбите чтоли, вы сказали да на орбите. Тут то у меня челюсть и отвисла. Чем моделирование отличается от ЛКИ я в общем догадываюсь.

Очевидно кто-то просто не так друг друга понял, причем этот кто-то очень может быть и я. Еще раз извиняюсь если чем напряг. Засим предлагаю и завершить обмен мнениями, при этом отметив что есть как говорится "много способов ободрать кошку". :) Мне правда было интересно.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 14.12.2009 14:22:25
ЦитироватьТипа я сказал что результатом являются формулы, вы сказали что формулы будут часто меняться, я переспросил на орбите чтоли, вы сказали да на орбите. Тут то у меня челюсть и отвисла. Чем моделирование отличается от ЛКИ я в общем догадываюсь.
А что Вы не допускаете, что ПО КА может перепрошиваться, когда КА уже на орбите?
Название: На чем пишется софт для КА?
Отправлено: Frontm от 14.12.2009 14:24:20
Цитировать
ЦитироватьТипа я сказал что результатом являются формулы, вы сказали что формулы будут часто меняться, я переспросил на орбите чтоли, вы сказали да на орбите. Тут то у меня челюсть и отвисла. Чем моделирование отличается от ЛКИ я в общем догадываюсь.
А что Вы не допускаете, что ПО КА может перепрошиваться, когда КА уже на орбите?
И часто в ПО КА меняются именно формулы? :D
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 14.12.2009 14:33:43
Цитировать
Цитировать
ЦитироватьТипа я сказал что результатом являются формулы, вы сказали что формулы будут часто меняться, я переспросил на орбите чтоли, вы сказали да на орбите. Тут то у меня челюсть и отвисла. Чем моделирование отличается от ЛКИ я в общем догадываюсь.
А что Вы не допускаете, что ПО КА может перепрошиваться, когда КА уже на орбите?
И часто в ПО КА меняются именно формулы? :D
Да всё что угодно, я тут о том, что  есть возможность перепрошить ПО когда КА на орбите ... Да биты местами перепутали, а потом вспомнили  :D
Название: На чем пишется софт для КА?
Отправлено: Frontm от 14.12.2009 14:47:39
ЦитироватьДа всё что угодно, я тут о том, что  есть возможность перепрошить ПО когда КА на орбите ... Да биты местами перепутали, а потом вспомнили  :D
Ну с тем, что можно всё что угодно, согласен. И с битами, конечно...
Но вот чтобы "математический аппарат" - это маловероятно, ну может коэффициенты какие...
Название: На чем пишется софт для КА?
Отправлено: TestPilot от 15.12.2009 01:28:37
Руководитель софтверной части программы LCROSS (Northrop Grumman) дает интервью. В том числе сказал на каких языках написан софт спутника. Плюс некоторый "insight" по поводу проекта и как его реализовывали.

Нетерпеливые могут прокрутить до где-то двадцать пятой минуты...

http://www.youtube.com/watch?v=jz5PoPCVlAM
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 15.12.2009 07:57:15
Цитироватьпросто не так друг друга понял
Да, просто не правильно поняли друг друга. Бывает. Приношу Вам свои извинения.
Название: На чем пишется софт для КА?
Отправлено: zur от 15.12.2009 10:51:49
ЦитироватьА знаете на что уходит больше всего времени? На "code review", а именно сидят 5 человек и отчаянно борются со сном а 6-ой монотонно вещает: в строчках 789-792 мы вычисляем значение alpha2 согласно формуле пп. 13.24.1.5 детальной спецификации расчета... В этот момент раздается шорох - каждый роется в 5-сантиметровой стопке бумаги, достает нужный документ, тупо смотрит на формулу, потом в код. И т.д. до потери пульса.Так что вашему супер-дупер математику-программисту на 3-ей строчке бы сказали -"А это здесь у вас выражение X^2/2 откуда взялось, из какого параграфа это следует? Непорядок!" И привет - пошел писать "Дополнение Е5 к спецификации АБВГД о методике расчета...". А потом опять собирать комиссию чтобы его по параграфам разжевать и утвердить.  Потому как  каждая строчка кода и каждый параграф документа должен быть обсужден и принят комиссией. Подается это под соусом гарантии качества, на самом деле служит целью прикрытия коллективной #опы. Об эффективности пр-ва и речи не идет. Разумеется когда срок сдачи начинает приближаться а еще ничего ни хрена не сделано, то народ начинает на бюрократию класть и писать код как все нормальные люди, и только поэтому что-то вообще получается сдать, но это уже исключение а не правило :) Я не придумываю, я сам в подобном участвовал (пока не сбежал). Компания кстати весьма известная в области войны и аэро-спейс.

+1
Название: На чем пишется софт для КА?
Отправлено: Morin от 15.12.2009 11:57:11
Цитировать
Цитировать
Цитировать
Цитироватья в общем догадываюсь.
А что Вы не допускаете, что ПО КА может перепрошиваться, когда КА уже на орбите?
И часто ? :D
Да всё что угодно, я тут о том, что  есть возможность перепрошить ПО когда КА на орбите ... Да биты местами перепутали, а потом вспомнили  :D
ПРЕПРОШИТЬ нельзя. Можно добавить "заплатку" в ОЗУ.
Название: На чем пишется софт для КА?
Отправлено: Frontm от 15.12.2009 13:00:45
Цитировать
Цитировать
Цитировать
Цитировать
Цитироватья в общем догадываюсь.
А что Вы не допускаете, что ПО КА может перепрошиваться, когда КА уже на орбите?
И часто ? :D
Да всё что угодно, я тут о том, что  есть возможность перепрошить ПО когда КА на орбите ... Да биты местами перепутали, а потом вспомнили  :D
ПРЕПРОШИТЬ нельзя. Можно добавить "заплатку" в ОЗУ.
Ув Morin, моя фраза написана вот так:
ЦитироватьИ часто в ПО КА меняются именно формулы? :D
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 15.12.2009 15:26:00
Цитировать
Цитировать
Цитировать
Цитировать
Цитировать
Цитироватья в общем догадываюсь.
А что Вы не допускаете, что ПО КА может перепрошиваться, когда КА уже на орбите?
И часто ? :D
Да всё что угодно, я тут о том, что  есть возможность перепрошить ПО когда КА на орбите ... Да биты местами перепутали, а потом вспомнили  :D
ПРЕПРОШИТЬ нельзя
Ув Morin, моя фраза написана вот так:
ЦитироватьИ часто в ПО КА меняются именно формулы? :D
Что, совсем никак никак нельзя? :D
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 16.12.2009 07:30:46
ЦитироватьПРЕПРОШИТЬ нельзя.
Перепрошить ПО можно. БЦВМ с перепрограммируемым ПЗУ давно используются на КА.
Название: На чем пишется софт для КА?
Отправлено: Morin от 16.12.2009 11:58:57
Цитировать
ЦитироватьПРЕПРОШИТЬ нельзя.
Перепрошить ПО можно. БЦВМ с перепрограммируемым ПЗУ давно используются на КА.
Я, конечно, не большой знаток, но ПМСМ к современным перепрограммируемым ПЗУ нельзя применять термины "прошивка, перепрошивка".
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 16.12.2009 13:14:05
А может это уже называется не перепрограммируемое ПЗУ, а перепрошиваемая флеш память, как на современных промышленных MicroPC?
Название: На чем пишется софт для КА?
Отправлено: MikeP от 16.12.2009 06:52:29
Цитировать
Цитировать
ЦитироватьПРЕПРОШИТЬ нельзя.
Перепрошить ПО можно. БЦВМ с перепрограммируемым ПЗУ давно используются на КА.
Я, конечно, не большой знаток, но ПМСМ к современным перепрограммируемым ПЗУ нельзя применять термины "прошивка, перепрошивка".

Наверное надо более точно относиться к терминологии в таком разговоре. Многие под понятием "прошивка" понимают просто любую запись информации в ПЗУ.

Реально "прошивка" - это в самом деле прошивка памяти посредством проволоки. Прошивка делается на заводе по таблицам прошивки и номер программы выбивается на шильдике блока. Перепрошить память можно только руками девушки-прошивальщицы и в весьма ограниченном объеме - единицы команд. Да и то, как временная мера, на период испытаний. В моей практике были прошиваемыми Аргоны 10М и 15А.

Следующие поколения ПЗУ, насколько я понимаю - прожигаемые.
И существуют как однократно прожигаемые, так и перепрожигаемые микросхемы. Какие стоят в современных БЦВМ и возможен ли перепрожиг на борту - с этим уже не работал, не знаю  :cry:
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 16.12.2009 13:57:25
Ну когда Персону пытались спасти, перепрошивали программаж на борту с земли несколько раз
Название: На чем пишется софт для КА?
Отправлено: vekazak от 16.12.2009 18:52:28
Прошитые ПЗУ, например на харьковской "Салют-3" правят на борту с помощью ПрОЗУ.  
Стояла бы на Персоне такого типа БЦВМ, не было бы проблем.
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 17.12.2009 07:33:43
ЦитироватьНаверное надо более точно относиться к терминологии в таком разговоре. Многие под понятием "прошивка" понимают просто любую запись информации в ПЗУ.

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

Если надо более точно, то можно сказать, например, так:
Электрически перепрограммируемое ПЗУ позволяет многократно модифицировать ПО в полете КА.
Это типа флеш-памяти, но не обязательно она.
Название: На чем пишется софт для КА?
Отправлено: BOA от 17.12.2009 10:58:57
Цитировать
ЦитироватьНаверное надо более точно относиться к терминологии в таком разговоре. Многие под понятием "прошивка" понимают просто любую запись информации в ПЗУ.

Реально "прошивка" - это в самом деле прошивка памяти посредством проволоки.
Сейчас техника так быстро меняется, что слова для новых понятий  не успевают появляться.
Да, про "проволку" уже забыли с Ямала-100. СМ, Я-200, БелКА все имеют ППЗУ и "перепрошить" при НИ возможно всё.
Союз и Прогресс - чужая епархия, без комментов :D
А "прошивка" - это уже дань памяти тем ферритовым колечкам... слэнг одним словом :wink: .
Название: На чем пишется софт для КА?
Отправлено: Morin от 17.12.2009 11:18:51
Цитировать
Цитировать
Цитировать
ЦитироватьПРЕПРОШИТЬ нельзя.
Перепрошить ПО можно. БЦВМ с перепрограммируемым ПЗУ давно используются на КА.
Я, конечно, не большой знаток, но ПМСМ к современным перепрограммируемым ПЗУ нельзя применять термины "прошивка, перепрошивка".

Наверное надо более точно относиться к терминологии в таком разговоре. Многие под понятием "прошивка" понимают просто любую запись информации в ПЗУ.

Реально "прошивка" - это в самом деле прошивка памяти посредством проволоки. Прошивка делается на заводе по таблицам прошивки и номер программы выбивается на шильдике блока. Перепрошить память можно только руками девушки-прошивальщицы и в весьма ограниченном объеме - единицы команд. Да и то, как временная мера, на период испытаний. В моей практике были прошиваемыми Аргоны 10М и 15А.

Следующие поколения ПЗУ, насколько я понимаю - прожигаемые.
И существуют как однократно прожигаемые, так и перепрожигаемые микросхемы. Какие стоят в современных БЦВМ и возможен ли перепрожиг на борту - с этим уже не работал, не знаю  :cry:
Так и я об этом толкую. Сам я живьем прошивку не видал, но знаю, что это процесс весьма "физический" :-) , делался только в заводских условиях и на него нужна была такая же документация, как на механическую доработку.
Как правильно сказал один товарищ, если б на Персоне стояла прошитая ПЗУ, то проблем бы с ней не было. А к флеш-памяти термин "прошивка" неприменим.
Название: На чем пишется софт для КА?
Отправлено: ДмитрийК от 17.12.2009 13:41:07
ЦитироватьНаверное надо более точно относиться к терминологии в таком разговоре.
Все просто. Прошивают прошивки. Прожигают соответственно прожи... проже... ыыы... прошивки :) :)
Название: На чем пишется софт для КА?
Отправлено: ДалекийГость от 18.12.2009 06:01:48
ЦитироватьТак и я об этом толкую. <> к флеш-памяти термин "прошивка" неприменим.
Если термин применяется, значит он применим. Со временем какой-то вариант станет общеупотребительным, а остальные варианты исчезнут. Поживем-увидим.

Дело не в этом термине, а в том, что Вы написали:
ЦитироватьПРЕПРОШИТЬ нельзя. Можно добавить "заплатку" в ОЗУ.
Не нужно добавлять "заплатки" в ОЗУ для изменения ПО КА с электрически перепрограммируемым ПЗУ.
Название: На чем пишется софт для КА?
Отправлено: Morin от 18.12.2009 12:53:35
Цитировать
ЦитироватьТак и я об этом толкую. <> к флеш-памяти термин "прошивка" неприменим.
Если термин применяется, значит он применим. Со временем какой-то вариант станет общеупотребительным, а остальные варианты исчезнут. Поживем-увидим.

Дело не в этом термине, а в том, что Вы написали:
ЦитироватьПРЕПРОШИТЬ нельзя. Можно добавить "заплатку" в ОЗУ.
Не нужно добавлять "заплатки" в ОЗУ для изменения ПО КА с электрически перепрограммируемым ПЗУ.
Согласен, был не прав, погорячился.
"Заплатки" в ОЗУ ставили на КА с "прошитыми" ПЗУ. И достаточно эффективно справлялись с ошибками в ПЗУ.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 04.02.2010 16:10:15
Немножко юмора  :)   на башорге наткнулся


интервью с разработчиками российской операционной системы УжОС

8. Расскажите о процессе загрузки УжОС

Загрузчик реализован в виде "многоступенчатой космической ракеты": запускается целиком, а использованные куски по дороге отваливаются.
Название: На чем пишется софт для КА?
Отправлено: STS от 04.02.2010 15:19:17
очень близко к реальности
Название: На чем пишется софт для КА?
Отправлено: Theoristos от 06.02.2010 19:58:35
Цитировать
ЦитироватьТак и я об этом толкую. <> к флеш-памяти термин "прошивка" неприменим.
Если термин применяется, значит он применим. Со временем какой-то вариант станет общеупотребительным, а остальные варианты исчезнут. Поживем-увидим.

Прошивкой часто называют [пере]программирование требующее отдельные программаторы и отключение устройства.
Название: На чем пишется софт для КА?
Отправлено: eng. Alex от 07.02.2010 00:12:21
Цитировать
Цитировать
ЦитироватьТак и я об этом толкую. <> к флеш-памяти термин "прошивка" неприменим.
Если термин применяется, значит он применим. Со временем какой-то вариант станет общеупотребительным, а остальные варианты исчезнут. Поживем-увидим.

Прошивкой часто называют [пере]программирование требующее отдельные программаторы и отключение устройства.

Не обязательно. Если надо новую версию программы перезаписать в устройство с FLASH памятью, то говорят просто перепрошить или прошить. При этом, отсоединение не обязательно, может использоваться специальный электрический или оптический разъём, предусмотренный для этого при проектировании изначально. Сейчас все сложные устройства так проектируют, ибо надо чтобы было как можно больше возможностей отладить ПО, не разбирая конструкцию. Время разработки сейчас критично.
Название: На чем пишется софт для КА?
Отправлено: zyxman от 09.02.2010 18:01:55
А я думаю что источник слова "прошивка" все-же сленг, и для меня "прошивка" это не только процесс а собственно содержимое.

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

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

И проблема в том, что на западе, который законодатель мод, давное уже ввели два слова - software и firmware, а у нас традиционно тормозят, поэтому и пошло старое известное "прошивка".
Название: На чем пишется софт для КА?
Отправлено: eng. Alex от 10.02.2010 05:27:04
ЦитироватьА я думаю что источник слова "прошивка" все-же сленг, и для меня "прошивка" это не только процесс а собственно содержимое.

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

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

И проблема в том, что на западе, который законодатель мод, давное уже ввели два слова - software и firmware, а у нас традиционно тормозят, поэтому и пошло старое известное "прошивка".

Саму прошивку вы, вероятно, не застали. :) Изначально прошивка -- это процесс перепрограммирования ПЗУ на ферритовых сердечниках (колечках) методом продевания проводника через колечки. Выглядела память примерно так:

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

Firmware -- это, скорее, функционально отличное ПО (software), предназначенное для правильной работы железа (hardware), к примеру, BIOS для персональных компьютеров с интеловской архитектурой. Оно не обязательно прошивается, а может и загружаться во время инициализации аппаратного компонента в его оперативную память. Для удобства описания сейчас сложилость следующее разделение:

Firmware -- ПО обеспечивающее работу железа и управление им.
Operating System -- опарационная система -- базовый сервис для работы всех программ.
Middleware -- функциональный сервис для пользовательских программ, к примеру, приём и декодирование ТВ-сигнала или переключение ТВ-каналов.
Application software (или просто software) -- сами пользовательские программы -- то, для чего вся система придумана.

Есть ещё множество других терминов и подклассов. На самом деле, даже вышеприведённая классификация довольно условна, ибо всё зависит от аппаратуры или проекта. Чем они больше, тем больше категорий на которые происходит деление, ибо главное -- ясный язык общения между разработчиками в проекте или в одной области. Глобальной стандартизиции понятий добиться не удастся, да это и не нужно.
Название: На чем пишется софт для КА?
Отправлено: zyxman от 13.02.2010 08:34:23
ЦитироватьСаму прошивку вы, вероятно, не застали. :) Изначально прошивка -- это процесс перепрограммирования ПЗУ на ферритовых сердечниках (колечках) методом продевания проводника через колечки.

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

ЦитироватьFirmware -- это, скорее, функционально отличное ПО (software), предназначенное для правильной работы железа (hardware), к примеру, BIOS для персональных компьютеров с интеловской архитектурой. Оно не обязательно прошивается, а может и загружаться во время инициализации аппаратного компонента в его оперативную память.
Дело не в том, где хранится тот-же BIOS и как он используется (у меня например на компьютере FreeBSD - она после загрузки вообще не использует BIOS), а в том, что чтоб его сменить, нужно делать намного более сложные телодвижения, чем для загрузки пользовательской программы.

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

Кстати, и на компьютерах тоже применяются заплатки - на макинтошах раньше фактически бОльшая часть ОС была прямо в ПЗУ, а с дисков загружались настройки и заплатки.
Название: На чем пишется софт для КА?
Отправлено: eng. Alex от 13.02.2010 18:36:58
ЦитироватьДа, память на ферритовых сердечниках не застал.
Но хорошо застал однократно программируемые ПЗУ, и УФ стираемые ПЗУ, и дороговизну и даже в некоторой степени дефицит всех вообще ПЗУ, и программаторы стоившие как пол компьютера..
Поэтому хорошо запомнилось, насколько было сложно поменять прошивку ПЗУ.

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


ЦитироватьДело не в том, где хранится тот-же BIOS и как он используется (у меня например на компьютере FreeBSD - она после загрузки вообще не использует BIOS), а в том, что чтоб его сменить, нужно делать намного более сложные телодвижения, чем для загрузки пользовательской программы.

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

Прогресс не отменить, сейчас перешить firmware в Nokia (например, 6700) так же легко, как и поставить программку на него. Из интренета сливается и перешивается самостоятельно, даже кабель не надо, ибо подключение через Bluetooth. Можно ещё легче, просто с телефона, тогда он через GPRS (или EDGE), сливает себе новую прошивку и сам себя перепрограммирует. Ещё десять лет назад, затрудялись сказать когда же такое наступит. :)

ЦитироватьКстати, и на компьютерах тоже применяются заплатки - на макинтошах раньше фактически бОльшая часть ОС была прямо в ПЗУ, а с дисков загружались настройки и заплатки.

Выкручиваются как могут, всё зависит от изначально заложенных конструкторских решений.
Название: На чем пишется софт для КА?
Отправлено: Parf от 26.02.2010 20:07:48
Получается, повторному использованию кода на уровне "железа" мешает уникальность спутников? Это грустно... Хотя, есть же спутники связи, или, допустим, метеорологические спутники. Они летают сериями, да и софт для них должен быть более или менее одинаковый?

Ещё интересно: применяется ли повторное использование кода на "вычислительном" уровне? Наверно, можно создать стандартные библиотеки, хранящие часто используемые функции для КА. Вот, например, одни и те же навигационные вычисления часто повторяются у разных аппаратов?
Название: На чем пишется софт для КА?
Отправлено: Инженер проекта от 27.02.2010 07:12:57
ЦитироватьСаму прошивку вы, вероятно, не застали. :) Изначально прошивка -- это процесс перепрограммирования ПЗУ на ферритовых сердечниках (колечках) методом продевания проводника через колечки. Выглядела память примерно так:

Даааа... понастальгировал  :)
Название: На чем пишется софт для КА?
Отправлено: PIN от 09.03.2010 15:53:57
ЦитироватьЕщё интересно: применяется ли повторное использование кода на "вычислительном" уровне? Наверно, можно создать стандартные библиотеки, хранящие часто используемые функции для КА. Вот, например, одни и те же навигационные вычисления часто повторяются у разных аппаратов?

Из того, с чем лисно сталкивался - максимум стандартные библиотеки Ады и C. Инода и то, и другое, когда бортовое ПО написано и на том, и на другом. На уровне исходников код кочует от аппарата к аппарату или от носителя к носителю очень часто. о5-таки, сугубо по своей практике сужу.
Название: На чем пишется софт для КА?
Отправлено: LRV_75 от 13.05.2010 12:20:08
Понравилось, рабоче - крестьянская корпорация  :wink:

ЦитироватьЕсли начали вспоминать холивары «какой язык программирования круче», добавлю-ка я и свои пять копеек. В 1998 году случилась эталонная ситуация для подобной проверки.

Лос-Анджелес. Монтируется аппаратура на корабле. Задача — принять телеметрию и отобразить в нужном виде на экран. На корабле три изолированных по национальному или производственному признаку сегмента, куда «чужих» не пускают. Отображением в одном сегменте занимался я, в другом — американцы из фирмы «A. S.», в третьем — программеры из рабоче-крестьянской корпорации. Задачи были весьма схожи: принять, обработать, отобразить. Отображение требовалось разное, но это уже неважно.

Американцы не задержались на корабле больше недели. Приехали, поставили софт, запрограммировали, получили бабки, уехали. Тихо-мирно, молча. Никаких претензий, никаких проблем. Язык программирования — Visual Basic.

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

Программеры рабоче-крестьянской корпорации приехали вместе со мной, но встречали Новый год вдали от дома. И Старый Новый год — тоже. Потом я просто перестал за этим следить. Язык программирования — Visual С++.

Для себя из этой истории я вынес критерий оценки собственной работы: количество усилий, потраченных для решения задачи, разделённое на количество заработанных килобаксов. Если сидишь на окладе, сложных проблем не возникает и нет особой нужды решать проблему быстро, то С++ вне конкуренции — программу любой сложности можно писать и отлаживать практически вечно, регулярно получая оклад. Если присутствует элемент сдельщины, то к С++ надо прибегать в последнюю очередь. Ведь крутизна программера — не в синтаксисе исходников, а в толщине его кошелька.
http://ithappens.ru/story/3099