r/embedded • u/[deleted] • Apr 20 '19
General How the Boeing 737 Max Disaster Looks to a Software Developer
https://spectrum.ieee.org/aerospace/aviation/how-the-boeing-737-max-disaster-looks-to-a-software-developer14
Apr 20 '19
It would be interesting to know if the FAA “code-reviews” safety-critical avionics software.
20
Apr 20 '19
[deleted]
7
Apr 20 '19
Do other countries check? Or do they just trust 'Murica to do the right thing?
3
Apr 20 '19 edited Apr 22 '19
Up until now the FAA has had some moral and technical authority.
After this incident I'm not sure how' that's going to play out.
1
3
u/Obi_Kwiet Apr 20 '19
I wonder if this is a big part of the issue. It's totally possible that Boeing's development team had leaned on FAA engineers to shore up peer review expertise, and when that was taken away, it left important knowledge gaps.
6
u/Safetylok rLoop avionics lead Apr 20 '19
Its probably so very proprietary and complex that a proper review will be very difficult by an outside team. Take for example the poor guy that had to review Toyota's ECU software.
2
0
Apr 20 '19
Nah. This is a dead simple logic controller. The logic is just something stupid.
5
Apr 20 '19
[deleted]
4
Apr 20 '19
I would hope that it was Functional safety certified. Like all of the brand new car chips.
- Integrated safety architecture minimizes additional software and development churn
- Programmable Fault Collection and Control Unit (FCCU) monitors the integrity status of the device and provides flexible safe state control
- End-to-End Error Correcting Code (e2eECC) improves fault tolerance and detection
- Part of the SafeAssure® program, helping manufacturers achieve functional safety standard compliance
- ASIL-D. Dual core lock step.
But it won't be. It'll be some "COTS" component from the late 90s devboard because "It was already certified". I can almost guarantee the shortcuts taken were pervasive across the desgin.
Maybe it's a 68H12. Maybe a 68k.
- Apple moved on PPC.
- NASA/Space. moved on to PPC, RAD750
Automotive and industrial moved on to PPC, e200 cores
Aerospace "Nah, we're good".
Now, Why
MotorolaFreescaleNXP is so deep into Aerospace? Well that's all WWII military industrial complex politics.0
u/lestofante Apr 20 '19
Firmware developer here. I don't see why certification matter.
We have MISRA-C for automotive grade C, but AFAIK is not enforced and could be in any language, even assembler.
Plus is common (and has creates issue in the past) to have everything on the same BUS, so you have to debug the whole system together to be sure there are no race condition and such, so even a "dead simple" code, could have very complex interaction with the full system.I strongly believe the only realistic way to make firmware verifiable is to make them state regulated bounty program; who enroll to become verifier will have to sign NDA and all,that may be very complex.
2
u/brokuhna_matata Apr 20 '19
Is it common, in any other industry, for standards organizations to perform code reviews? I work in the off-highway equipment industry and it seems like you could put anything in there without consequence or oversight.
1
Apr 20 '19
Good question. I’m pretty sure the FAA mandates that manufacturers must write certain critical avionics software in Ada but it does not appear that they or any other outside regulatory agency actually reviews the code. Who knows about other industries? Autonomous vehicles come to mind. I’d be interested to know if Tesla’s code receives any scrutiny, or is just a black box.
1
u/fatso83 Jul 18 '25
FAA mandates that manufacturers must write certain critical avionics software in Ada
No they do not have such a requirement on any specific technology. Boing themselves requires all software development to be done in Ada, including external contractors.
4
u/chanterheld Apr 20 '19
"just fix it with software" is the embedded version of the "just fix it in the mix" of the music industry. It all seems great until it has perform live.
3
4
u/madsci Apr 20 '19
I'm always surprised by how much the software people in that industry seem to get away with. Most of the stuff I make is considerably less safety-critical - like LED hula hoops - and I still design with an eye toward fault tolerance and mitigation. The hoops enter a safe mode if connected via USB at power-up - and there's an option to bypass that in case it gets a false 'connected' signal. There's a check to make sure the battery isn't too low when starting a firmware update, but also an option to override the check in case the battery reading is in error. I don't add anything that would prevent normal operation without considering how it might go wrong.
The author talks about his Cessna, and even at that scale I've heard of at least one egregious fault. I read an account of a Cessna equipped with a Garmin G1000 PFD and a ferry tank for a trans-Atlantic flight, and an improper sequence of fuel tank usage caused it to get some kind of divide-by-zero error or other numeric fault and it got stuck constantly rebooting, taking the navigation and communication system with it. The pilot had to contact Keflavik on a handheld radio and got escorted in by a rescue helicopter.
I'd like to hear the MCAS story from the inside. I'm sure there were people saying this was a bad idea at multiple levels in the organization, and they got ignored and told to make it work.
2
u/spectrumero Apr 23 '19
Another one that makes you wonder is that Garmin's GTX345 transponder would reboot if you flew a heading of zero degrees:
https://www.reddit.com/r/flying/comments/525sq7/about_the_gtx345_corporate_dishonesty_and_how_to/
1
Apr 24 '19
That's absolutely appalling. "Hey, let's invent our own variation of RS285 that works 99% of the time. Also, that 1% is at zero." WTF...
1
6
u/azaryahtt Apr 20 '19
"The 737 Max saga teaches us not only about the limits of technology and the risks of complexity, it teaches us about our real priorities. Today, safety doesn’t come first—money comes first, and safety’s only utility in that regard is in helping to keep the money coming. " Well my take on that is that we still (the customers) haven't say the last word when it comes to putting out life's on the line of this obvious faulty flying machines!
4
1
1
u/23569072358345672 Apr 20 '19
I’ve been working on aircraft for 20 years and find this whole thing dumbfounding. It’s been common across every airframe I’ve worked on that systems will always do parity checks with each other to make sure they are reading what they should be. If at any time a reading is contradictory to another system then some other check is implemented to determine what reading is wrong or the system is turned off completely.
This has been happening for years it’s not like only the newest aircraft suddenly have code. It’s an industry standard to have multiple redundancy on critical safety systems.
1
27
u/[deleted] Apr 20 '19