Product error in embedded systems
An embedded system (and its host product) can suffer from a variety of kinds of fault:
- ‘Hard’ faults: engineering mistakes (e.g. wrong choice of material, bug in computer code) or weaknesses (e.g. environmental sensitivity) in making the product ‘right’, leading to significant risk of product failure
- ‘Soft’ or ‘perceptive’ faults: design mistakes or weaknesses in making the ‘right’ product, leading to incorrect use by human operator
Both kinds of fault can be associated with both the hardware and software components of an embedded system.
Classical engineering has traditionally focused on hard faults. More recently, with increasing product sophistication, soft faults are actually becoming more frequent than hard faults, at least in certain product categories [Koca et al. 2008].
Repair and recovery
The importance in making the above distinction between different kinds of faults is that different actions will be required to remedy the faults:
- ‘Hard’ fault => Product incapable of functioning according to technical specifications without intervention of qualified technical repair (or replacement)
- ‘Soft’ fault => Product still capable of functioning according to technical specifications but requires qualified intervention for recovery, e.g. instructions, explanations, additional information to the human user [Koca et al. 2008]
Koca A et al. 2009 “Soft reliability: An interdisciplinary approach with a user-system focus”, Qual. Reliab. Engng. Int. 25, 3 – 20 DOI: 10.1002/qre.937