Authors: Chris Inacio
Ying Shi
In order to mitigate these problems, various techniques can be employed. Some of these techniques include classical hardware fault tolerance methods, graceful degradation, mecahnical or electrical fail safes, "idiot-proof" user interfaces, and functional diversity. By using a combination of these techniques in a well thought out approach the robustness of the system can be increased. Robustness is an emergent property, however, and so designing specifically for robustness is not possible. A system can be designed with robustness as a goal, and surely a system with robustness as a goal will be more robust than a system designed without that goal, but it does not gurantee a robust system.
A robustness benchmark can be used to measure how a system reacts
to possible erroneous inputs or environmental factors. The robustness
benchmark is used as an indentification of a system error detection mechanism.
Unforuntately, it is not possible to fully determine how robust a system
is. Using a robustness benchmark can only help in modeling and estimating
the robustness of the system. (For more information on why you cannot
measure this property, see the software testing section.)
An important part of many embedded systems, especially those embedded
systems which are safety critical, are the fail safe mechanisms.
Fail safes are an old concept in which, when a system detects that it is
becoming unstable defaults into moving to a fail safe state. The
fail safe state should put the system into the safest possible state and
wait for either the user to intervene or reset the system.
Safety interlocks are a method of using additional subsystems within
a complex embedded system in order to ensure that even if a different subsystems
malfunctions, the system does not create a dangerous situation. For example,
the doors on an elavator may use mechanical safety interlocks so that,
unless the mechanical interlocks are released, the doors will not open
between floors. The doors are generally controlled by an electronic
motor and controller system, however, and the sole purpose of the mechanical
system is for extra safety, increasing the robustness of the system.