Я студент в своем последнем семестре собирается на степень бакалавра в области компьютерных наук. Я хотел бы в конечном итоге перейти в отрасль космических исследований (NASA, SpaceX, Boeing, Lockheed Martin и т. д.). Я ничего не знаю о авионике, и я хотел бы узнать больше о предмете, в частности, о программной стороне. Я нашел мало информации в интернете. Пожалуйста, дайте мне справочный материал (книги, веб-сайты и т.д.) чтобы узнать об этой области. Ваша точка зрения и дополнительная информация приветствуются.
Я не работаю с авионикой, но я работал с дистанционным зондированием в контекстенаук о Земле.
Я думаю, что эти материалы могут быть полезны в дополнение к тому, что предложили другие, особенно. если вас интересуют научные аспекты (извините, ответ может быть несколько не по теме, Если вы этого не сделаете).
-
Программирование
В дополнение к C, Fortran по-прежнему используется для реализации различныхалгоритмы и модели. Для небольших задач и визуализации,люди часто используют Python (numpy , scipy , pandas , matplotlib ) и R (R-отличный статистический язык программирования, который вы бы использовали вместо Excel для серьезных вещей).
Что касается C, никто, кажется, не упоминает, что безопасное кодирование действительнонеобходимо для таких приложений с высокой долей участия. Seacord, 2013 является большимкнига для этой цели.
-
Chapman, Stephen J. Fortran 95/2003 для ученых и инженеров. McGraw-Hill, 2008.
-
Сикорд, Роберт. Безопасное кодирование на C и C++ (2-е издание) (серия SEI в разработке программного обеспечения). Addison-Wesley Professional, 2013.
-
Матлофф, Норман. Искусство программирования R. Нет Крахмальный Пресс, 2011.
-
-
Физика
Хорошие основы физики, безусловно, жизненно важны для освоения космоса.
Многие измерения, проведенные в космосе, связаны с излучением,поэтому я добавляю ссылку на это.
-
Физика I: Классическая Механика,
Физика II: электричество и магнетизм,
видеолекции профессора Уолтера Левина (MIT OCW)
-
Холлидей, Дэвид, Роберт Резник и Джирл Уокер. Основы физики расширены. John Wiley & Sons, 2010.
-
Мелкий, GW. Первый курс по атмосферному излучению (2-е изд.). Sundog Publishing, 2006.
-
-
Математика
Исчисление, вероятно, самое главное, тогда линейная алгебра.
Многие проблемы дизайна и физики связаны со статистикой и оптимизацией.
-
Линейная алгебра видеолекции профессора Гилберта Странга (MIT OCW)
-
Уилкс, сержант. Статистические методы в атмосферных науках. Академическая Пресса, 2011.
-
Вероятностное программирование и байесовские методы для хакеров (доступно в интернете)
-
Kruschke, J. анализ байесовских данных, второе издание: учебник с R, JAGS и Stan. Академическая Пресса, 2014.
-
-
Unix / Linux
Операционные системы Unix часто используются в прикладных наукахсистемы и суперкомпьютеры.
-
Kerrisk, M. программный интерфейс Linux: руководство по системному программированию Linux и UNIX. Нет Крахмальный Пресс, 2010.
-
Лукас, МВ. Абсолютная FreeBSD: Полное руководство по FreeBSD. Отсутствие Давления Крахмала, 2007.
-
многие другие книги, например, изданные О’Рейли
-
Некоторые ежедневные чтения: phys.org/space-news/ (-;
Я настоятельно рекомендую изучить курс анализа программного обеспечения и изучить систему доказательств, такую как PVS. Я вернулся в аспирантуру после 14 лет в различных отраслях программного обеспечения, и курс анализа программного обеспечения, который я взял, легко был самым глазным открытием. Это не имело бы большого смысла, когда я учился в школе, но после многих лет работы материал щелкнул. Это никогда не было предметом, который я чувствовал, что мне понравится, и он может быть немного сухим, но как только вы его получите, вы никогда не будете смотреть на Программирование точно так же,
Из небольшого поиска в сети я нашел эту книгу: разработка критического программного обеспечения безопасности: практическое руководство для авиационного программного обеспечения — Rierson .
Я не уверен, что Java получает огромное количество использования в авиакомпании — JVM вводит слишком много неопределенности для использования в приложении реального времени: но если вы достаточно компетентны в C/C++, чтобы получить такую работу, вы можете делать Java во сне.
@JonStory: жесткий реального времени всегда C или не-хостинг (ограниченное подмножество) C++. Но электронный flightbag-это приложение для отображения диаграмм, контрольных списков и выполнения расчетов. Он не имеет требований в реальном времени и обычно работает на стандартном ноутбуке или планшете, хотя они встроены в новые самолеты, такие как A380. Так что это может быть в Java или даже HTML+JavaScript.
@JonStory: кстати, если вы упомянули air line , большая часть из них, вероятно, находится в Java и HTML. Потому что авиакомпании не занимаются авионикой. Они делают системы бронирования билетов и приложений планирования полета и электронных полетных мешков и ничего из этого не нужно в режиме реального времени. Кстати у моего бывшего работодателя одна команда делала систему управления огнями аэропорта (подъезд, взлетно-посадочная полоса, рулежная дорожка, стопбары и т.д.).) и даже это было на Java. Потому что это был в основном GUI для башни, чтобы переключать свет, и это тоже не нуждалось в реальном времени.
@rbp: «в реальном времени» имеет очень специфическое значение, полностью независимо от «довольно быстро». Java отлично подходит для»довольно быстрого». С другой стороны, системы» реального времени » часто не особенно быстры; они просто должны быть абсолютно свободны от любых непредсказуемых задержек (что делает GC вне сомнения; обычно даже любое динамическое распределение вообще есть).
спасибо, я программировал в режиме реального времени в течение 35 лет, и я тщательно выбирал свои слова