vvoipio at kosh.hut.fi
Mon Oct 10 13:18:28 CEST 2005
In article <434A2F31.6010507 at REMOVEMEcyber.com.au>, Steven D'Aprano wrote:
> If you have enough hardware grunt, you could think
> about having three independent processes working in
> parallel. They vote on their output, and best out of
> three gets reported back to the user. In other words,
> only if all three results are different does the device
> throw its hands up in the air and say "I don't know!"
Ok, I will give you a bit more information, so that the
situation is a bit clearer. (Sorry, I cannot tell you
the exact application.)
The system is a safety system which supervises several
independent measurements (two or more). The measurements
are carried out by independent measurement instruments
which have their independent power supplies, etc.
The application communicates with the independent
measurement instruments thrgough the network. Each
instrument is queried its measurement results and
status information regularly. If the results given
by different instruments differ more than a given
amount, then an alarm is set (relay contacts opened).
Naturally, in case of equipment malfunction, the
alarm is set. This covers a wide range of problems from
errors reported by the instrument to physical failures
or program bugs.
The system has several weak spots. However, the basic
principle is simple: if anything goes wrong, start
yelling. A false alarm is costly, but not giving the
alarm when required is downright impossible.
I am not building a redundant system with independent
instruments voting. At this point I am trying to minimize
the false alarms. This is why I want to know if Python
is reliable enough to be used in this application.
By the postings I have seen in this thread it seems that
the answer is positive. At least if I do not try
apply any adventorous programming techniques.
Ville Voipio, Dr.Tech., M.Sc. (EE)
More information about the Python-list