| ▲ | addaon a day ago | |||||||||||||||||||||||||
I’m sorry, but I disagree. Building these real-time safety-critical systems is what I do for a living. Once the system is designed and hardware is selected, I agree that if the required tasks fit in the hardware, it’s good to go — there’s no bonus points for leaving memory empty. But the sizing of the system, and even the decomposition of the system to multiple ECUs and the level of integration, depends on how efficient the code is. And there are step functions here — even a decade ago it wasn’t possible to get safety processors with sufficient performance for eVTOL control loops (there’s no “just spec a faster chip”), so the system design needed to deal with lower-ASIL capable hardware and achieve reliability, at the cost of system complexity, at a higher level. Today doing that in a safety processors is possible for hand-written code, but still marginal for autogen code, meaning that if you want to allow for the bloat of code gen you’ll pay for it at the system level. | ||||||||||||||||||||||||||
| ▲ | stackghost a day ago | parent [-] | |||||||||||||||||||||||||
>And there are step functions here — even a decade ago it wasn’t possible to get safety processors with sufficient performance for eVTOL control loops (there’s no “just spec a faster chip”) The idea that processors from the last decade were slower than those available today isn't a novel or interesting revelation. All that means is that 10 years ago you had to rely on humans to write the code that today can be done more safely with auto generation. 50+ years of off by ones and use after frees should have disabused us of the hubristic notion that humans can write safe code. We demonstrably can't. In any other problem domain, if our bodies can't do something we use a tool. This is why we invented axes, screwdrivers, and forklifts. But for some reason in software there are people who, despite all evidence to the contrary, cling to the absurd notion that people can write safe code. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||