[chbot] embedded systems software failures

Mark Atherton markaren1 at xtra.co.nz
Sat May 18 23:18:10 BST 2013


Hi Charles,

Please excuse the reply to your message via the wrong group, but 
there might be some other interested parties here. I am quite 
interested in your project below, but surely you have the unenviable 
task of trying to establish initial requirements and specification 
for each project before you can look at code implementation and 
possible associated failure mechanisms. With a strong specification, 
a validated and trusted compiler, some means of rigorous static 
analysis, followed by exhaustive testing, a lot of issues can be 
resolved on the bench, or at least on the keyboard. But systems can 
still fail badly by asking the wrong question at requirements and 
specification time - and coming up with the perfect solution to the 
wrong question.

On a vaguely related theme: Many years ago I had an extraordinary 
conversation with the Engineering Manager of an audio related company 
in California. He had advertised for a 'C++ programmer'. So knowing 
nothing about C++, but a bit about audio I picked up the phone and 
called him. He was adamant that all of his project troubles could be 
fixed if he moved the to C++. After some discussion, it turns out he 
had a (serious) requirements problem. No one knew what the product 
was supposed to do (in detail). I tried to carefully explain that 
putting 60% of the project into finding out the question and the 
remainder into coding, testing and integration would save him immense 
problems and he could code it in assembler if he liked, it was much 
more important to understand the question first. He was not a 
happy-bear to hear this! A couple of years later I heard he had been 
fired about 6 months after our phone call for incompetence.

Anyway, most interested to see what you turn up with your project.

Club meeting on Monday - are we going to see you ?

Regards,

Mark


=======

charlesmanning
[]

I'm trying to build up a list of, say, 10 classic embedded systems 
software failures and analyse them to the extent to determine what 
could have fixed them.

The purpose is mainly to provide an acid test as to whether the use 
of a different language (say a very robust language like Ada vs say 
C) might have eventuated in a different outcome.

So far my list has:

Therac-25
Airbus A320 crash at airshow (operator lockout)
Mars Climate Orbiter (metres to feet)
Arian 5 (exception fouling floating point ops)




More information about the Chchrobotics mailing list