Program logic bugs vs input/environmental errors
Sean Kelly via Digitalmars-d
digitalmars-d at puremagic.com
Sat Oct 4 09:09:22 PDT 2014
On Saturday, 4 October 2014 at 08:15:51 UTC, Walter Bright wrote:
> On 10/3/2014 8:43 AM, Sean Kelly wrote:
>> My point, and I think Kagamin's as well, is that the entire
>> plane is a system
>> and the redundant internals are subsystems. They may not
>> share memory, but they
>> are wired to the same sensors, servos, displays, etc.
>
> No, they do not share sensors, servos, etc.
Gotcha. I imagine there are redundant displays in the cockpit as
well, which makes sense. Thus the unifying factor in an airplane
is the pilot. In a non-mannned system, it would be a control
program (or a series of redundant control programs). So the
system in this case includes the pilot.
>> Thus the point about shutting down the entire plane as a
>> result of a small failure is fair.
>
> That's a complete misunderstanding.
Right. So the system relies on the intelligence and training of
the pilot for proper operation. Choosing which systems are in
error vs. which are correct, etc. I still think an argument
could be made that an entire airplane, pilot included, is
analogous to a server infrastructure, or even a memory isolated
program (the Erlang example).
My only point in all this is that while choosing the OS process
is a good default when considering the potential scope of
undefined behavior, it's not the only definition. The pilot
misinterpreting sensor data and making a bad judgement call is
equivalent to the failure of distinct subsystems corrupting the
state of the entire system to the point where the whole thing
fails. The sensors were communicating confusing information to
the pilot, and his programming, as it were, was not up to the
task of separating the good information from the bad.
Do you have any thoughts concerning my proposal in the "on
errors" thread?
More information about the Digitalmars-d
mailing list