%The certification process of safety critical products for European and 
%other international standards often demand environmental stress, 
%endurance and Electro Magnetic Compatibility (EMC) testing. Theoretical, or 'static testing',
%is often also required. 
%
Failure Mode Effects Analysis (FMEA), is a is a bottom-up technique that aims to assess the effect all
component failure modes on a system.
It is used both as a design tool (to determine weaknesses), and is a requirement of certification of safety critical products.
FMEA has been successfully applied to mechanical, electrical and hybrid electro-mechanical systems.

Work on software FMEA (SFMEA) is beginning, but
at present no technique for SFMEA that
integrates hardware and software models known to the authors exists.
%
Software generally, sits on top of most modern safety critical control systems
and defines its most important system wide behaviour and communications.
Currently standards  that demand FMEA for hardware (e.g. EN298, EN61508),
do not specify it for Software, but instead specify, good practise,
review processes and language feature constraints.
 
This is a weakness; where FMEA % scientifically 
traces component {\fms}
to resultant system failures, software has been left in a non-analytical
limbo of best practises and constraints.
%
If software FMEA were possible, electro-mechanical-software hybrids could
be modelled; and could thus be  `complete' failure mode models. 
%Failure modes in components in say a sensor, could be traced
%up through the electronics and then through the controlling software.
Presently FMEA, stops at the glass ceiling of the computer program.
 
This paper presents an FMEA methodology which can be applied to software, and is compatible 
and integrate-able with FMEA performed on mechanical and electronic systems.
