

%%% OUTLINE

% Software FMEA
% 
% 
% Glaring hole in approvals FMEA is performed on hardware
% and electronics, but with software we only get guidlines ( which mostly consist of constraints!)
% 
% No known method of software failure mode effects analysis--- some work has been done on
% Sofware FTA a top down approach---
% Bottom up approach means all known failure modes must be modelled.
% SIL does not have metric or tools to analyse software for safety,
% it instead applies best practises and constraints on computer language features (i.e.
% in C limited use of pointers  no recursion etc).
% 
% 
% Introduce concept of FMEA
% * bottom up
% * all failure modes for all componnts
% 
% Concept of FMMD
% 
% Look at the structure of software
% * a natural hierarchy
% 
% Software written for  a controlled
% Contract programming
% * describe concept
% * describe how this fits in with failure modes and failure symptoms concepts
% 
% Describe how contract programming represents the failure modes of software
% 
% Now describe how this fits in with the structure of FMMD

 

\documentclass[twocolumn]{article}
%\documentclass[twocolumn,10pt]{report}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{tikz}
\usepackage{amsfonts,amsmath,amsthm}
\usetikzlibrary{shapes.gates.logic.US,trees,positioning,arrows}
%\input{../style}
\usepackage{ifthen}
\usepackage{lastpage}
\usetikzlibrary{shapes,snakes}
\newcommand{\tickYES}{\checkmark}
\newcommand{\fc}{fault~scenario}
\newcommand{\fcs}{fault~scenarios}
\date{}
%\renewcommand{\encodingdefault}{T1}
%\renewcommand{\rmdefault}{tnr}
%\newboolean{paper}
%\setboolean{paper}{true} % boolvar=true or false

\newcommand{\oc}{\ensuremath{^{o}{C}}}
\newcommand{\adctw}{{${\mathcal{ADC}}_{12}$}}
\newcommand{\adcten}{{${\mathcal{ADC}}_{10}$}}
\newcommand{\ohms}[1]{\ensuremath{#1\Omega}}
\newcommand{\fg}{functional~group}
\newcommand{\fgs}{functional~groups}
\newcommand{\dc}{derived~component}
\newcommand{\dcs}{derived~components}
\newcommand{\bc}{base~component}
\newcommand{\bcs}{base~components}
\newcommand{\irl}{in real life}
\newcommand{\enc}{\ensuremath{\stackrel{enc}{\longrightarrow}}}
\newcommand{\pin}{\ensuremath{\stackrel{pi}{\longleftrightarrow}}}
%\newcommand{\pic}{\em pure~intersection~chain}
\newcommand{\pic}{\em pair-wise~intersection~chain}
\newcommand{\wrt}{\em with~respect~to} 
\newcommand{\abslevel}{\ensuremath{\Psi}}
\newcommand{\fmmdgloss}{\glossary{name={FMMD},description={Failure Mode Modular De-Composition, a bottom-up methodolgy for incrementally building failure mode models, using a procedure taking functional groups of components and creating derived components representing them, and in turn using the derived components to create higher level functional groups, and so on, that are used to build a failure mode model of a system}}}
\newcommand{\fmodegloss}{\glossary{name={failure mode},description={The way in which a failure occurs. A component or sub-system may fail in a number of ways, and each of these is a 
failure mode of the component or sub-system}}}
\newcommand{\fmeagloss}{\glossary{name={FMEA}, description={Failure Mode and Effects analysis (FMEA) is a process where each potential failure mode within a system, is analysed to determine system level failure modes, and  to then classify them {\wrt} perceived severity}}}
\newcommand{\frategloss}{\glossary{name={failure rate}, description={The number of failure within a population (of size N), divided by N over a given time interval}}}
\newcommand{\pecgloss}{\glossary{name={PEC},description={A Programmable Electronic controller, will typically consist of sensors and actuators interfaced electronically, with some firmware/software component in overall control}}}
\newcommand{\bcfm}{base~component~failure~mode}
\def\layersep{1.8cm}

\newboolean{pld}
\setboolean{pld}{false} % boolvar=true or false : draw analysis using propositional logic diagrams

\newboolean{dag}
\setboolean{dag}{true} % boolvar=true or false : draw analysis using directed acylic graphs

\setlength{\topmargin}{0in}
\setlength{\headheight}{0in}
\setlength{\headsep}{0in}
\setlength{\textheight}{22cm}
\setlength{\textwidth}{18cm}
\setlength{\oddsidemargin}{0in}
\setlength{\evensidemargin}{0in}
\setlength{\parindent}{0.0in}
\setlength{\parskip}{6pt}

\begin{document}
%\pagestyle{fancy}
%\fancyhf{}
%\fancyhead[LO]{}
%\fancyhead[RE]{\leftmark}

%\cfoot{Page \thepage\ of \pageref{LastPage}}
%\rfoot{\today}
%\lhead{Developing a rigorous bottom-up modular static failure mode modelling methodology}
%\lhead{Developing a rigorous bottom-up modular static failure modelling methodology}
                                   % numbers at outer edges
\pagenumbering{arabic}                        % Arabic page numbers hereafter
\author{R.Clark$^\star$ \\ % , A.~Fish$^\dagger$ , C.~Garrett$^\dagger$, J.~Howse$^\dagger$  \\     
         $^\star${\em Energy Technology Control, UK. r.clark@energytechnologycontrol.com} \and $^\dagger${\em University of Brighton, UK} 
}

%\title{Developing a rigorous bottom-up modular static failure mode modelling methodology}
\title{Applying FMEA to Software}
%\nodate
\maketitle 

\paragraph{Keywords:} static failure mode modelling safety-critical
%\small

\abstract{ \em 
%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 weakness), and is a requirement of certification of safety critical products.
FMEA has been successfully applied to mechanical, electrical and hybrid electro-mechanical systems.

At present no known technique for Software FMEA exists.
Standards~\cite{en298}~\cite{en61508} that use FMEA
do not specify it for Software, but do specify, good practise,
review processes and language feature constraints.
Software gnerally, sits on top of most safety critical control systems
and 
This is a weakness; if software FMEA were possible electro-mechanical-software hybrids could
be modelled. 
 
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.
}

\section{Introduction}
{
This paper describes and appraises four current failure modelling methodologies.
Their advantages and deficiencies are discussed and a desirable criteria list 
for an `ideal' static failure mode methodology is developed.
A   proposed
methodology is then described. % and discussed. 
A worked example is then presented, using the new methodology, which models the failure mode
behaviour of a non-inverting op-amp circuit.
Using the worked example the new methodology is evaluated.
Finally the desirable criteria list is presented as a check box table alongside
four current methodologies.
}
 
\subsection{Evaluation of FMMD}
 
%\clearpage
\section{Conclusion}
 

\paragraph{Future work}
\begin{itemize}
\item To provide bounds on the size of the state space for the application of the methodology to certain classes of systems.
\item To build a {\dcs} library of common electrical, mechanical and software models (i.e. a collection of worked example {\dcs}).
\item To provide formal generic translations from the constructed model of any given system to the other models.
\end{itemize}
%\today
%
{ %\tiny %\footnotesize
\bibliographystyle{plain}
\bibliography{vmgbibliography,mybib}
}

%\today
\end{document}

