On Saturday, 4 October 2014 at 08:25:22 UTC, Walter Bright wrote:
On 10/3/2014 9:10 AM, "Ola Fosheim Grøstad" <ola.fosheim.grostad+dl...@gmail.com>" wrote:
I think Walter forgets that you ensure integrity of a complex system of servers by utilizing a rock solid proven transaction database/task-scheduler for handling all critical information. If that fails, you probably should shut down
everything, roll back to the last backup and reboot.

You don't ensure integrity of anything by running software after it has entered an unknown and unanticipated state.

Integrity is ensured by the transaction engine. The world outside of the transaction engine has NO WAY of affecting integrity.

D code that is written today belongs outside the transaction engine.

There's no way you'd bet your life on it.

SAAB Gripen crashed in 1989 and 1993 due to control software, the pilots used their parachutes and sent the plane in a safe direction. Eurofighter is wire controlled, you most likely cannot keep it stable without electronic control. So if it fails, you have to use the parachute. Bye, bye $100.000.000.

Anyway, failure should not be due to "asserts", that should be covered by program verification and formal proofs. Failure can still happen if the stabilizing model is inadequate.

During peace time fighter jets stay grounded for many days every year due to technical issues, maybe as much as 50%. In war time they would be up fighting… So yes, you bet your life on it when you defend the air base. Your life is worth nothing in certain circumstances. It is contextual.

I think you forget my background in designing critical flight controls systems. I know what works, and the proof is the incredible safety of airliners. Yeah, I know that's "appeal to authority", but I've backed it up, too.

That's a marginal use scenario and software for critical control systems should not rely on asserts in 2014. Critical software should be formally proven correct.

Reply via email to