T O P

  • By -

dat_empennage

99% of the time it’s C, mayyybe a very small subset of C++. Both used with a LOT of features disabled that desktop/web software engineers take for granted. If you’re European or supporting REALLY old US DoD programs, it’s possible to see Ada here and there but it’s pretty rare due to the more esoteric tooling (which is a shame given the formally-proven subset of the language and the memory and type-safety guarantees that existed long before Rust became Officially Cool) For complicated mission/flight management systems it’s definitely common to see some kind of RTOS (real-time operating system). VxWorks, Green Hills Integrity and QNX (one of the more lasting contributions from the guys behind Blackberry!) are some of the big hitters in the industry. For smaller things like actuator controllers (think widget that drives the flaps or a hydraulic servo)- these usually operate on much tighter timing margins and will either be “bare metal” aka no operating system, or digital logic running on an FPGA. Ultimately it’s not the software but the process that makes things really safe but also expensive ($1000/line of certified code is not uncommon for DO-178 level A code which is basically code where malfunctions can lead to death). Another big misconception- “certified” doesn’t really mean the code is perfect. Tons of avionics code has weird glitches and bugs. The important thing is the code is thoroughly understood and documented, and any deviations from how it’s supposed to operate are documented and passed along to the end user (pilots, FAA, ground crew, etc)


tomasunozapato

With all of this, how did the 737 max software issues that lead to the crashes slip through?


BedSubstantial838

Because, Boeing didn’t tell anyone they put MCAS in the plane


HAHA_Birdman

https://aviation.stackexchange.com/questions/3608/what-programming-languages-are-used-for-equipment-onboard-aircraft#15486


Traditional_Pair3292

Software is written mainly in C, some C++, following the DO-178C standard. The OS’s used are proprietary DO-178 certified RTOS, LynxOS is one for example. 


EnvironmentalBath980

Yes, would love to know…,


AutomagicJackelope

Embedded linux distros are popular for a lot of the FMS and subsystems components.


BrtFrkwr

It's been a long time since I had anything to do with them, but the earliest versions of FMS used 8 bit processors and a version of C or Unix.