diff --git a/old_thesis/opamp_circuits_C_GARRETT/opamps.tex b/old_thesis/opamp_circuits_C_GARRETT/opamps.tex index 753dc55..a9f9ee1 100644 --- a/old_thesis/opamp_circuits_C_GARRETT/opamps.tex +++ b/old_thesis/opamp_circuits_C_GARRETT/opamps.tex @@ -1,3 +1,11 @@ +% +% +% OBSOLETE THIS HAS BEEN MOVED TO CHAPTER 5 NOW +% 09MAR2012 +% +% +% + \documentclass[a4paper,10pt]{article} \usepackage[utf8x]{inputenc} \usepackage{graphicx} diff --git a/thesis_submission/CH5_Examples/Makefile b/thesis_submission/CH5_Examples/Makefile new file mode 100644 index 0000000..88f84cb --- /dev/null +++ b/thesis_submission/CH5_Examples/Makefile @@ -0,0 +1,19 @@ + + +PNG_DIA = circuit1_dag.png mvampcircuit.png pd.png invamp.png shared_component.png tree_abstraction_levels.png three_tree.png blockdiagramcircuit2.png circuit2h.png bubba_oscillator_block_diagram.png dubsim1.png poss1finalbubba.png poss2finalbubba.png + + + +%.png:%.dia + dia -t png $< + + + +pdf: $(PNG_DIA) + pdflatex copy + acroread copy.pdf & + + +bib: + bibtex copy + #makeindex opamps.glo -s opamps.ist -t opamps.glg -o opamps.gls diff --git a/thesis_submission/CH5_Examples/circuit1001.png b/thesis_submission/CH5_Examples/circuit1001.png new file mode 100644 index 0000000..7652287 Binary files /dev/null and b/thesis_submission/CH5_Examples/circuit1001.png differ diff --git a/thesis_submission/CH5_Examples/circuit1_dag.png b/thesis_submission/CH5_Examples/circuit1_dag.png new file mode 100644 index 0000000..bfdeef4 Binary files /dev/null and b/thesis_submission/CH5_Examples/circuit1_dag.png differ diff --git a/thesis_submission/CH5_Examples/circuit2002.png b/thesis_submission/CH5_Examples/circuit2002.png new file mode 100644 index 0000000..060df96 Binary files /dev/null and b/thesis_submission/CH5_Examples/circuit2002.png differ diff --git a/thesis_submission/CH5_Examples/circuit2002_FIVEPOLE.png b/thesis_submission/CH5_Examples/circuit2002_FIVEPOLE.png new file mode 100644 index 0000000..2577f17 Binary files /dev/null and b/thesis_submission/CH5_Examples/circuit2002_FIVEPOLE.png differ diff --git a/thesis_submission/CH5_Examples/circuit2002_LP1.png b/thesis_submission/CH5_Examples/circuit2002_LP1.png new file mode 100644 index 0000000..f684897 Binary files /dev/null and b/thesis_submission/CH5_Examples/circuit2002_LP1.png differ diff --git a/thesis_submission/CH5_Examples/circuit2h.png b/thesis_submission/CH5_Examples/circuit2h.png new file mode 100644 index 0000000..c40c795 Binary files /dev/null and b/thesis_submission/CH5_Examples/circuit2h.png differ diff --git a/thesis_submission/CH5_Examples/circuit3003.png b/thesis_submission/CH5_Examples/circuit3003.png new file mode 100644 index 0000000..855ca00 Binary files /dev/null and b/thesis_submission/CH5_Examples/circuit3003.png differ diff --git a/thesis_submission/CH5_Examples/copy.tex b/thesis_submission/CH5_Examples/copy.tex new file mode 100644 index 0000000..753dc55 --- /dev/null +++ b/thesis_submission/CH5_Examples/copy.tex @@ -0,0 +1,1941 @@ +\documentclass[a4paper,10pt]{article} +\usepackage[utf8x]{inputenc} +\usepackage{graphicx} +\usepackage{fancyhdr} +\usepackage{tikz} +\usetikzlibrary{shapes,snakes} +\usetikzlibrary{shapes.gates.logic.US,trees,positioning,arrows} +\usepackage{subfigure} +\usepackage{amsfonts,amsmath,amsthm} +\usepackage{algorithm} +\usepackage{algorithmic} +\usepackage{lastpage} + +\newcommand{\fg}{\em functional~group} +\newcommand{\fgs}{\em functional~groups} +\newcommand{\dc}{\em derived~component} +\newcommand{\dcs}{\em derived~components} +\newcommand{\bc}{\em base~component} +\newcommand{\bcs}{\em base~components} +\newcommand{\irl}{in~real~life} +\newcommand{\abslevel}{\ensuremath{\psi}} +\newcommand{\FG}{\ensuremath{G}} + +%\usepackage{glossary} +%opening +\title{Example OPAMP circuits} +\author{Robin} + +\begin{document} +\begin{abstract} +\pagenumbering{roman} +Circuits from email conversation. + +Not a document to be proof read. + +Proof of analysis concept. + +Function $fm$ applied to a component returns its failure modes. + + +The circuits specified are not typical safety critical circuitry which usually +has both redundancy and self~checking and/or diagnostic features build in. +These are examples of the FMMD methodology being applied to some standard electronic circuits. +\today +\end{abstract} +\maketitle +\tableofcontents +\listoffigures +\listoftables + +\clearpage \pagenumbering{arabic} +\section{Basic Concepts Of FMMD} + +The idea behind FMMD is to modularise, from the bottom-up, failure mode effects analysis. +Traditional FMEA takes part failure modes and then determines what effect each of these +failure modes could have on the system under investigation. +It is worth defining clearly the term part here. +Geoffry Hall writing in space Craft Systems Engineering~\cite{scse}[p.619], defines it thus: +``{Part(definition)}---The Lowest level of assembly, beyond which further disassembly irrevocably destroys the item''. +In the field of electronics a resistor, capacitor and op-amp would fit this definition of a `part'. +Failure modes for part types can be found in the literature~\cite{fmd91}\cite{mil1991}. + + +Traditional FMEA, by looking at `part' level failure modes +involves what we could term a large `reasoning~distance'; that is to say +in a complex system, taking a particular failure mode, of a particular part +and then trying to predict the outcome in the context of an entire system, is +a leap~of~faith. There will be numerous possibilities of effects and side effects on +other components in the system; more than is practically possible to rigorously examine. +To simply trace a simple route from a particular part failure mode to a top level system error/symptom +oversimplifies the task of failure mode analysis, and makes the process arbitrary and error prone. + +Fortunately most real-world designs take a modular approach. In Electronics +for instance, commonly used configurations of parts are used to create +amplifiers, filters, potential dividers etc. +%It is therefore natural to collect parts to form functional groups. +It is common design practise in electronics, to use collections of parts in specific configurations +to form well-defined and well-known building blocks. +These commonly used configurations of parts, or {\fgs}, will +also have a specific failure mode behaviour. +We can take a {\fg} and determine its symptoms of failure. +When we have done this we can treat this as a component in its own right. +If we terms `parts' as base~components and components we have determined +from functional groups as derived components, we can modularise FMEA. +If we start building {\fgs} from derived components we can start to build a modular +hierarchical failure mode model. Modularising FMEA should give benefits of reducing reasoning distance, +allowing re-use of modules and reducing the number of by-hand analysis checks to consider. + + +\paragraph {Definitions} + +\begin{itemize} +\item {\bc} - is taken to mean a `part' as defined above~\cite{scse}[p.619]. We should be able to define a set of failure modes for every {\bc}. +\item {\fg} - a collection of components chosen to perform a particular task +\item {\em symptom} - a failure mode of a functional group caused by one or more of its component failure modes. +\item {\dc} - a new component derived from an analysed {\fg} +\end{itemize} + +\paragraph{ Creating a fault hierarchy.} +The main concept of FMMD is to build a hierarchy of failure behaviour from the {\bc} +level up to the top, or system level, with analysis stages between each +transition to a higher level in the hierarchy. + + +The first stage is to choose +{\bcs} that interact and naturally form {\fgs}. The initial {\fgs} are collections of base components. +%These parts all have associated fault modes. A module is a set fault~modes. +From the point of view of fault analysis, we are not interested in the components themselves, but in the ways in which they can fail. + +A {\fg} is a collection of components that perform some simple task or function. +% +In order to determine how a {\fg} can fail, +we need to consider all failure modes of its components. +% +By analysing the fault behaviour of a `{\fg}' with respect to all its components failure modes, +we can determine its symptoms of failure. +%In fact we can call these +%the symptoms of failure for the {\fg}. + +With these symptoms (a set of derived faults from the perspective of the {\fg}) +we can now state that the {\fg} (as an entity in its own right) can fail in a number of well defined ways. +% +In other words we have taken a {\fg}, and analysed how +\textbf{it} can fail according to the failure modes of its components, and then +determined the {\fg} failure modes. + +\paragraph{Creating a derived component.} +We create a new `{\dc}' which has +the failure symptoms of the {\fg} from which it was derived, as its set of failure modes. +This new {\dc} is at a higher `failure~mode~abstraction~level' than {\bcs}. +% +\paragraph{An example of a {\dc}.} +To give an example of this, we could look at the components that +form, say an amplifier. We look at how all the components within it +could fail and how that would affect the amplifier. +% +The ways in which the amplifier can be affected are its symptoms. +% +When we have determined the symptoms, we can +create a {\dc} (called say AMP1) which has a {\em known set of failure modes} (i.e. its symptoms). +We can now treat $AMP1$ as a pre-analysed, higher level component. +The amplifier is an abstract concept, in terms of the components. +To a make an `amplifier' we have to connect a a group of components +in a specific configuration. This specific configuration corresponds to +a {\fg}. Our use of it as a building block corresponds to a {\dc}. + + +%What this means is the `fault~symptoms' of the module have been derived. +% +%When we have determined the fault~modes at the module level these can become a set of derived faults. +%By taking sets of derived faults (module level faults) we can combine these to form modules +%at a higher level of fault abstraction. An entire hierarchy of fault modes can now be built in this way, +%to represent the fault behaviour of the entire system. This can be seen as using the modules we have analysed +%as parts, parts which may now be combined to create new functional groups, +%but as parts at a higher level of fault abstraction. +\paragraph{Building the Hierarchy.} +Applying the same process with {\dcs} we can bring {\dcs} +together to form functional groups and create new {\dcs} +at even higher abstraction levels. Eventually we will have a hierarchy +that converges to one top level {\dc}. At this stage we have a complete failure +mode model of the system under investigation. + +\begin{figure}[h] + \centering + \includegraphics[width=200pt,keepaspectratio=true]{./tree_abstraction_levels.png} + % tree_abstraction_levels.png: 495x292 pixel, 72dpi, 17.46x10.30 cm, bb=0 0 495 292 + \caption{FMMD Hierarchy showing ascending abstraction levels} + \label{fig:treeabslev} +\end{figure} + +Figure~\ref{fig:treeabslev} shows an FMMD hierarchy, where the process of creating a {\dc} from a {\fg} +is shown as a `$\bowtie$' symbol. + + +\subsection{An algebraic notation for identifying FMMD enitities} +Consider all `components' to exist as +members of a set $\mathcal{C}$. +% +Each component $c$ has an associated set of failure modes. +We can define a function $fm$ that returns a +set of failure modes $F$, for the component $c$. + +Let the set of all possible components be $\mathcal{C}$ +and let the set of all possible failure modes be $\mathcal{F}$. + +We now define the function $fm$ +as +\begin{equation} +\label{eqn:fm} +fm : \mathcal{C} \rightarrow \mathcal{P}\mathcal{F}. +\end{equation} +This is defined by, where $c$ is a component and $F$ is a set of failure modes, +$ fm ( c ) = F. $ + +We can use the variable name $\FG$ to represent a {\fg}. A {\fg} is a collection +of components. +%We thus define $FG$ as a set of chosen components defining +%a {\fg}; all functional groups +We can state that +{\FG} is a member of the power set of all components, $ \FG \in \mathcal{P} \mathcal{C}. $ + +We can overload the $fm$ function for a functional group {\FG} +where it will return all the failure modes of the components in {\FG} + + +given by + +$$ fm ({\FG}) = F. $$ + +Generally, where $\mathcal{{\FG}}$ is the set of all functional groups, + +\begin{equation} +fm : \mathcal{{\FG}} \rightarrow \mathcal{P}\mathcal{F}. +\end{equation} + + +%$$ \mathcal{fm}(C) \rightarrow S $$ +%$$ {fm}(C) \rightarrow S $$ +\paragraph{Abstraction Levels of {\fgs} and {\dcs}} + + +\label{sec:indexsub} +We can indicate the abstraction level of a component by using a superscript. +Thus for the component $c$, where it is a `base component' we can assign it +the abstraction level zero, $c^0$. Should we wish to index the components +(for example as in a product parts-list) we can use a sub-script. +Our base component (if first in the parts-list) could now be uniquely identified as +$c^0_1$. + +We can further define the abstraction level of a {\fg}. +We can say that it is the maximum abstraction level of any of its +components. Thus a functional group containing only base components +would have an abstraction level zero and could be represented with a superscript of zero thus +`${\FG}^0$'. % The functional group set may also be indexed. + +We can apply symptom abstraction to a {\fg} to find +its symptoms. +%We are interested in the failure modes +%of all the components in the {\fg}. An analysis process +We define the symptom abstraction process with the symbol `$\bowtie$'.% is applied to the {\fg}. +% +The $\bowtie$ function takes a {\fg} +as an argument and returns a newly created {\dc}. +% +%The $\bowtie$ analysis, a symptom extraction process, is described in chapter \ref{chap:sympex}. +The symptom abstraction process must always raise the abstraction level +for the newly created {\dc}. +Using $\abslevel$ to symbolise the fault abstraction level, we can now state: + +$$ \bowtie({\FG}^{\abslevel}) \rightarrow c^{{\abslevel}+N} | N \ge 1. $$ + +\paragraph{Functional Groups may be indexed} +We will typically have more than one {\fg} on each level of FMMD hierarchy ( expect the top level where there will only be one) +we could index the {\fgs} with a sub-script, and can then uniquely identify them using their level and their index. +For example ${\FG}^{3}_{2}$ would be the second {\fg} at the third level of abstraction in an FMMD hierarchy. + +\paragraph{The symptom abstraction process in outline.} +The $\bowtie$ function processes each component in the {\fg} and +extracts all the component failure modes. +With all the failure modes, an analyst can +determine how each failure mode will affect the {\fg}, and then collect common symptoms. +A new {\dc} is created +where its failure modes, are the symptoms from {\fg}. +Note that the component must have a higher abstraction level than the {\fg} +it was derived from. + + +\paragraph{Surjective constraint applied to symptom collection.} +We can stipulate that symptom collection process is surjective. +% i.e. $ \forall f in F $ +By stipulating surjection for symptom collection, we ensure +that each component failure mode maps to at least one symptom. +We also ensure that all symptoms have at least one component failure +mode (i.e. one or more failure modes that caused it). +% + +\subsection{FMMD Hierarchy} + +By applying stages of analysis to higher and higher abstraction +levels, we can converge to a complete failure mode model of the system under analysis. +Because the symptom abstraction process is defined as surjective (from component failure modes to symptoms) +the number of symptoms is guaranteed to be less than or equal to +the number of component failure modes. + +In practise however, the number of symptoms greatly reduces as we traverse +up the hierarchy. +This is a natural process. When we have complicated systems +they always have a small number of system failure modes in comparison to +the number of failure modes in its sub-systems/components.. + + +\section{Examples of Derived Component like concepts in safety literature} + +Idea stage on this section, integrated circuits and some compond parts (like digital resistors) +are treated like base components. i.e. this sets a precedent for {\dcs}. + +\begin{itemize} + \item Look at OPAMP circuits, pick one (say $\mu$741) + \item Digital transistor perhaps, inside two resistors and a transistor. + \item outline a proposed FMMD analysis + \item Show FMD-91 OPAMP failure modes -- compare with FMMD +\end{itemize} + +The gas burner standard (EN298~\cite{en298}), only considers OPEN and SHORT for resistors +(and for some types of resistors OPEN only). +FMD-91~\cite{fmd91}(the US military failure modes guide) also includes `parameter change' in its description of resistor failure modes. +Now a resistor will generally only suffer parameter change when over stressed. +EN298 stipulates down rating by 60\% to maximum stress +possible in a circuit. So even if you have a resistor that preliminary tells you would +never be subjected to say more than 5V, but there is say, a 24V rail +on the circuit, you have to choose resistors able to cope with the 24V +stress/load and then down rate by 60\%. That is to say the resitor should be rated for a maximum +voltage of $ > 38.4V$ and should be rated 60\% higher for its power consumption at $38.4V$. +Because of down-rating, it is reasonable to not have to consider parameter change under EN298 approvals. + +\clearpage +Two areas that cannot be automated. Choosing {\fgs} and the analysis/symptom collection process itself. + + +\subsection{{\fgs} Sharing components and Hierarchy} + +With electronics we need to follow the signal path to make sense of failure modes +effects on other parts of the circuit further down that path. +%{\fgs} will naturally have to be in the position of starter +A power-supply is naturally first in a signal path (or failure reasoning path). +That is to say, if the power-supply is faulty, its failure modes are likely to affect +the {\fgs} that have to use it. + +This means that most electronic components should be placed higher in an FMMD +hierarchy than the power-supply. +A shorted de-coupling capactitor caused a `symptom' of the power-supply, +and an open de-coupling capactitor should be considered a `failure~mode' relevant to the logic chip. +% to consider. + +If components can be shared between functional groups, this means that components +must be shareable between {\fgs} at different levels in the FMMD hierarchy. +This hierarchy and an optionally shared de-coupling capacitor (with line highlighted in red and dashed) are shown +in figure~\ref{fig:shared_component}. + +\begin{figure} + \centering + \includegraphics[width=250pt,keepaspectratio=true]{./shared_component.png} + % shared_component.png: 729x670 pixel, 72dpi, 25.72x23.64 cm, bb=0 0 729 670 + \caption{Optionally shared Component} + \label{fig:shared_component} +\end{figure} + +\subsection{Hierarchy and structure} +By having this structure, the logic circuit element, can accept failure modes from the +power-supply (for instance these might, for the sake of example include: $NO\_POWER$, $LOW\_VOLTAGE$, $HIGH\_VOLTAGE$, $NOISE\_HF$, $NOISE\_LF$. +Our logic circuit may be able to cope with $LOW\_VOLTAGE$ and $NOISE\_LF$, but react with a serious symptom to $NOISE\_HF$ say. +But in order to process these failure modes it must be at a higher stage in the FMMD hierarchy. + +\pagebreak[4] +\section{Defining the concept of `comparison~complexity' in FMEA} + +% +% DOMAIN == INPUTS +% RANGE == OUTPUTS +% + +When performing FMEA we have a system under investigation, which will +comprise of a collection of components which have associated failure modes. +The object of FMEA is to determine cause and effect: +from the failure modes (the causes) to the effects (or symptoms of failure). +% +To perform FMEA rigorously +we could stipulate that every failure mode must be checked for effects +against all the components in the system. +We could term this `rigorous~FMEA'~(RFMEA). +The number of checks we have to make to achieve this gives an indication of the complexity of the task. +% +We could term this `comparison~complexity', as it is the number of +paths between failure modes and components, necessary to achieve RFMEA, for a given system/functional~group. + + +% (except its self of course, that component is already considered to be in a failed state!). +% +Obviously, for a small number of components and failure modes we have a smaller number +of checks to make than for a complicated larger system. +% +We can consider the system as a large {\fg} of components. +We represent the number of components in the {\fg} $G$, by +$ | G | $ +(an indexing and sub-scripting notation to identify particular {\fgs} +within an FMMD hierarchy is given in section~\ref{sec:indexsub}). + +The function $fm$ has a component as its domain and the components failure modes as its range (see equation~\ref{eqn:fm}). +We can represent the number of potential failure modes of a component $c$, to be $ | fm(c) | .$ + +If we index all the components in the system under investigation $ c_1, c_2 \ldots c_{|\FG|} $ we can express +the number of checks required to rigorously examine every +failure mode against all the other components in the system. +We can define this as a function, Comparison Complexity, $CC$, with its domain as the system +or {\fg}, $\FG$, and +its range as the number of checks to perform to satisfy a rigorous FMEA inspection. + +Where $\mathcal{\FG}$ represents the set of all {\fgs}, and $ \mathbb{N} $ any natural integer, $CC$ is defined by, +\begin{equation} +%$$ + CC:\mathcal{\FG} \rightarrow \mathbb{N}, +%$$ +\end{equation} + +and, where n is the number of components in the system/{\fg}, $|fm(c_i)|$ is the number of failure modes +in component ${c_i}$, is given by + +\begin{equation} +\label{eqn:CC} +%$$ + %%% when it was called reasoning distance -- 19NOV2011 -- RD(fg) = \sum_{n=1}^{|fg|} |fm(c_n)|.(|fg|-1) + CC(\FG) = (n-1) \sum_{1 \le i \le n} fm(c_i). +%$$ +\end{equation} + +This can be simplified if we can determine the total number of failure modes in the system $K$, (i.e. $ K = \sum_{n=1}^{|G|} {|fm(c_n)|}$); +equation~\ref{eqn:CC} becomes + +%$$ +\begin{equation} +\label{eqn:rd2} + CC(\FG) = K.(|\FG|-1). +\end{equation} +%$$ +%Equation~\ref{eqn:rd} can also be expressed as +% +% \begin{equation} +% \label{eqn:rd2} +% %$$ +% CC(G) = {|G|}.{|fm(c_n)|}.{(|fg|-1)} . +% %$$ +% \end{equation} +\subsection{A general formula for counting Comparison Complexity in an FMMD hierarchy} + +An FMMD Hierarchy will have reducing numbers of functional groups as we progress up the hierarchy. +In order to calculate its comparison~complexity we need to apply equation~\ref{eqn:CC} to +all {\fgs} on each level. + +We define a helper function $g$ with a domain of the level $i$ in an FMMD hierarchy $H$, and a co-domain of a set of {\fgs} (specifically all the {\fgs} on the given level), +defined by + +\begin{equation} +%$$ +g(H, i) \rightarrow \forall {\FG}^{\xi} \;where\; ({\xi} = {i}) \wedge ({\FG}^{\xi} \in H) . +%$$ +\end{equation} + +Where $L$ represents the number of levels in the FMMD hierarchy, +$|g(\xi)|$ represents the number of functional groups on the level +and $H$ represents an FMMD hierarchy, +we overload the comparison complexity thus: +%$$ +\begin{equation} + \label{eqn:gf} + CC(H) = \sum_{\xi=0}^{L} \sum_{j=1}^{|g(H,\xi)|} CC({\FG}_{j}^{\xi}). +%$$ +\end{equation} + + +\pagebreak[4] +\subsection{Complexity Comparison Examples} + +The potential divider discussed in section~\ref{potdivfmmd} has four failure modes and two components and therefore has $CC$ of 4. +$$CC(potdiv) = \sum_{n=1}^{2} |2|.(|1|) = 4 $$ + +Even considering a $fictitious$ system with just 81 components (with these components +having 3 failure modes each) we would have an $CC$ of + +$$CC(fictitious) = \sum_{n=1}^{81} |3|.(|80|) = 19440 .$$ + +Ensuring all component failure modes are checked against all other components in a system +-- applying FMEA rigorously -- could be termed +Rigorous FMEA (RFMEA). +The computational order for RFMEA would be polynomial ($O(N^2.K)$) (where $K$ is the variable number of failure modes). + +This order may be acceptable in a computational environment: However, the choosing of {\fgs} and the analysis +process are by-hand/human activities. It can be seen that it is practically impossible to achieve +RFMEA for anything but trivial systems. +% +% Next statement needs alot of justification +% +It is the authors belief that FMMD reduces the comparison complexity enough to make +rigorous checking feasible. + + +\pagebreak[4] +%\subsection{Using the concept of Complexity Comparison to compare RFMEA with FMMD} + +\begin{figure} + \centering + \includegraphics[width=400pt,keepaspectratio=true]{./three_tree.png} + % three_tree.png: 851x385 pixel, 72dpi, 30.02x13.58 cm, bb=0 0 851 385 + \caption{FMMD Hierarchy with number of components in {\fg} fixed to 3 $(|G| = 3)$ } % \wedge (|fm(c)| = 3)$} + \label{fig:three_tree} +\end{figure} + + + +\subsection{Comparing FMMD and RFMEA comparison complexity} + +Because components have variable numbers of failure modes, +and {\fgs} have variable numbers of components it is difficult to +use the general formula for comparing the number of checks to make for +RFMEA and FMMD. +If we were to create an example by fixing the number of components in a {\fg} +and the number of failure modes per component, we can derive formulae +to compare the number of checks to make from an FMMD hierarchy to RFMEA applied to +all components in a system. + +Consider $k$ to be the number of components in a {\fg} (i.e. $k=|{\FG}|$), +$f$ is the number of failure modes per component (i.e. $f=|fm(c)|$), and +$L$ to be the number of levels in the hierarchy of an FMMD analysis. +We can represent the number of failure scenarios to check in a (fixed parameter for $|{\FG}|$ and $|fm(c_i)|$) FMMD hierarchy +with equation~\ref{eqn:anscen}. + +\begin{equation} + \label{eqn:anscen} + \sum_{n=0}^{L} {k}^{n}.k.f.(k-1) +\end{equation} + +The thinking behind equation~\ref{eqn:anscen}, is that for each level of analysis -- counting down from the top -- +there are ${k}^{n}$ {\fgs} within each level; we need to apply RFMEA to each {\fg} on the level. +The number of checks to make for RFMEA is number of components $k$ multiplied by the number of failure modes $f$ +checked against the remaining components in the {\fg} $(k-1)$. + +If, for the sake of example we fix the number of components in a {\fg} to three and +the number of failure modes per component to three, an FMMD hierarchy +would look like figure~\ref{fig:three_tree}. + +\subsection{Worked Example} + +Using the diagram in figure~\ref{fig:three_tree}, we have three levels of analysis. +Starting at the top, we have a {\fg} with three derived components, each of which has +three failure modes. +Thus the number of checks to make in the top level is $3^0.3.2.3=18$. +On the level below that, we have three {\fgs} each with a +an identical number of checks, $3^1.3.2.3=56$.%{\fg} +On the level below that we have nine {\fgs}, $3^2.3.2.3=168$. +Adding these together gives $242$ checks to make to perform FMMD (i.e. RFMEA {\em{within the}} +{\fgs}). + +If we were to take the system represented in figure~\ref{fig:three_tree}, and +apply RFMEA on it as a whole system, we can use equation~\ref{eqn:CC}, +$CC(G) = \sum_{n=1}^{|G|} |fm(c_n)|.(|G|-1)$, where $|G|$ is 27, $fm(c_n)$ is 3 +and $(|G|-1)$ is 26. +This gives: +$CC(G) = \sum_{n=1}^{27} |3|.(|27|-1) = 2106$. + +In order to get general equations with which to compare RFMEA with FMMD +we can re-write equation~\ref{eqn:CC} in terms of the number of levels +in an FMMD hierarchy. +% +The number of components in the system, is number of components +in a {\fg} raised to the power of the level plus one. +Thus we re-write equation~\ref{eqn:CC} as: + + +\begin{equation} + \label{eqn:fmea_state_exp21} + \sum_{n=1}^{k^{L+1}}.(k^{L+1}-1).f \; , % \\ + %(N^2 - N).f +\end{equation} + +or + +\begin{equation} + \label{eqn:fmea_state_exp22} + k^{L+1}.(k^{L+1}-1).f \;. % \\ + %(N^2 - N).f +\end{equation} + +We can now use equation~\ref{eqn:anscen} and \ref{eqn:fmea_state_exp22} to compare (for fixed sizes of $|G|$ and $|fm(c)|$) +the two approaches, for the work required to perform rigorous checking. + + +For instance, having four levels +of FMMD analysis, with these fixed numbers, +%(in addition to the top zeroth level) +will require 81 base level components. + +$$ +%\begin{equation} + \label{eqn:fmea_state_exp22} + 3^4.(3^4-1).3 = 81.(81-1).3 = 19440 % \\ + %(N^2 - N).f +%\end{equation} +$$ + +$$ +%\begin{equation} + % \label{eqn:anscen} + \sum_{n=0}^{3} {3}^{n}.3.3.(2) = 720 +%\end{equation} +$$ + +% \subsection{Exponential squared to Exponential} +% +% can I say that ? + +\section{Problems in choosing membership of functional groups} + +\subsection{Side Effects: A Problem for FMMD analysis} +A problem with modularising according to functionality is that we can have component failures that would +intuitively be associated with one {\fg} that may cause unintended side effects in other +{\fgs}. +For instance were we to have a component that on failing $SHORT$ could bring down +a voltage supply rail, this could have drastic consequences for other +functional groups in the system we are examining. + +\pagebreak[3] +\subsubsection{Example de-coupling capacitors in logic circuits} + +A good example of this, are de-coupling capacitors, often used +over the power supply pins of all chips in a digital logic circuit. +Were any of these capacitors to fail $SHORT$ they could bring down +the supply voltage to the other logic chips. + + +To a power-supply, shorted capacitors on the supply rails +are a potential source of the symptom, $SUPPLY\_SHORT$. +In a logic chip/digital circuit {\fg} open capacitors are a potential +source of symptoms caused by the failure mode $INTERFERENCE$. +So we have a `symptom' of the power-supply, and a `failure~mode' of + the logic chip to consider. + +A possible solution to this is to include the de-coupling capacitors +in the power-supply {\fg}. +% decision, could they be included in both places ???? +% I think so + + +Because the capacitor has two potential failure modes (EN298) +this raises another issue for FMMD. A de-coupling capacitor going $OPEN$ might not be considered relevant to +a power-supply module (but there might be additional noise on its output rails). +But in {\fg} terms the power supply, now has a new symptom that of $INTERFERENCE$. + +Some logic chips are more susceptible to $INTERFERENCE$ than others. +A logic chip with de-coupling capacitor failing, may operate correctly +but interfere with other chips in the circuit. + +There is no reason why the de-coupling capacitors could not be included {\em in the {\fg} they would intuitively be associated with as well}. +This allows for the general principle of a component failure affecting more than one {\fg} in a circuit. +This allows functional groups to share components where necessary. +This does not break the modularity of the FMMD technique, because, as {\irl} +one component failure may affect more than one sub-system. +It does uncover a weakness in the FMMD methodology though. +It could be very easy to miss the side effect and include +the component causing the side effect into the wrong {\fg}, or only one germane {\fg}. + + + +\section{Double Simultaneous Failures} + +The probability for independent double simultaneous component failures (because we would multiply the probabilities of failure) is very low. +However, some critical systems have to consider these type of eventualities. +The burner control industry has to consider double failures, as specified in European Norm +EN298~\cite{en298}. EN298 does not specifically state that +double simultaneous failures must be considered. What it does say is that +in the event of a lockout---a condition where an error has been detected and +the equipment moves to a safe non-functioning state---no secondary failure may cause a dangerous condition. +% +This is slightly vague: there are so many possible component failures that could +cause a secondary failure, that it is very difficult not to interpret this +as meaning we have to cater for double simultaneous failures for the most critical sections +of a burner control system. +% +In practise---in the field of EN298: burner controllers---this means triple safeguards to ensure the fuel +is not allowed to flow under an error condition. This would of course leave the possibility of +other more complex double failures tricking the controller into thinking the +combustion was actually safe when it was not. +% +It would be impractical to +perform the number of checks (as the checking is time-consuming human process) required of RFMEA on a system as complex as a burner controller. + +It has been shown that, for all but trivial small systems, double failure mode checking +is impossible from a practical perspective. +FMMD can reduce the number of checks to make to achieve double simultaneous failure checking -- but by the very nature +of choosing {\fgs} we will not (in the initial stages) be cross checking all possible +combinations of double failures in all the components. + +The diagram in figure~\ref{fig:dubsim1}, uses Euler diagrams to model failure modes (as closed contours) and asterisks +to model failure mode scenarios. The failure scenario is defined by the contours that enclose it. +Consider a system which has four components $c_1 \ldots c_4$. +Consider that each of these components may fail in two ways: $a$ and $b$, i.e $fm(c_1) = fm(c_2) = \{a,b\}$. +Now consider two {\fgs}, $fg1 = \{ c_1, c_2 \}$ and $fg2 = \{ c_3, c_4 \}$. + +We list all the possible failure scenarios as $FS1 \ldots FS6$ for each functional group. +For instance $FS5$ is the result of component $c_2$ failing with failure mode $a$ and component $c_1$ failing +with failure mode $b$. We can express this as $c_2 a \cup c_1 b$. + + +\begin{figure}[h] + \centering + \includegraphics[width=300pt,keepaspectratio=true]{./dubsim1.png} + % dubsim1.png: 612x330 pixel, 72dpi, 21.59x11.64 cm, bb=0 0 612 330 + \caption{Simultaneous Failure Mode Scenarios} + \label{fig:dubsim1} +\end{figure} + + + +From figure~\ref{fig:dubsim1} we can see that the double failure modes within the {\fgs} have been examined. +How do we model the double failures that occur across the {\fgs}, for instance +$c_4 a \cup c_1 a$. +It could be argued that because functional groups are chosen for their functionality, and re-usability +that component failures in one should not affect a different {\fg}, but this is a weak argument. +Merely double checking within {\fgs} would be marginally better than +only applying it to the most obvious critical elements of a system. + +What is really required is a way that all double simultaneous failures +are checked. + +One way of doing this is to apply double failure mode +checking to all {\fgs} higher up in the hierarchy. + +This guarantees to check the symptoms caused by the +failure modes in the other {\fgs} with the symptoms +derived from the other {\fgs} modelling for double failures. +% +By traversing down the tree we can automatically determine which +double simultaneous combinations have not been resolved. +% +By applying double simultaneous checking until no single failures +canlead to a top level event, we +double failure move coverage. + +To extend the example in figure~\ref{fig:dubsim1} we can map the failure +scenarios. +For Functional Group 1 (FG1), let us map: +\begin{eqnarray*} + FS1 & \mapsto & S1 \\ + FS2 & \mapsto & S3 \\ + FS3 & \mapsto & S1 \\ + FS4 & \mapsto & S2 \\ + FS5 & \mapsto & S2 \\ + FS6 & \mapsto & S3 +\end{eqnarray*} + +Thus a derived component, DC1, has the failure modes defined by $fm(DC1) = \{ S1, S2, S3 \}$. + + +For Functional Group 2 (FG2), let us map: +\begin{eqnarray*} + FS1 & \mapsto & S4 \\ + FS2 & \mapsto & S5 \\ + FS3 & \mapsto & S5 \\ + FS4 & \mapsto & S4 \\ + FS5 & \mapsto & S6 \\ + FS6 & \mapsto & S5 +\end{eqnarray*} + +%This AUTOMATIC check can reveal WHEN double checking no longer necessary +%in the hierarchy to cover dub sum !!!!! YESSSS + +\section{Example Analysis: Non-Inverting OPAMP} +Consider a non inverting op-amp designed to amplify +a small positive voltage (typical use would be a thermocouple amplifier +taking a range from 0 to 25mV and amplifiying it to the useful range of an ADC, approx 0 to 4 volts). + + +\begin{figure}[h+] + \centering + \includegraphics[width=100pt]{./mvampcircuit.png} + % mvampcircuit.png: 243x143 pixel, 72dpi, 8.57x5.04 cm, bb=0 0 243 143 + \label{fig:mvampcircuit} + \caption{positive mV amplifier circuit} +\end{figure} + +We can begin by looking for functional groups. +The resistors $ R1, R2 $ perform a fairly common function in electronics, that of the potential divider. +So we can examine $\{ R1, R2 \}$ as a {\fg}. + + +\subsection{The Resistor in terms of failure modes} + +We can now determine how the resistors can fail. +According to GAS standard EN298 the failure modes to consider for resistors are OPEN and SHORT. + + +We can express the failure modes of a component using the function $fm$, thus for the resistor, $ fm(R) = \{ OPEN, SHORT \}$. + + +We have two resistors in this circuit and therefore four component failure modes to consider for the potential divider. +We can now examine what effect each of these failures will have on the {\fg} (see table~\ref{tbl:pd}). + + +\subsection{Analysing a potential divider in terms of failure modes} + + +\label{potdivfmmd} + + + +\begin{figure}[h+] + \centering + \includegraphics[width=100pt,keepaspectratio=true]{./pd.png} + % pd.png: 361x241 pixel, 72dpi, 12.74x8.50 cm, bb=0 0 361 241 + \label{fig:pdcircuit} + \caption{Potential Divider Circuit} +\end{figure} + + +\begin{table}[h+] +\caption{Potential Divider: Single failure analysis} +\begin{tabular}{|| l | l | c | c | l ||} \hline + \textbf{Failure Scenario} & & \textbf{Pot Div Effect} & & \textbf{Symptom} \\ + \hline + FS1: R1 SHORT & & $LOW$ & & $PDLow$ \\ + FS2: R1 OPEN & & $HIGH$ & & $PDHigh$ \\ \hline + FS3: R2 SHORT & & $HIGH$ & & $PDHigh$ \\ + FS4: R2 OPEN & & $LOW$ & & $PDLow$ \\ \hline +\hline +\end{tabular} +\label{tbl:pd} +\end{table} + +We can now create a {\dc} for the potential divider, $PD$. + + $$ fm(PD) = \{ PDLow, PDHigh \}$$ + +Let use now consider the op-amp. According to +FMD-91~\cite{fmd91}[3-116] an op amp may have the following failure modes: +latchup(12.5\%), latchdown(6\%), nooperation(31.3\%), lowslewrate(50\%). + + +\subsection{Analysing the non-inverting amplifier in terms of failure modes} + +$$ fm(OPAMP) = \{L\_{up}, L\_{dn}, Noop, L\_slew \} $$ + + +We can now form a {\fg} with $PD$ and $OPAMP$. + +\begin{figure} + \centering + \includegraphics[width=300pt]{./non_inv_amp_fmea.png} + % non_inv_amp_fmea.png: 964x492 pixel, 96dpi, 25.50x13.02 cm, bb=0 0 723 369 + \label{fig:invampanalysis} +\end{figure} + + + + +\begin{table}[h+] +\caption{NIAMP: Single failure analysis} +\begin{tabular}{|| l | l | c | c | l ||} \hline + \textbf{Failure Scenario} & & \textbf{Non In Amp Effect} & & \textbf{Symptom} \\ + \hline + FS1: PD HIGH & & $LOW$ & & $Low$ \\ + FS2: PD LOW & & $HIGH$ & & $High$ \\ \hline + FS3: OPAMP $L_{UP}$ & & $HIGH$ & & $High$ \\ + FS4: OPAMP $L_{DOWN}$ & & $LOW$ & & $Low$ \\ + FS5: OPAMP $Noop$ & & $LOW$ & & $Low$ \\ + FS5: OPAMP $Low slew$ & & $LOW$ & & $Lowpass$ \\ \hline + +\hline +\end{tabular} +\label{tbl:pd} +\end{table} + +We can collect symptoms from the analysis and create a derived component +to represent the non-inverting amplifier $NI\_AMP$. +We now have can express the failure mode behaviour of this type of amplifier thus: + +$$ fm(NIAMP) = \{ {lowpass}, {high}, {low} \}.$$ + + + +\clearpage +\section{Inverting OPAMP} + +\label{sec:invamp} + +\begin{figure}[h] + \centering + \includegraphics[width=200pt]{./invamp.png} + % invamp.png: 378x207 pixel, 72dpi, 13.34x7.30 cm, bb=0 0 378 207 + \caption{Inverting Amplifier Configuration} + \label{fig:invamp} +\end{figure} + +%This configuration is interesting from methodology pers. +There are two obvious ways in which we can model this circuit: +One is to do this in two stages, by considering the gain resistors to be an inverted potential divider +and then combining it with the OPAMP failure mode model. +The second is to place all three components in a {\fg}. +Both approaches are followed in the next two sub-sections. + +\subsection{Inverting OPAMP using a Potential Divider {\dc}} + +We cannot simply re-use the $PD$ from section~\ref{potdivfmmd}---that potential divider would only be valid if the input signal were negative. +We want if possible to have detectable errors, HIGH and LOW are better than OUTOFRANGE. +If we can refine the operational states of the functional group, we can obtain clearer +symptoms. +If we consider the input will only be positive, we can invert the potential divider (see table~\ref{tbl:pdneg}). + +\begin{table}[h+] +\caption{Inverted Potential divider: Single failure analysis} +\begin{tabular}{|| l | l | c | c | l ||} \hline + \textbf{Failure Scenario} & & \textbf{Inverted Pot Div Effect} & & \textbf{Symptom} \\ + \hline + FS1: R1 SHORT & & $HIGH$ & & $PDHigh$ \\ \hline + FS2: R1 OPEN & & $LOW$ & & $PDLow$ \\ \hline + FS3: R2 SHORT & & $LOW$ & & $PDLow$ \\ \hline + FS4: R2 OPEN & & $HIGH$ & & $PDHigh$ \\ \hline +\hline +\end{tabular} +\label{tbl:pdneg} +\end{table} + +We can form a {\dc} from this, and call it an inverted potential divider $INVPD$. + +We can now form a {\fg} from the OPAMP and the $INVPD$ + +\begin{table}[h+] +\caption{Inverting Amplifier: Single failure analysis} +\begin{tabular}{|| l | l | c | c | l ||} \hline + \textbf{Failure Scenario} & & \textbf{Inverted Amp Effect} & & \textbf{Symptom} \\ \hline + \hline + FS1: INVPD LOW & & NEGATIVE on -input & & $ HIGH $ \\ + FS2: INVPD HIGH & & Positive on -input & & $ LOW $ \\ + + FS5: AMP L\_DN & & $ INVAMP_{low} $ & & $ LOW $ \\ \hline + + FS6: AMP L\_UP & & $INVAMP_{high} $ & & $ HIGH $ \\ \hline + + FS7: AMP NOOP & & $INVAMP_{nogain} $ & & $ LOW $ \\ \hline + + FS8: AMP LowSlew & & $ slow output \frac{\delta V}{\delta t} $ & & $ LOW PASS $ \\ \hline +\hline +\end{tabular} +\label{tbl:invamppd} +\end{table} + + +This gives the same results as the analysis from figure~\ref{fig:invampanalysis}. + + + +%The differences are the root causes or component failure modes that +%lead to the symptoms (i.e. the symptoms are the same but causation tree will be different). + + $$ fm(INVAMP) = \{ {lowpass}, {high}, {low} \}.$$ + + +\subsection{Inverting OPAMP analysing with three components in one {\fg}} + +%We can use this for a more general case, because we can examine the +%effects on the circuit for each operational case (i.e. input +ve +%or input -ve), see table~\ref{tbl:invamp}. +%Because symptom collection is defined as surjective (from component failure modes +%to symptoms) we cannot have a component failure mode that maps to two different symptoms (within a functional group). +%Note that here we have a more general symptom $ OUT OF RANGE $ which could mean either +%$HIGH$ or $LOW$ output. + +% 08feb2012 bugger considering -ve input. It complicates things. +% maybe do an ac amplifier later at some stage. + +\begin{table}[h+] +\caption{Inverting Amplifier: Single failure analysis: 3 components} +\begin{tabular}{|| l | l | c | c | l ||} \hline + \textbf{Failure Scenario} & & \textbf{Inverted Amp Effect} & & \textbf{Symptom} \\ \hline + \hline + FS1: R1 SHORT & & NEGATIVE out of range & & $ HIGH $ \\ + % FS1: R1 SHORT -ve in & & POSITIVE out of range & & $ OUT OF RANGE $ \\ \hline + + FS2: R1 OPEN & & zero output & & $ LOW $ \\ + % FS2: R1 OPEN -ve in & & zero output & & $ ZERO OUTPUT $ \\ \hline + + FS3: R2 SHORT & & $INVAMP_{nogain} $ & & $ LOW $ \\ + % FS3: R2 SHORT -ve in & & $INVAMP_{nogain} $ & & $ NO GAIN $ \\ \hline + + FS4: R2 OPEN & & NEGATIVE out of range $ $ & & $ LOW$ \\ + % FS4: R2 OPEN -ve in & & POSITIVE out of range $ $ & & $OUT OF RANGE $ \\ \hline + + FS5: AMP L\_DN & & $ INVAMP_{low} $ & & $ LOW $ \\ \hline + + FS6: AMP L\_UP & & $INVAMP_{high} $ & & $ HIGH $ \\ \hline + + FS7: AMP NOOP & & $INVAMP_{nogain} $ & & $ NO GAIN $ \\ \hline + + FS8: AMP LowSlew & & $ slow output \frac{\delta V}{\delta t} $ & & $ LOW PASS $ \\ \hline +\hline +\end{tabular} +\label{tbl:invamp} +\end{table} + + +$$ fm(INVAMP) = \{ HIGH, LOW, NO GAIN, LOW PASS \} $$ + + +%Much more general. OUT OF RANGE symptom maps to many component failure modes. +%Observability problem... system. In fact can we get a metric of how observable +%a system is using the ratio of component failure modes X op states to a symptom ???? +%Could further refine this if MTTF stats available for each component failure. + + + +%\clearpage + +\subsection{Comparison between the two approaches} +\label{sec:invampcc} +The first analysis looks at an inverted potential divider, analyses its failure modes, +and from this we obtain a {\dc} (INVPD). +We applied a second analysis stage with the known failure modes of the op-amp and the failure modes of INVPD. + +The second analysis (3 components) has to look at the effects of each failure mode of each resistor +on the op-amp circuit. This is more to think about---or in other words an increase in the complexity of the analysis---than comparing the two known failure modes +from the pre-analysed inverted potential divider. The complexity comparison figures +bear this out. For the two stage analysis, using equation~\ref{eqn:rd2}, we obtain a CC of $4.(2-1)+6.(2-1)=10$ +and for the second analysis a CC of $8.(3-2)=16$. + +% CAN WE MODULARISE TOO FAR???? CAN W MAKE IT TOO FINELY GRAINED. 08FEB2012 + +%Again, for the two stage analysis, using equation~\ref{eqn:rd}, we obtain a CC of $4.(2-1)+6.(2-1)=10$ +%and for the second analysis a CC of $8.(3-2)=16$. + + +%If the input voltage can be negative the potential divider +%becomes reversed in polarity. +%This means that detecting which failure mode has occurred from knowing the symptom, has become a more difficult task; or in other words +%the observability of the causes of failure are reduced. Instead of the more specific symptoms $HIGH$ or $LOW$ we +%obtain $OUT OF RANGE$ instead. + +\clearpage +\section{Op-Amp circuit 1} + +\begin{figure}[h] + \centering + \includegraphics[width=200pt]{./circuit1001.png} + % circuit1001.png: 420x300 pixel, 72dpi, 14.82x10.58 cm, bb=0 0 420 300 + \caption{Circuit 1} + \label{fig:circuit1} +\end{figure} + + +The amplifier in figure~\ref{fig:circuit1} amplifies the difference between +the input voltages $+V1$ and $+V2$. +It would be desirable to represent this circuit as a derived component called say $DiffAMP$. +We begin by identifying functional groups from the components in the circuit. + + +\subsection{Functional Group: Potential Divider} +For the gain setting resistors R1,R2 -- we can re-use the potential divider from section~\ref{potdivfmmd}. + +%R1 and R2 perform as a potential divider. +%Resistors can fail OPEN and SHORT (according to GAS burner standard EN298 Appendix A). +%$$ fm(R) = \{ OPEN, SHORT \}$$ + + + +% \begin{table}[ht] +% \caption{Potential Divider $PD$: Failure Mode Effects Analysis: Single Faults} % title of Table +% \centering % used for centering table +% \begin{tabular}{||l|c|c|l|l||} +% \hline \hline +% \textbf{Test} & \textbf{Pot.Div} & \textbf{ } & \textbf{General} \\ +% \textbf{Case} & \textbf{Effect} & \textbf{ } & \textbf{Symtom Description} \\ +% % R & wire & res + & res - & description +% \hline +% \hline +% TC1: $R_1$ SHORT & LOW & & LowPD \\ +% TC2: $R_1$ OPEN & HIGH & & HighPD \\ \hline +% TC3: $R_2$ SHORT & HIGH & & HighPD \\ +% TC4: $R_2$ OPEN & LOW & & LowPD \\ \hline +% \hline +% \end{tabular} +% \label{tbl:pdfmea} +% \end{table} +% +% By collecting the symptoms in table~\ref{tbl:pdfmea} we can create a derived +% component $PD$ to represent the failure mode behaviour +% of a potential divider. + +Thus for single failure modes, a potential divider can fail +with $fm(PD) = \{PDHigh,PDLow\}$. + + +The potential divider is used to program the gain of IC1. +IC1 and PD provide the function of buffering +/amplifying the signal $+V1$. +We can now examine IC1 and PD as a functional group. + +\pagebreak[3] +\subsection{Functional Group: Amplifier} + +Let use now consider the op-amp. According to +FMD-91~\cite{fmd91}[3-116] an op amp may have the following failure modes: +latchup(12.5\%), latchdown(6\%), nooperation(31.3\%), lowslewrate(50\%). + + +$$ fm(OPAMP) = \{L\_{up}, L\_{dn}, Noop, L\_slew \} $$ + + +By bringing the $PD$ derived component and the $OPAMP$ into +a functional group we can analyse its failure mode behaviour. + + +\begin{table}[ht] +\caption{Non Inverting Amplifier $NI\_AMP$: Failure Mode Effects Analysis: Single Faults} % title of Table +\centering % used for centering table +\begin{tabular}{||l|c|c|l|l||} +\hline \hline + \textbf{Test} & \textbf{Amplifier} & \textbf{ } & \textbf{General} \\ + \textbf{Case} & \textbf{Effect} & \textbf{ } & \textbf{Symtom Description} \\ +% R & wire & res + & res - & description +\hline +\hline + TC1: $OPAMP$ LatchUP & Output High & & AMPHigh \\ + TC2: $OPAMP$ LatchDown & Output Low : Low gain& & AMPLow \\ \hline + TC3: $OPAMP$ No Operation & Output Low & & AMPLow \\ + TC4: $OPAMP$ Low Slew & Low pass filtering & & LowPass \\ \hline + TC5: $PD$ LowPD & Output High & & AMPHigh \\ \hline + TC6: $PD$ HighPD & Output Low : Low Gain& & AMPLow \\ \hline + %TC7: $R_2$ OPEN & LOW & & LowPD \\ \hline +\hline +\end{tabular} +\label{ampfmea} +\end{table} + + +Collecting the symptoms we can see that this amplifier fails +in 3 ways $\{ AMPHigh, AMPLow, LowPass \}$. +We can now create a derived component, $NI\_AMP$, to represent it. + + +$$ fm(NI\_AMP) = \{ AMPHigh, AMPLow, LowPass \} $$ + + + + +\subsection{The second Stage of the amplifier} + +The second stage of this amplifier, following the signal path, is the amplifier +consisting of $R3,R4,IC2$. + +This is in exactly the same configuration as the first amplifier, but it is being fed by the first amplifier. +The first amplifier was grounded and received as input `+V1' (presumably +a positive voltage). +This means the junction of R1 R3 is always +ve. +This means the input voltage `+V2' could be lower than this. +This means R3 R4 is not a potential divider with R4 being on the positive side. +It could be on either polarity (i.e. the other way around R4 could be the negative side). +Here it is more intuitive to model the resistors not as a potential divider, but individually. +%This means we are either going to +%get a high or low reading if R3 or R4 fail. + +\begin{table}[ht] +\caption{Second Amplifier $SEC\_AMP$: Failure Mode Effects Analysis: Single Faults} % title of Table +\centering % used for centering table +\begin{tabular}{||l|c|c|l|l||} +\hline \hline + \textbf{Test} & \textbf{Amplifier} & \textbf{ } & \textbf{General} \\ + \textbf{Case} & \textbf{Effect} & \textbf{ } & \textbf{Symtom Description} \\ +% R & wire & res + & res - & description +\hline +\hline + TC1: $OPAMP$ LatchUP & Output High & & AMPHigh \\ + TC2: $OPAMP$ LatchDown & Output Low : Low gain & & AMPLow \\ \hline + TC3: $OPAMP$ No Operation & Output Low & & AMPLow \\ + TC4: $OPAMP$ Low Slew & Low pass filtering & & LowPass \\ \hline + TC5: $R3\_open$ & +V2 follower & & AMPIncorrectOutput\\ \hline + TC6: $R3\_short$ & Undefined & & AMPIncorrectOutput \\ + & (impedance of IC1 vs +V2) & & \\ \hline + TC5: $R4\_open$ & High or Low output & & AMPIncorrectOutput \\ + & +V2$>$+V1 $\mapsto$ High & & \\ + & +V1$>$+V2 $\mapsto$ Low & & \\ \hline + TC6: $R4\_short$ & +V2 follower & & AMPIncorrectOutput \\ \hline + %TC7: $R_2$ OPEN & LOW & & LowPD \\ \hline +\hline +\end{tabular} +\label{ampfmea} +\end{table} + +Collecting the symptoms we can see that this amplifier fails +in 4 ways $\{ AMPHigh, AMPLow, LowPass, AMPIncorrectOutput\}$. +We can now create a derived component, $SEC\_AMP$, to represent it. + + +$$ fm(SEC\_AMP) = \{ AMPHigh, AMPLow, LowPass, AMPIncorrectOutput \} $$ + + + +%Its failure modes are therefore the same. We can therefore re-use +%the derived component for $NI\_AMP$ + +\pagebreak[4] +\subsection{Modelling the circuit} + +For the final stage of this we can create a functional group consisting of +two derived components of the type $NI\_AMP$ and $SEC\_AMP$. + + + +\begin{table}[ht] +\caption{Difference Amplifier $DiffAMP$ : Failure Mode Effects Analysis: Single Faults} % title of Table +\centering % used for centering table +\begin{tabular}{||l|c|c|l|l||} +\hline \hline + \textbf{Test} & \textbf{Dual Amplifier} & \textbf{ } & \textbf{General} \\ + \textbf{Case} & \textbf{Effect} & \textbf{ } & \textbf{Symptom Description} \\ +% R & wire & res + & res - & description +\hline +\hline + TC1: $NI\_AMP$ AMPHigh & opamp 2 driven high & & DiffAMPLow \\ + TC2: $NI\_AMP$ AMPLow & opamp 2 fdriven low & & DiffAMPHigh \\ + TC3: $NI\_AMP$ LowPass & opamp 2 driven with lag & & DiffAMP\_LP \\ \hline + TC4: $SEC\_AMP$ AMPHigh & Diff amplifier high & & DiffAMPHigh\\ + TC5: $SEC\_AMP$ AMPLow & Diff amplifier low & & DiffAMPLow \\ + TC6: $SEC\_AMP$ LowPass & Diff amplifier lag/lowpass & & DiffAMP\_LP \\ \hline + TC7: $SEC\_AMP$ IncorrectOutput & Output voltage & & DiffAMPIncorrect \\ + TC7: $SEC\_AMP$ & $ \neg (V2 - V1) $ & & \\ \hline +\hline +\end{tabular} +\label{ampfmea} +\end{table} + + + +Collecting the symptoms, we can determine the failure modes for this circuit, $\{DiffAMPLow, DiffAMPHigh, DiffAMP\_LP, DiffAMPIncorrect \}$. + + +We now create a derived component to represent the circuit in figure~\ref{fig:circuit1}. + +$$ fm (DiffAMP) = \{DiffAMPLow, DiffAMPHigh, DiffAMP\_LP DiffAMPIncorrect\} $$ + + +Its interesting here to note that we can draw a directed graph (figure~\ref{fig:circuit1_dag}) +of the failure modes and derived components. +Using this we can trace any top level fault back to +a component failure mode that could have caused it. +In fact we can re-construct an FTA diagram from the information in this graph. +We merely have to choose a top level event and work down using $XOR$ gates. + +This circuit performs poorly from a safety point of view. +Its failure modes could be indistinguishable from valid readings (especially +when it becomes a V2 follower). + +\begin{figure}[h] + \centering + \includegraphics[width=400pt]{./circuit1_dag.png} + % circuit1_dag.png: 797x1145 pixel, 72dpi, 28.12x40.39 cm, bb=0 0 797 1145 + \caption{Directed Acyclic Graph of Circuit1 failure modes} + \label{fig:circuit1_dag} +\end{figure} + + + + +\clearpage +\section{Op-Amp circuit 2} + + + \begin{figure}[h] + \centering + \includegraphics[width=200pt]{./circuit2002.png} + % circuit2002.png: 575x331 pixel, 72dpi, 20.28x11.68 cm, bb=0 0 575 331 + \caption{circuit 2} + \label{fig:circuit2} +\end{figure} + + + + +The circuit in figure~\ref{fig:circuit2} shows a five pole low pass filter. +Starting at the input, we have a first order low pass filter buffered by an op-amp, +the output of this is passed to a Sallen~Key~\cite{aoe}[p.267] second order lowpass filter. +The output of this is passed into another Sallen~Key filter -- which although it may have different values +for its resistors/capacitors and thus have a different frequency response -- is identical from a failure mode perspective. +Thus we can analyse the first Sallen~Key low pass filter and re-use the results. + + +\begin{figure}[h] + \centering + \includegraphics[width=400pt,keepaspectratio=true]{./blockdiagramcircuit2.png} + % blockdiagramcircuit2.png: 689x83 pixel, 72dpi, 24.31x2.93 cm, bb=0 0 689 83 + \caption{Signal Flow though the five pole low pass filter} + \label{fig:blockdiagramcircuit2} +\end{figure} + + +\paragraph{First Order Low Pass Filter.} +\label{sec:lp} +We begin with the first order low pass filter formed by $R10$ and $C10$. +% +This configuration (or {\fg}) is very commonly +used in electronics to remove unwanted high frequencies/interference +form a signal; Here it is being used as a first stage of +a more sophisticated low pass filter. +% +R10 and C10 act as a potential divider, with the crucial difference between a purely resistive potential divider being +that the impedance of the capacitor is lower for higher frequencies. +Thus higher frequencies are attenuated at the point that we +read its output signal. +However, from a failure mode perspective we can analyse it in a very similar way +to a potential divider (see section~\ref{potdivfmmd}). +Capacitors generally fail OPEN but some types fail OPEN and SHORT. +We will consider the latter type for this analysis. +We analyse the first order low pass filter in table~\ref{tbl:firstorderlp}.\\ + + +\begin{table}[h+] +\caption{FirstOrderLP: Failure Mode Effects Analysis: Single Faults} % title of Table +\label{tbl:firstorderlp} + +\begin{tabular}{|| l | l | c | c | l ||} \hline + \textbf{Failure Scenario} & & \textbf{First Order} & & \textbf{Symptom} \\ + & & \textbf{Low Pass Filter} & & \\ + \hline + FS1: R10 SHORT & & $No Filtering$ & & $LPnofilter$ \\ \hline + FS2: R10 OPEN & & $No Signal$ & & $LPnosignal$ \\ \hline + FS3: C10 SHORT & & $No Signal$ & & $LPnosignal$ \\ \hline + FS4: C10 OPEN & & $No Filtering$ & & $LPnofilter$ \\ \hline + +\hline + +\end{tabular} +\end{table} + + +We can collect the symptoms $\{ LPnofilter,LPnosignal \}$ and create a derived component +called $FirstOrderLP$. Applying the $fm$ function yields $$ fm(FirstOrderLP) = \{ LPnofilter,LPnosignal \}.$$ + +\paragraph{Addition of Buffer Amplifier: First stage.} + +The opamp IC1 is being used simply as a buffer. By placing it between the next stages +on the signal path we remove the possibility of unwanted signal feedback. +The buffer is one of the simplest op-amp configurations. +It has no other components, and so we can now form a {\fg} +from the $FirstOrderLP$ and the OPAMP component. + +\begin{table}[ht] +\caption{First Stage LP1: Failure Mode Effects Analysis: Single Faults} % title of Table +\label{tbl:firststage} +\centering % used for centering table +\begin{tabular}{||l|c|c|l|l||} +\hline \hline + \textbf{Test} & \textbf{Circuit} & \textbf{ } & \textbf{General} \\ + \textbf{Case} & \textbf{Effect} & \textbf{ } & \textbf{Symptom Description} \\ +% R & wire & res + & res - & description +\hline +\hline + TC1: $OPAMP$ LatchUP & Output High & & LP1High \\ + TC2: $OPAMP$ LatchDown & Output Low & & LP1Low \\ + TC3: $OPAMP$ No Operation & Output Low & & LP1Low \\ + TC4: $OPAMP$ Low Slew & Unwanted Low pass filtering & & LP1filterincorrect \\ \hline + TC5: $LPnofilter $ & No low pass filtering & & LP1filterincorrect \\ + TC6: $LPnosignal $ & No input signal & & LP1nosignal \\ \hline + \hline + +\hline +\end{tabular} + +\end{table} + +From the table~\ref{tbl:firststage} we can see three symptoms of failure of +the first stage of this circuit (i.e. R10,C10,IC1). +We can create a derived component for it, lets call it $LP1$. + +$$ fm(LP1) = \{ LP1High, LP1Low, LP1filterincorrect, LP1nosignal \} $$ + + +In terms terms of the circuit we have modelled the functional groups $FirstOrderLP$, and +$LP1$. We can represent these on the circuit diagram by drawing contours around the components +on the schematic as in figure~\ref{fig:circuit2002_LP1}. + +\begin{figure}[h] + \centering + \includegraphics[width=200pt,keepaspectratio=true]{./circuit2002_LP1.png} + % circuit2002_LP1.png: 575x331 pixel, 72dpi, 20.28x11.68 cm, bb=0 0 575 331 + \caption{Circuit showing functional groups modelled so far.} + \label{fig:circuit2002_LP1} +\end{figure} + + +\paragraph{Second order Sallen Key Low Pass Filter.} +The next two filters in the signal path are R1,R2,C2,C1,IC2 and R3,R4,C4,C3,IC3. +From a failure mode perspective these are identical. +We can analyse the first one and then re-use these results for the second. + +\begin{table}[ht] +\caption{Sallen Key Low Pass Filter SKLP: Failure Mode Effects Analysis: Single Faults} % title of Table +\centering % used for centering table +\begin{tabular}{||l|c|c|l|l||} +\hline \hline + \textbf{Test} & \textbf{Circuit} & \textbf{ } & \textbf{General} \\ + \textbf{Case} & \textbf{Effect} & \textbf{ } & \textbf{Symptom Description} \\ +% R & wire & res + & res - & description +\hline +\hline + TC1: $OPAMP$ LatchUP & Output High & & SKLPHigh \\ + TC2: $OPAMP$ LatchDown & Output Low & & SKLPLow \\ + TC3: $OPAMP$ No Operation & Output Low & & SKLPLow \\ + TC4: $OPAMP$ Low Slew & Unwanted Low pass filtering & & SKLPfilterIncorrect \\ \hline + TC5: R1 OPEN & No input signal & & SKLPfilterIncorrect \\ + TC6: R1 SHORT & incorrect low pass filtering & & SKLPfilterIncorrect \\ \hline + + TC7: R2 OPEN & No input signal & & SKLPnosignal \\ + TC8: R2 SHORT & incorrect low pass filtering & & SKLPfilterIncorrect \\ \hline + + TC9: C1 OPEN & reduced/incorrect low pass filtering & & SKLPfilterIncorrect\\ + TC10: C1 SHORT & reduced/incorrect low pass filtering & & SKLPfilterIncorrect \\ \hline + + TC11: C2 OPEN & reduced/incorrect low pass filtering & & SKLPfilterIncorrect \\ + TC12: C2 SHORT & No input signal, low signal & & SKLPnosignal \\ \hline + \hline +\hline +\end{tabular} +\label{tbl:sallenkeylp} +\end{table} + + + + + + +We now can create a derived component to represent the Sallen Key low pass filter, which we can call $SKLP$. + + +$$ fm ( SKLP ) = \{ SKLPHigh, SKLPLow, SKLPIncorrect, SKLPnosignal \} $$ + + +\paragraph{A failure mode model of Op-Amp Circuit 2.} + +We now have {\dcs} representing the three stages of this filter +and this follows the signal flow in the filter circuit (see figure~\ref{fig:blockdiagramcircuit2}). + + + + +As the signal has to pass though each block/stage +in order to be `five~pole' filtered, we need to bring these three blocks together into a {\fg} +in order to get a failure mode model for the whole circuit. +We can index the Sallen Key stages, and these are marked on the ciruit schematic in figure~\ref{fig:circuit2002_FIVEPOLE}. + +\begin{figure}[h]+ + \centering + \includegraphics[width=200pt]{./circuit2002_FIVEPOLE.png} + % circuit2002_FIVEPOLE.png: 575x331 pixel, 72dpi, 20.28x11.68 cm, bb=0 0 575 331 + \caption{Functional Groups in Five Pole Low Pass Filter on schematic} + \label{fig:circuit2002_FIVEPOLE} +\end{figure} + +\pagebreak[4] + +So our final {\fg} will consist of the derived components $\{ LP1, SKLP_1, SKLP_2 \}$. +We represent the desired FMMD hierarchy in figure~\ref{fig:circuit2h}. + + +\begin{figure}[h]+ + \centering + \includegraphics[width=300pt]{./circuit2h.png} + % circuit2h.png: 676x603 pixel, 72dpi, 23.85x21.27 cm, bb=0 0 676 603 + \caption{FMMD Hierarchy for five pole Low Pass Filter} + \label{fig:circuit2h} +\end{figure} + +%\pagebreak[4] + + + + + + + +%$$ fm ( SKLP ) = \{ SKLPHigh, SKLPLow, SKLPIncorrect, SKLPnosignal \} $$ +%$$ fm(LP1) = \{ LP1High, LP1Low, LP1ExtraLowPass, LP1NoLowPass \} $$ + +\begin{table}[ht]+ +\caption{Five Pole Low Pass Filter: Failure Mode Effects Analysis: Single Faults} % title of Table +\centering % used for centering table +\begin{tabular}{||l|c|l|l|l||} +\hline \hline + \textbf{Test} & \textbf{Circuit} & \textbf{ } & \textbf{General} \\ + \textbf{Case} & \textbf{Effect} & \textbf{ } & \textbf{Symptom Description} \\ +% R & wire & res + & res - & description +\hline +\hline + TC1: $LP1$ LP1High & signal HIGH & & HIGH \\ + TC2: $LP1$ SKLPLow & signal LOW & & LOW \\ + TC3: $LP1$ LP1filterIncorrect & filtering incorrect & & FilterIncorrect \\ + TC4: $LP1$ LP1nosignal & no signal propagated & & NO\_SIGNAL \\ \hline + + + + TC5: $SKLP_1$ High & signal HIGH & & HIGH \\ + TC6: $SKLP_1$ Low & signal LOW & & LOW \\ + TC7: $SKLP_1$ filterIncorrect & filtering incorrect & & FilterIncorrect \\ + TC8: $SKLP_1$ nosignal & no signal propagated & & NO\_SIGNAL \\ \hline + + + TC9: $SKLP_2$ High & signal HIGH & & HIGH \\ + TC10: $SKLP_2$ Low & signal LOW & & LOW \\ + TC11: $SKLP_2$ filterIncorrect & filtering incorrect & & FilterIncorrect \\ + TC12: $SKLP_2$ nosignal & no signal propagated & & NO\_SIGNAL \\ \hline + + \hline +\hline +\end{tabular} +\label{tbl:fivepole} +\end{table} + +We now can create a {\dc} to represent the circuit in figure~\ref{fig:circuit2}, we can call it +$FivePoleLP$ and applying the $fm$ function to it (see table~\ref{tbl:fivepole}) yields $fm(FivePoleLP) = \{ HIGH, LOW, FilterIncorrect, NO\_SIGNAL \}$. + + +\pagebreak[4] + +The failure modes for the low pass filters are very similar, and the propogation of the signal +is simple (as it is never inverted). The circuit under analysis is -- as shown in the block diagram (see figure~\ref{fig:blockdiagramcircuit2}) -- +three opamp driven non-inverting low pass filter elements; It is not suprising therefore that they have very similar failure modes. +From a safety point of view, the failure modes $LOW$, $HIGH$ and $NO\_SIGNAL$ +could be easily detected; the failure symptom $FilterIncorrect$ may be less observable. + + + +\clearpage +\section{Op-Amp circuit 3} + + \begin{figure}[h] + \centering + \includegraphics[width=200pt]{./circuit3003.png} + % circuit3003.png: 503x326 pixel, 72dpi, 17.74x11.50 cm, bb=0 0 503 326 +\caption{Circuit 3} + \label{fig:circuit3} +\end{figure} + +%\clearpage +%\section{Standard Non-inverting OP AMP} + +This circuit is described in the Analog Applications Journal~\cite{bubba}[p.37]. +The circuit uses four 45 degree phase shifts, and an inverting amplifier to provide +gain and the final 180 degrees of phase shift (making a total of 360 degrees of phase shift). + +From a fault finding perspective this circuit is less than ideal. +The signal path is circular (its a positive feedback circuit) and most failures would simply cause the output to stop oscillating. +%The top level failure modes for the FMMD hierarchy bear this out. +%However, FMMD is a bottom -up analysis methodology and we can therefore still identify +%{\fgs} and apply analysis from a failure mode perspective. +% +If we were to analyse this circuit using traditional FMEA (i.e. without modularisation) we observe 14 components with +($4.4 +10.2 = 36$) failure modes. + +Applying equation~\ref{eqn:rd2} gives a complexity comparison figure of $13.36=468$. +We now create FMMD models and compare the complexity of FMMD and FMEA. + +We apply FMMD and start by determining {\fgs}. +We initially identify three types functional groups, an inverting amplifier (analysed in section~\ref{fig:invamp}), +a 45 degree phase shifter (a {$10k\Omega$} resistor and a $10nF$ capacitor) and a non-inverting buffer +amplifier. We can name these $INVAMP$, $PHS45$ and $NIBUFF$ respectively. +We can use these {\fgs} to describe the circuit in block diagram form with arrows indicating the signal path, in figure~\ref{fig:bubbablock}. + +\begin{figure}[h] + \centering + \includegraphics[width=300pt,keepaspectratio=true]{./bubba_oscillator_block_diagram.png} + % bubba_oscillator_block_diagram.png: 720x295 pixel, 72dpi, 25.40x10.41 cm, bb=0 0 720 295 + \caption{Circuit 3: Functional Group Block Diagram.} + \label{fig:bubbablock} +\end{figure} + +We can now analyse each of these {\fgs} and create failure mode models for them, and from these +determine {\dcs}. + +\subsection{Inverting Amplifier: INVAMP} +This has been analysed in section~\ref{sec:invamp}. +The inverting amplifier, as a {\dc}, has the following failure modes: + +$$ fm(INVAMP) = \{ HIGH, LOW, LOW PASS \} $$ + +and has a CC of 10. + + +\subsection{Phase shifter: PHS45} + +This consists of a resistor and a capacitor. We already have failure mode models for these components -- $ fm(R) = \{OPEN, SHORT\}$, $fm(C) = \{OPEN, SHORT\}$ -- +we now need to see how these failure modes would affect the phase shifter. Note that the circuit here +is identical to the low pass filter in circuit topology (see \ref{sec:lp}), but its intended use is different. +We have to analyse this circuit from the perspective of it being a {\em phase~shifter} not a {\em low~pass~filter}. + + +\begin{table}[h+] +\caption{PhaseShift: Failure Mode Effects Analysis: Single Faults} % title of Table +\label{tbl:firstorderlp} + +\begin{tabular}{|| l | l | c | c | l ||} \hline + \textbf{Failure Scenario} & & \textbf{First Order} & & \textbf{Symptom} \\ + & & \textbf{Low Pass Filter} & & \\ + \hline + FS1: R SHORT & & 90 degree's of phase shift & & $90\_phaseshift$ \\ \hline + FS2: R OPEN & & No Signal & & $nosignal$ \\ \hline + FS3: C SHORT & & Grounded,No Signal & & $nosignal$ \\ \hline + FS4: C OPEN & & 0 degree's of phase shift & & $0\_phaseshift$ \\ \hline + +\hline + +\end{tabular} +\end{table} +% PHS45 + + +$$ fm (PHS45) = \{ 90\_phaseshift, nosignal, 0\_phaseshift \} $$ + +$$ CC(PHS45) = 4.1 = 4 $$ + +\subsection{Non Inverting Buffer: NIBUFF.} + +The non-inverting buffer functional group, is comprised of one component, an op-amp. +We use the failure modes for an op-amp~\cite{fmd91}[p.3-116] to represent this group. +% GARK +$$ fm(NIBUFF) = fm(OPAMP) = \{L\_{up}, L\_{dn}, Noop, L\_slew \} $$ + +Because we obtain the failure modes for $NIBUFF$ from the literature +its comparison complexity is zero. +$$ CC(NIBUFF) = 0 $$ +%\subsection{Forming a functional group from the PHS45 and NIBUFF.} + +% describe what we are doing, a buffered 45 degree phase shift element + +\subsection{Bringing the functional Groups Together: FMMD model of the `Bubba' Oscillator.} + +We could at this point bring all the {\dcs} together into one large functional +group (see figure~\ref{fig:poss1finalbubba}) +or we could try to merge smaller stages. +Initially we use the first identified {\fgs} to create our model without further stages of refinement/hierarchy. + + + +\subsection{FMMD Analysis using initially identified functional groups} + +\begin{figure}[h+] + \centering + \includegraphics[width=300pt,keepaspectratio=true]{./poss1finalbubba.png} + % largeosc.png: 916x390 pixel, 72dpi, 32.31x13.76 cm, bb=0 0 916 390 + \caption{Bubba Oscillator: One final large functional group.} + \label{fig:poss1finalbubba} +\end{figure} + + +\begin{table}[h+] +\caption{Bubba Oscillator: Failure Mode Effects Analysis: One Large Functional Group} % title of Table +\label{tbl:bubbalargefg} + +\begin{tabular}{|| l | l | c | c | l ||} \hline + \textbf{Failure Scenario} & & \textbf{Bubba} & & \textbf{Symptom} \\ + & & \textbf{Oscillator} & & \\ + \hline + + + FS1: $PHS45_1$ $0\_phaseshift$ & & osc frequency high & & $HI_{fosc}$ \\ + FS2: $PHS45_1$ $no\_signal$ & & signal lost & & $NO_{osc}$ \\ + FS3: $PHS45_1$ $90\_phaseshift$ & & osc frequency low & & $LO_{fosc}$ \\ \hline + + FS4: $NIBUFF_1$ $L_{up}$ & & output high No Oscillation & & $NO_{osc}$ \\ + FS5: $NIBUFF_1$ $L_{dn}$ & & output low No Oscillation & & $NO_{osc}$ \\ + FS6: $NIBUFF_1$ $N_{oop}$ & & output low No Oscillation & & $NO_{osc}$ \\ + FS7: $NIBUFF_1$ $L_{slew}$ & & signal lost & & $NO_{osc}$ \\ \hline + + FS8: $PHS45_2$ $0\_phaseshift$ & & osc frequency high & & $HI_{fosc}$ \\ + FS9: $PHS45_2$ $no\_signal$ & & signal lost & & $NO_{osc}$ \\ + FS10: $PHS45_2$ $90\_phaseshift$ & & osc frequency low & & $LO_{fosc}$ \\ \hline + + + FS11: $NIBUFF_2$ $L_{up}$ & & output high No Oscillation & & $NO_{osc}$ \\ + FS12: $NIBUFF_2$ $L_{dn}$ & & output low No Oscillation & & $NO_{osc}$ \\ + FS13: $NIBUFF_2$ $N_{oop}$ & & output low No Oscillation & & $NO_{osc}$ \\ + FS14: $NIBUFF_2$ $L_{slew}$ & & signal lost & & $NO_{osc}$ \\ \hline + + FS15: $PHS45_3$ $0\_phaseshift$ & & osc frequency high & & $HI_{fosc}$ \\ + FS16: $PHS45_3$ $no\_signal$ & & signal lost & & $NO_{osc}$ \\ + FS17: $PHS45_3$ $90\_phaseshift$ & & osc frequency low & & $LO_{fosc}$ \\ \hline + + FS18: $NIBUFF_3$ $L_{up}$ & & output high No Oscillation & & $NO_{osc}$ \\ + FS19: $NIBUFF_3$ $L_{dn}$ & & output low No Oscillation & & $NO_{osc}$ \\ + FS20: $NIBUFF_3$ $N_{oop}$ & & output low No Oscillation & & $NO_{osc}$ \\ + FS21: $NIBUFF_3$ $L_{slew}$ & & signal lost & & $NO_{osc}$ \\ \hline + + FS22: $PHS45_4$ $0\_phaseshift$ & & osc frequency high & & $HI_{fosc}$ \\ + FS23: $PHS45_4$ $no\_signal$ & & signal lost & & $NO_{osc}$ \\ + FS24: $PHS45_4$ $90\_phaseshift$ & & osc frequency low & & $LO_{fosc}$ \\ \hline + + FS25: $INVAMP$ $OUTOFRANGE$ & & signal lost & & $NO_{osc}$ \\ + FS26: $INVAMP$ $ZEROOUTPUT$ & & signal lost & & $NO_{osc}$ \\ + FS27: $INVAMP$ $NOGAIN$ & & signal lost & & $NO_{osc}$ \\ + FS28: $INVAMP$ $LOWPASS$ & & signal lost & & $NO_{osc}$ \\ \hline + + + % FS1: $CAP_{10nF}$ $OPEN$ & & osc frequency low & & $LO_{fosc}$ \\ \hline + % FS1: $CAP_{10nF}$ $SHORT$ & & osc frequency low & & $LO_{fosc}$ \\ \hline +\hline + +\end{tabular} +\end{table} + + +Collecting symptoms from table~\ref{tbl:bubbalargefg} we can show that for single failure modes, applying $fm$ to the bubba oscillator +returns three failure modes, + +$$ fm(BubbaOscillator) = \{ NO_{osc}, HI_{fosc}, LO_{fosc} \} . $$ + +For the final stage of this FMMD model, we can calculate the complexity using equation~\ref{eqn:rd2}. +$$ CC = 28.8 = 224$$ + +To obtain the total comparison complexity $TCC$, we need to add the complexity from the +{\dcs} that $BubbaOscillator$ was built from. + +$$ TCC = 28.8 + 4.4 + 4.0 + 10 = 250$$ + +%As we have re-used the analysis for BUFF45 we could even reasonably remove +%$3.4=12$ from this result, because the results from $BUFF45$ have been used four times. +Traditional FMEA would have lead us to a much higher comparison complexity +of $468$ failure modes to check against components. +The analysis here appears top-heavy; we should be able to refine the model more +and break this down into smaller functional groups, by allowing more stages of hierarchy and hopefully +this should lead a further reduction in the complexity comparison figure. + + + +\clearpage + +\subsection{FMMD Analysis using more hierarchical stages} + +The example above---from the initial {\fgs}---used one very large functional group to model the circuit. +This mean a quite large comparison complexity for this final stage. +We should be able to determine smaller {\fgs} and refine the model further. + +\begin{figure}[h+] + \centering + \includegraphics[width=300pt,keepaspectratio=true]{./poss2finalbubba.png} + % largeosc.png: 916x390 pixel, 72dpi, 32.31x13.76 cm, bb=0 0 916 390 + \caption{Bubba Oscillator: Smaller Functional Groups, One more FMMD hierarchy stage.} + \label{fig:poss2finalbubba} +\end{figure} + + +% +We take the $NIBUFF$ and $PHS45$ +{\dcs} into a {\fg} giving the {\dc} $BUFF45$. + $BUFF45$ is a {\dc} representing an actively buffered $45^{\circ}$ phase shifter. +and with those three, form a $PHS135BUFFERED$ +functional group. +$PHS135BUFFERED$ is a {\dc} representing an actively buffered $135^{\circ}$ phase shifter. + +A PHS45 {\dc} and an inverting amplifier\footnote{Inverting amplifiers always apply a $180^{\circ}$ phase shift.}, form a {\fg} +providing an amplified $225^{\circ}$ phase shift, which we can call $PHS225AMP$. + +%---with the remaining $PHS45$ and the $INVAMP$ (re-used from section~\ref{sec:invamp})in a second group $PHS225AMP$--- +Finally we can merge $PHS135BUFFERED$ and $PHS225AMP$ in a final stage (see figure~\ref{fig:poss2finalbubba}) + + + +%We can take a more modular approach by creating two intermediate functional groups, a buffered $45^{\circ}$ phase shifter (BUFF45) +%we can combine three $BUFF45$'s to make +%a $135^{\circ}$ buffer phase shifter (PHS135BUFFERED). + +%We can combine a $PHS45$ and a $NIBUFF$ to create +%and an amplifying $225^{\circ}$ phase shifter (PHS225AMP). + +% By combining PHS225AMP and PHS135BUFFERED we can create a more modularised hierarchical +% model of the bubba oscillator. +% The proposed hierarchy is shown in figure~\ref{fig:poss2finalbubba}. + + +\begin{table}[h+] +\caption{BUFF45: Failure Mode Effects Analysis} % title of Table +\label{tbl:buff45} + +\begin{tabular}{|| l | l | c | c | l ||} \hline + \textbf{Failure Scenario} & & \textbf{BUFF45} & & \textbf{Symptom} \\ + & & & & \\ + \hline + FS1: $PHS45_1$ $0\_phaseshift$ & & phase shift low & & $0\_phaseshift$ \\ + FS2: $PHS45_1$ $no\_signal$ & & signal lost & & $NO_{signal}$ \\ + FS3: $PHS45_1$ $90\_phaseshift$ & & phase shift high & & $90\_phaseshift$ \\ \hline + + FS4: $NIBUFF_1$ $L_{up}$ & & output high & & $NO_{signal}$ \\ + FS5: $NIBUFF_1$ $L_{dn}$ & & output low & & $NO_{signal}$ \\ + FS6: $NIBUFF_1$ $N_{oop}$ & & output low & & $NO_{signal}$ \\ + FS7: $NIBUFF_1$ $L_{slew}$ & & signal lost & & $NO_{signal}$ \\ \hline + + +\hline + +\end{tabular} +\end{table} + + +Collecting symptoms from table~\ref{tbl:buff45}, we can create a derived component $BUFF45$ which has the following failure modes: +$$ +fm (BUFF45) = \{ 90\_phaseshift, 0\_phaseshift, NO\_signal .\} +$$ + +$$ CC(BUFF45) = 7.1 = 7 $$ + +We can now combine three $BUFF45$ {\dcs} and create a $PHS135BUFFERED$ {\dc}. + + +\begin{table}[h+] +\caption{PHS135BUFFERED: Failure Mode Effects Analysis} % title of Table +\label{tbl:phs135buffered} + +\begin{tabular}{|| l | l | c | c | l ||} \hline + \textbf{Failure Scenario} & & \textbf{PHS135 Buffered} & & \textbf{Symptom} \\ + & & & & \\ + \hline + FS1: $PHS45_1$ $0\_phaseshift$ & & phase shift low & & $90\_phaseshift$ \\ + FS2: $PHS45_1$ $no\_signal$ & & signal lost & & $NO_{signal}$ \\ + FS3: $PHS45_1$ $90\_phaseshift$ & & phase shift high & & $180\_phaseshift$ \\ \hline + + FS4: $PHS45_2$ $0\_phaseshift$ & & phase shift low & & $90\_phaseshift$ \\ + FS5: $PHS45_2$ $no\_signal$ & & signal lost & & $NO_{signal}$ \\ + FS6: $PHS45_2$ $90\_phaseshift$ & & phase shift high & & $180\_phaseshift$ \\ \hline + + FS7: $PHS45_3$ $0\_phaseshift$ & & phase shift low & & $90\_phaseshift$ \\ + FS8: $PHS45_3$ $no\_signal$ & & signal lost & & $NO_{signal}$ \\ + FS9: $PHS45_3$ $90\_phaseshift$ & & phase shift high & & $180\_phaseshift$ \\ \hline + + + +\hline + +\end{tabular} +\end{table} + + +Collecting symptoms from table~\ref{tbl:phs135buffered}, we can create a derived component $PHS135BUFFERED$ which has the following failure modes: +$$ +fm (PHS135BUFFERED) = \{ 90\_phaseshift, 180\_phaseshift, NO\_signal .\} +$$ + + +$$ CC (PHS135BUFFERED) = 3.2 = 6 $$ + + + +The $PHS225AMP$ consists of a $PHS45$ and an $INVAMP$ (which provides $180^{\circ}$ of phase shift). + +\begin{table}[h+] +\caption{PHS225AMP: Failure Mode Effects Analysis} % title of Table +\label{tbl:phs225amp} + +\begin{tabular}{|| l | l | c | c | l ||} \hline + \textbf{Failure Scenario} & & \textbf{PHS225AMP} & & \textbf{Symptom} \\ + & & \textbf{Oscillator} & & \\ + \hline + FS1: $PHS45_1$ $0\_phaseshift$ & & phase shift low & & $270\_phaseshift$ \\ + FS2: $PHS45_1$ $no\_signal$ & & signal lost & & $NO_{signal}$ \\ + FS3: $PHS45_1$ $90\_phaseshift$ & & phase shift high & & $180\_phaseshift$ \\ \hline + + FS4: $INVAMP$ $L_{up}$ & & output high & & $NO_{signal}$ \\ + FS5: $INVAMP$ $L_{dn}$ & & output low & & $NO_{signal}$ \\ + FS6: $INVAMP$ $N_{oop}$ & & output low & & $NO_{signal}$ \\ + FS7: $INVAMP$ $L_{slew}$ & & signal lost & & $NO_{signal}$ \\ \hline + +\hline + +\end{tabular} +\end{table} + +Collecting symptoms from table~\ref{tbl:phs225amp}, we can create a derived component $PHS225AMP$ which has the following failure modes: +$$ +fm (PHS225AMP) = \{ 270\_phaseshift, 180\_phaseshift, NO\_signal .\} +$$ + +$$ CC(PHS225AMP) = 7.1 $$ + +The $PHS225AMP$ consists of a $PHS45$ and an $INVAMP$ (which provides $180^{\circ}$ of phase shift). + + + +To complete the analysis we now bring the derived components $PHS135BUFFERED$ and $PHS225AMP$ together +and perform FMEA with these. + +\begin{table}[h+] +\caption{BUBBAOSC: Failure Mode Effects Analysis} % title of Table +\label{tbl:bubba2} + +\begin{tabular}{|| l | l | c | c | l ||} \hline + \textbf{Failure Scenario} & & \textbf{BUBBAOSC} & & \textbf{Symptom} \\ + & & & & \\ + \hline + FS1: $PHS135BUFFERED$ $180\_phaseshift$ & & phase shift high & & $LO_{fosc}$ \\ + FS2: $PHS135BUFFERED$ $no\_signal$ & & signal lost & & $NO_{osc}$ \\ + FS3: $PHS135BUFFERED$ $90\_phaseshift$ & & phase shift low & & $HI_{osc}$ \\ \hline + + FS4: $PHS225AMP$ $270\_phaseshift$ & & phase shift high & & $LO_{fosc}$ \\ + FS5: $PHS225AMP$ $180\_phaseshift$ & & phase shift low & & $HI_{osc}$ \\ + FS6: $PHS225AMP$ $NO\_signal$ & & lost signal & & $NO_{signal}$ \\ \hline + + +\hline + +\end{tabular} +\end{table} + + +Collecting symptoms from table~\ref{tbl:bubba2}, we can create a derived component $BUBBAOSC$ which has the following failure modes: +$$ +fm (BUBBAOSC) = \{ LO_{fosc}, HI_{osc}, NO\_signal .\} +$$ + +%We could trace the DAGs here and ensure that both analysis strategies worked ok..... + +$$ CC(BUBBAOSC) = 6.(2-1) = 6 $$ + + +We can now add the comparison complexities for all levels of the analysis represented in figure~\ref{fig:poss2finalbubba}. +We have at the lowest level two $PHS45$ {\dcs} giving a CC of 8 and $INVAMP$ with a CC of 10, at the next level four $BUFF45$ {\dcs} giving $(4-1).7=21$, +and penultimately $PHS135BUFFERED$ with 6 and $PHS225AMP$ with 7. The final top stage of the hierarchy, $BUBBAOSC$ has a CC of 6. +Our total comparison complexity is $58$, this contrasts with $468$ for traditional `flat' FMEA, +and $250$ for our first stage functional groups analysis. +This has meant a drastic reduction in the number of failure-modes to check against components. +It has also given us five {\dcs}, building blocks, which may be re-used for similar circuitry +to analyse in the future. + + +\subsection{Comparing both approaches} + +In general with large functional groups the comparison complexity +is higher, by an order of $O(N^2)$. +Smaller functional groups mean less by-hand checks are required. +It also means a more finely grained model. This means that +there are more {\dcs} and this increases the possibility of re-use. +The more we can modularise, the more we decimate the $O(N^2)$ effect +of complexity comparison. + +%More re-use-able fgs with smaller groups. Less chance of making a mistake (lower CC) + + + +% does not cover what weird side effect may occur though, but then the {\fg} was not modelled correctly in the first place... + + + + + + + +\bibliographystyle{plain} +\bibliography{../vmgbibliography,../mybib} + + +\end{document} diff --git a/thesis_submission/CH5_Examples/non_inv_amp_fmea.png b/thesis_submission/CH5_Examples/non_inv_amp_fmea.png new file mode 100644 index 0000000..7d2cb25 Binary files /dev/null and b/thesis_submission/CH5_Examples/non_inv_amp_fmea.png differ diff --git a/thesis_submission/mybib.bib b/thesis_submission/mybib.bib new file mode 100644 index 0000000..6bd88ea --- /dev/null +++ b/thesis_submission/mybib.bib @@ -0,0 +1,624 @@ + + +% my bib file. + +@ARTICLE{fmd91, + AUTHOR = "Reliability Analysis Center", + TITLE = "Failure Mode/Mechanisms Distributions 1991", + JOURNAL = "United States Department of Commerce", + YEAR = "1991" +} + +% $Id: mybib.bib,v 1.3 2009/11/28 20:05:52 robin Exp $ +@article{Clark200519, + title = "Failure Mode Modular De-Composition Using Spider Diagrams", + journal = "Electronic Notes in Theoretical Computer Science", + volume = "134", + number = "", + pages = "19 - 31", + year = "2005", + note = "Proceedings of the First International Workshop on Euler Diagrams (Euler 2004)", + issn = "1571-0661", + doi = "DOI: 10.1016/j.entcs.2005.02.018", + url = "http://www.sciencedirect.com/science/article/B75H1-4G6XT71-3/2/0e3a47df2ec15bfba9f85feae81786e3", + author = "R.P. Clark", + keywords = "Failsafe", + keywords = "EN298", + keywords = "gas-safety", + keywords = "burner", + keywords = "control", + keywords = "fault", + keywords = "double-fault", + keywords = "single-fault", + keywords = "fault-tolerance" +} + +@ARTICLE{ontfmea, + AUTHOR = "Lars Dittman et all", + TITLE = "FMEA using Ontologies", + JOURNAL = "18th International workshop on Qualitative Reasoning", + YEAR = "2004" +} + + +@ARTICLE{bubba, + AUTHOR = "Ron Mancini", + TITLE = "Design of OP-Amp sine wave oscillators", + JOURNAL = "Analog Applications Journal: Texas Instruments: August", + YEAR = "2000" +} +@ARTICLE{ftahistory, + AUTHOR = "Clifton Ericsson", + TITLE = "Fault Tree Analysis a History", + JOURNAL = "Proceedings of the 17th international safety conference", + YEAR = "1999" +} + +@ARTICLE{fafmea, + AUTHOR = "Zigmund Bluvband, Pavel Grabov", + TITLE = "Failure Analysis of FMEA", + JOURNAL = "IEEE 1-4244-2509-9/09/", + YEAR = "2009" +} +@ARTICLE{fmeda, + AUTHOR = "John C. Grebe Dr. William M. Goble", + TITLE = "FMEDA – Accurate Product Failure Metrics", + JOURNAL = "EXIDA publication. www.exida.com/articles/FMEDA\%20Development.pdf", + YEAR = "2007" +} +@ARTICLE{canspec, + AUTHOR = "Bosch.", + TITLE = "CAN Specification 2.0", + JOURNAL = "Bosch Technical Standard", + YEAR = "1991" +} + +@ARTICLE{caninauto, + AUTHOR = "H. Zeltwanger", + TITLE = "Single Processor implementation of the CANopen Safety Protocol", + JOURNAL = "CAN in Automation (CiA)", + YEAR = "2008" +} + +@ARTICLE{valueoflife, + AUTHOR = "W.K. Viscusi", + TITLE = "The value of life: Estimates with risks by occupation and industry", + JOURNAL = "Harvard John M. Olin Canter for Law ISSN 1045-6333", + YEAR = "2003" +} + + +@ARTICLE{crcembedd, + AUTHOR = "Philip Koopman, Tridib Chakravarty", + TITLE = "Cyclic Redundancy Code (CRC) Polynomial Selection for Embedded Networks", + JOURNAL = "The International Conference on dependable systems and networks DSN-2004", + YEAR = "2004" +} + +@ARTICLE{nucfta, + AUTHOR = "US Nuclear reg commission", + TITLE = "Fault Tree Handbook", + JOURNAL = "Nuclear Safety Analysis Handbook", + YEAR = "1981" +} + +@ARTICLE{nasafta, + AUTHOR = "NASA", + TITLE = "Fault Tree Handbook with Aerospace Applications", + JOURNAL = "NASA Handbook", + YEAR = "2002" +} + +@BOOK{embupsys, + TITLE = "Embedded Microprocessor Systems 3rd Edition ISBN 0-7506-75434-9", + AUTHOR = "Stuart R Ball", + PUBLISHER = "Newnes", + YEAR = "2002" +} + +@BOOK{alggraph, + AUTHOR = "Alan Gibbons", + TITLE = "Algorithmic Graph Theory ISBN:978-0521288811 ", + PUBLISHER = "Cambridge University PressCambridge University Press", + YEAR = "1985" +} + +@BOOK{git, + AUTHOR = "Jon Loeliger", + TITLE = "Version Control with Git ISBN:978-0-596-52012-0", + PUBLISHER = "O'Reilly Media", + YEAR = "2009" +} + +@BOOK{ince, + AUTHOR = "D. C. Ince", + TITLE = "In Introduction to discrete Mathematics, Formal System specification and Z", + PUBLISHER = "Oxford University Press", + YEAR = "1992" +} + +@BOOK{safeware, + AUTHOR = "Nancy Leveson", + TITLE = "Safeware: System safety and Computers ISBN: 0-201-11972-2", + PUBLISHER = "Addison-Wesley", + YEAR = "2005" +} + +@BOOK{scse, + AUTHOR = "Fortescue, Swinerd, Stark", + TITLE = "Spacecraft Systems Engineering ISBN:978-0-470-75012-4", + PUBLISHER = "Wiley", + YEAR = "2011" +} + +@BOOK{bfmea, + AUTHOR = "Robin E McDermot et all", + TITLE = "The Basics of FMEA ISBN: 0-527-76320-9", + PUBLISHER = "Productivity", + YEAR = "1996" +} + +@BOOK{mil1991, + AUTHOR = "United~States~DOD", + TITLE = "Reliability Prediction of Electronic Equipment", + PUBLISHER = "DOD", + YEAR = "1991" +} + + +@BOOK{faa, + AUTHOR = "Federal Aviation Administration", + TITLE = "System Safety Handbook", + PUBLISHER = "http://www.faa.gov/library/manuals/aviation/risk\_management/ss\_handbook/", + YEAR = "2008" +} + + +@BOOK{sccs, + AUTHOR = "Neil~Storey", + TITLE = "Safety-Critical Computer Systems ISBN 0-201-42787-7", + PUBLISHER = "Prentice Hall", + YEAR = "1996" +} + + + + +@PHDTHESIS{maikowski, + AUTHOR = "Leo M Maikowski", + TITLE = "Tolreranced Multiple Fault Diagnosis of Analog Circuits", + SCHOOL = " Brighton University, School of Electrical Engineering", + YEAR = "1995" +} + +@BOOK{sem, + AUTHOR = "J.~Woodcock,~Martin~Loomes", + TITLE = "Software Engineering Mathematics ISBN 0-273-02673-9", + PUBLISHER = "Pitman", + YEAR = "1988" +} + + + + +@BOOK{allfour, + AUTHOR = "Betty Tootell", + TITLE = "All Four Engines Have Failed ISBN 0-233-97758-9", + PUBLISHER = "Andre deutsch", + YEAR = "1985" +} + + +@BOOK{f77, + AUTHOR = "A.~Balfour D.H.~Marwick", + TITLE = "Programming in Standard Fortran 77 ISBN 0-435-77486-7", + PUBLISHER = "Heinemann Educational Books", + YEAR = "1979" +} + +@BOOK{ctw, + AUTHOR = "Gregory~J.E.~Rawlins", + TITLE = "Compared to What ? An introduction to the analysis of algorithms ISBN 0-7167-8243-x", + PUBLISHER = "Computer Science Press", + YEAR = "1991" +} + + + +@BOOK{alg, + AUTHOR = "Alan~Gibbons", + TITLE = "Algorithmic Graph Theory ISBN 0-521-28881-9", + PUBLISHER = "Cambridge University Press", + YEAR = "1985" +} + +@BOOK{found, + AUTHOR = "Ian~Stewart, David~Tall", + TITLE = "The Foundations of Mathematics : ISBN 0-19-853165-6", + PUBLISHER = "Oxford University Press", + YEAR = "1977" +} + +@BOOK{shin, + AUTHOR = "Sun-Joo~Shin", + TITLE = "The Iconic Logic of Peirces Graphs", + PUBLISHER = "Bradford", + YEAR = "2002" +} + + +@BOOK{probstat, + AUTHOR = " M~R~Spiegel", + TITLE = "Probability and Statistics Second edition : SHCAUM'S : ISBN 0-07-135004-7", + PUBLISHER = "Oxford University Press", + YEAR = "1988" +} + +@BOOK{idmfssz, + AUTHOR = " D~C~Ince", + TITLE = " An Introduction to Discrete Mathematics, Formal System Specification and Z : Oxford : ISBN 0-19-853836-7", + PUBLISHER = "Oxford University Press", + YEAR = "1988" +} + + +@BOOK{wdycwopt, + AUTHOR = " Richard~P~Feynman", + TITLE = " What do you care what other people think: Harper Collins : ISBN 0-586-21855-6", + PUBLISHER = " harpercollins", + YEAR = "1988" +} + +@BOOK{joyofsets, + AUTHOR = " Keith~devlin", + TITLE = " The Joy of Sets: 2nd edition: ISBN 978-0-387-94094-6", + PUBLISHER = " Springer", + YEAR = "1993" +} + + +@MISC{microchip, + author = "Microchip", + title = "Microchip technology Inc. Home Page", + howpublished = "Available from http://www.microchip.com/", + year = "2009" +} + +@MISC{gnuplot, + author = "Various Open~source~Project", + title = "", + howpublished = "Available from http://www.gnuplot.info/", + year = "2005" +} + +@MISC{eulerviz, + author = "Peter~Rodgers, John~Howse, Andrew~Fish", + title = "Visualization of Euler Diagrams", + howpublished = "http://www.cmis.bton.ac.uk/research/vmg/papers/EulerViz.pdf", + year = "2005" +} + +@MISC{eulerprop, + author = "Peter~Rodgers, John~Howse, Gem~Stapleton", + title = "Properties of Euler Diagrams", + howpublished = "http://www.cmis.bton.ac.uk/research/vmg/papers/", + year = "2007" +} + +@MISC{en161, + author = "E N Standard", + title = "EN161:2007 Automatic shutoff valves for gas burners and gas appliances", + howpublished = "British standards Institution http://www.bsigroup.com/", + year = "2003" +} + +@MISC{en298, + author = "E N Standard", + title = "EN298:2003 Gas Burner Controllers with forced draft", + howpublished = "British standards Institution http://www.bsigroup.com/", + year = "2003" +} + +@MISC{en60730, + author = "E N Standard", + title = "EN60730: Automatic Electrical controls for household and similar use", + howpublished = "British standards Institution http://www.bsigroup.com/", + year = "1994" +} + +@MISC{challenger, + author = "U.S. Presidential Commission", + title = "Report of the SpaceShuttle Challanger Accident", + howpublished = "Available from http://science.ksc.nasa.gov/shuttle/missions/51-l/docs/rogers-commission/table-of-contents.html", + year = "1986" +} + +@MISC{en61508, + author = "E N Standard", + title = "EN61508:2002 Functional safety of electrical/electronic/programmable electronic safety related systems", + howpublished = "British standards Institution http://www.bsigroup.com/", + year = "2002" +} + +@MISC{javaarea, + author = "Sun~Micro~Systems", + title = "Java Area Operations", + howpublished = "Available from http://java.sun.com/j2se/1.3/docs/api/java/awt/geom/Area.html", + year = "2000" +} + + +@Manual{tlp181, + title = {TLP 181 Datasheet}, + key = {TOSHIBA Photocoupler GaAs Ired and Photo−Transistor}, + author = {Toshiba inc.}, + OPTorganization = {}, + address = {http://www.toshiba.com/taec/components2/Datasheet\_Sync//206/4191.pdf}, + OPTedition = {}, + OPTmonth = {}, + year = {2009}, +OPTnote = {}, + OPTannote = {}, + OPTurl = {}, + OPTdoi = {}, +OPTissn = {}, + OPTlocalfile = {}, + OPTabstract = {}, +} + + + + +@Manual{pic18f2523, + title = {PIC18F2523 Datasheet}, + OPTkey = {}, + author = {Microchip inc}, + OPTorganization = {}, + address = {http://ww1.microchip.com/downloads/en/DeviceDoc/39755c.pdf}, + OPTedition = {}, + OPTmonth = {}, + year = {2009}, + OPTnote = {}, + OPTannote = {}, + OPTurl = {}, + OPTdoi = {}, + OPTissn = {}, + OPTlocalfile = {}, + OPTabstract = {}, +} + + +@Book{wt, + title = {Water Treatment Essentials for Boiler Plant Operation}, + publisher = {Mc Graw Hill ISBN 0-07-048291-5}, + year = {1997}, + author = {Robert G Nunn}, + ALTALTeditor = {}, + OPTkey = {}, + OPTvolume = {}, + OPTnumber = {}, + OPTseries = {}, + OPTaddress = {}, + OPTedition = {}, + OPTmonth = {}, + OPTnote = {}, + OPTannote = {}, + OPTurl = {}, + OPTdoi = {}, + OPTissn = {ISBN 0-07-048291-5}, + OPTlocalfile = {}, + OPTabstracts = {}, +} + + +@TechReport{spiraxsarco, + author = {Spirax Sarco}, + title = {http://www.spiraxsarco.com/resources/steam-engineering-tutorials.asp}, + institution = {Spirax Sarco}, + year = {2010}, + OPTkey = {}, + OPTtype = {}, + OPTnumber = {}, + OPTaddress = {}, + OPTmonth = {}, + OPTnote = {}, + OPTannote = {}, + OPTurl = {}, + OPTdoi = {}, + OPTissn = {}, + OPTlocalfile = {}, + OPTabstract = {}, +} + +@Book{aoe, + title = {The Art of Electronics}, + publisher = {Cambridge}, + year = {1989}, + author = {Paul Horowitz, Winfield Hill}, + OPTkey = {}, + OPTvolume = {}, + OPTnumber = {}, + OPTseries = {}, + OPTaddress = {}, + OPTedition = {2nd}, + OPTmonth = {}, + OPTnote = {}, + OPTannote = {}, + OPTurl = {}, + OPTdoi = {}, + OPTissn = {ISBN 0-521-37095-7}, + OPTlocalfile = {}, + OPTabstracts = {}, +} + + +@TechReport{eurothermtables, + author = {Eurotherm Ltd.}, + title = {Thermocouple Emf TABLES and PLATINUM 100 RESISTANCE THERMOMETER TABLES}, + institution = {Eurotherm, UK}, + year = {1973}, + OPTkey = {}, + OPTtype = {}, + OPTnumber = {}, + OPTaddress = {}, + OPTmonth = {June}, + OPTnote = {Bulletin TT-1}, + OPTannote = {}, + OPTurl = {}, + OPTdoi = {}, + OPTissn = {}, + OPTlocalfile = {}, + OPTabstract = {}, +} + + +@Book{ldd, +author = {Jonathon Corbet}, +ALTeditor = {Alessandro Rubini}, +ALTeditor = {Greg Kroah-Hartman}, +title = {Linux Device Drivers}, +publisher = {O'Reilly ISBN 0-596-00590-3}, +year = {1998}, +OPTkey = {ISBN 0-596-00590-3}, +OPTvolume = {}, +OPTnumber = {}, +OPTseries = {linux}, +OPTaddress = {}, +OPTedition = {3rd}, +OPTmonth = {}, +OPTnote = {}, +OPTannote = {}, +OPTurl = {www.oreilly.com}, +OPTdoi = {}, +OPTissn = {}, +OPTlocalfile = {}, +OPTabstract = {} +}; + + +@Book{bash, +author = {Carl Albing}, +title = {Bash Cookbook}, +publisher = {O'Reilly ISBN 0-596-52678-4}, +year = {2007}, +OPTkey = {ISBN 0-596-52678-4}, +OPTvolume = {}, +OPTnumber = {}, +OPTseries = {unix/linux}, +OPTaddress = {}, +OPTedition = {}, +OPTmonth = {}, +OPTnote = {}, +OPTannote = {}, +OPTurl = {www.oreilly.com}, +OPTdoi = {}, +OPTissn = {}, +OPTlocalfile = {}, +OPTabstract = {} +}; + +@Book{sedawk, +author = {Dale Dougherty, Arnold Robbins}, +title = {Sed and Awk}, +publisher = {O'Reilly ISBN 1-56592-225-5}, +year = {1997}, +OPTkey = {ISBN 1-56592-225-5}, +OPTvolume = {}, +OPTnumber = {}, +OPTseries = {unix/linux}, +OPTaddress = {}, +OPTedition = {}, +OPTmonth = {}, +OPTnote = {}, +OPTannote = {}, +OPTurl = {www.oreilly.com}, +OPTdoi = {}, +OPTissn = {}, +OPTlocalfile = {}, +OPTabstract = {} +}; + +@Book{bels, +author = {Karim Yaghmour}, +title = {Building Embedded LINUX systems}, +publisher = {O'Reilly ISBN ISBN 0-596-00222-X}, +year = {2003}, +OPTkey = {ISBN 0-596-00222-X}, +OPTvolume = {}, +OPTnumber = {}, +OPTseries = {linux}, +OPTaddress = {}, +OPTedition = {3rd}, +OPTmonth = {}, +OPTnote = {}, +OPTannote = {}, +OPTurl = {www.oreilly.com}, +OPTdoi = {}, +OPTissn = {}, +OPTlocalfile = {}, +OPTabstract = {} +}; + +@Book{can, +author = {Olaf Pfeiffer}, +ALTeditor = {Andrew Ayre}, +ALTeditor = {Christian Keydel}, +title = {Embedded networking with CAN and CANopen}, +publisher = {RTC ISBN 0-929392-78-7}, +year = {2003}, +OPTkey = { }, +OPTvolume = {}, +OPTnumber = {}, +OPTseries = {Embedded Systems}, +OPTaddress = {}, +OPTedition = {1st}, +OPTmonth = {}, +OPTnote = {}, +OPTannote = {}, +OPTurl = {www.rtcbooks.com}, +OPTdoi = {}, +OPTissn = {}, +OPTlocalfile = {}, +OPTabstract = {} +}; + +@Article{article, +author = {dd}, +title = {dd}, +journal = {dd}, +year = {2008}, +OPTkey = {}, +OPTvolume = {}, +OPTnumber = {}, +OPTpages = {1,2}, +OPTmonth = {JAN}, +OPTnote = {}, +OPTannote = {}, +OPTurl = {}, +OPTdoi = {}, +OPTissn = {}, +OPTlocalfile = {}, +OPTabstract = {} +}; + +@Book{sqlite, +author = {Micheal Owens}, +title = {The definitive guide to SQLite}, +publisher = {Apres ISBN 1-59059-673-0}, +year = {2006}, +OPTkey = {}, +OPTvolume = {}, +OPTnumber = {}, +OPTseries = {Databases/SQLite}, +OPTaddress = {}, +OPTedition = {}, +OPTmonth = {}, +OPTnote = {}, +OPTannote = {}, +OPTurl = {}, +OPTdoi = {}, +OPTissn = {}, +OPTlocalfile = {}, +OPTabstract = {} +}; + diff --git a/thesis_submission/vmgbibliography.bib b/thesis_submission/vmgbibliography.bib new file mode 100644 index 0000000..9067b84 --- /dev/null +++ b/thesis_submission/vmgbibliography.bib @@ -0,0 +1,1762 @@ +% $Id: vmgbibliography.bib,v 1.1 2008/08/29 16:26:03 robin Exp $ + +% bib file from vmg group +% emailed from Andrew Fish late May 2007 + + +@CONFERENCE{stapleton:inivlacsued, + author = {G.~Stapleton and J.~Masthoff}, + title = {Incorporating Negation into Visual Logics: A Case Study Using {E}uler Diagrams}, + booktitle = {Submitted to Visual Languages and Computing 2007}, + year = {2007} +} + +@MISC{Clark_fastzone, + author = {Robin Clark}, + title = {Fast Zone Discrimination}, + year = {2007}, + booktitle = {Submitted to Visual Languages and Computing 2007}, +} + + +@ARTICLE{stapleton:atpieds, + AUTHOR = "G.~Stapleton and J.~Masthoff and J.~Flower and A.~Fish and J.~Southern", + TITLE = "Automated Theorem Proving in {E}uler Diagrams Systems", + JOURNAL = "Accepted for Journal of Automated Reasoning", + YEAR = "to appear 2007" +} + +@ARTICLE{stapleton:teacosdawc, + AUTHOR = "G. Stapleton and J. Taylor and J. Howse and S. Thompson", + TITLE = "The Expressiveness and Completeness of Spider Diagrams Augmented with Constants", + JOURNAL = "Submitted to Formal Aspects of Computing", + YEAR = "2005" +} + +@ARTICLE{stapleton:vfol, + AUTHOR = "G.~Stapleton and A.~Fish and S.~Thompson and J.~Howse and S.~Thompson", + TITLE = "Visual First Order Logic", + JOURNAL = "Submitted to Journal of Symbolic Logic", + YEAR = "2006", +} + + + +%%%%%%%%%%%%%%%%%%%%%%% WEB SITES ONLY %%%%%%%%%%%%%%%%%%%% + +@MISC{dau:website, + author = {{F.~Dau}}, + howpublished = "{http://www.dr-dau.net/eg\_readings.shtml}", + year = "2006" +} + +@MISC{diagrams:website, + author = "S.J.~Shin \and O.~Lemon", + title = "Stanford Enyclopedia of Philosophy: Diagrams", + howpublished = "http://plato.stanford.edu/entries/diagrams/", + year = "2001" +} + +@MISC{puml, + author = {{The Precise UML Group}}, + howpublished = {http://www.cs.york.ac.uk/puml/index.html}, + year = {1997} +} + +@MISC{rwd, + author = {{Reasoning with Diagrams}}, + howpublished = "http://www.cs.kent.ac.uk/projects/rwd/", + year = "2006" +} + +@MISC{uml, + author = {{Unified Modelling Language}}, + howpublished = "http://www.uml.org/", + year = "2006" +} + + +@MISC{visualocl, + author = {{VisualOCL: Editor plugin for Eclipse}}, + howpublished = "http://tfs.cs.tu-berlin.de/vocl/", + year = "2004" +} + +@MISC{vmg:website, + author = {{Visual Modelling Group}}, + howpublished = "http://www.cmis.bton.ac.uk/research/vmg", + year = "2006" + +} + + + +@ARTICLE{akehurst:aratdattim, + AUTHOR = "D.~Akehurst and S.~Kent and O.~Patrascoiu", + TITLE = "A Relational Approach to Defining and Implementing Transformations in Metamodels", + JOURNAL = "Journal of Software and Systems Modeling", + volume = "2", + number = "4", + pages = "215-239", + month = "December", + YEAR = "2003" +} + + +@ARTICLE{howse:spider, + AUTHOR = "John Howse, Gem Stapleton and John Taylor", + TITLE = "Spider Diagrams", + JOURNAL = "London Mathematical Society", + volume = "8", + number = "0", + pages = "145-194", + month = "December", + YEAR = "2005" +} + +@conference{akehurst:o2.0its, + author = "D.~Akehurst and P.~Linington and O.~Patrascoiu", + booktitle = "Technical Report", + title = "OCL 2.0: Implementing the Standard", + year = 2003 +} + +@conference{akehurst:oits, + author = "D.~Akehurst and O.~Patrascoiu", + title = "{OCL}: Implementing the Standard", + pages = "19", + booktitle = "OCL2.0-Industry standard or scientific playground?, Proceedings of the UML'03 workshop", + series = "ENTCS", + year = "2003" +} + +@conference{akehurst:tmwpao, + author = "D.~Akehurst and O.~Patrascoiu", + booktitle = "Proceedings of the Metamodelling for MDA Workshop", + title = "Tooling Metamodels with Patterns and {OCL}", + year = "2003" +} + + + + +@BOOK{armstrong:bt, + AUTHOR = "M.~Armstrong", + TITLE = "Basic Topology", + PUBLISHER = "Springer-Verlag", + YEAR = "1979" +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% BBBBB %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +@BOOK{barwise:h, + AUTHOR = "J.~Barwise and J.~Etchemendy", + TITLE = "Hyperproof", + PUBLISHER = "CSLI Press", + YEAR = "1994" +} + + +@INCOLLECTION{barwise:hlrwd, + AUTHOR = "J.~Barwise and J.~Etchemendy", + booktitle = "Reasoning with Diagrammatic Representations", + editor= "B.~Chandrasekaran and H.~Simon ", + title = "Hyperproof: Logical Reasoning with Diagrams", + pages = "80-84", + PUBLISHER = "AAAI press", + YEAR = "1992" +} + + +@incollection{barwise:datcols, + author = "J.~Barwise and E.~Hammer ", + publisher = "Oxford University Press", + title = "Diagrams and the Concept of Logical System", + booktitle = "Logical Reasoning with Diagrams", + editor = "G.~Allwein and J.~Barwise", + year = 1996 +} + +@INCOLLECTION{barwise:vivr, + AUTHOR = "J.~Barwise and J.~Etchemendy", + TITLE = "Visual Information and Valid Reasoning", + BOOKTITLE = "Logical Reasoning with Diagrams", + PUBLISHER = "Oxford University Press", + YEAR = "1996", + editor = "G.~Allwein and J.~Barwise", + pages = "3-25" +} + + +@BOOK{battista:gdaftvog, + AUTHOR = "G.~Di~Battista and P.~Eades and R.~Tamassia and I.~G.~Tollis", + TITLE = "Graph Drawing: Algorithms for the visualization of graphs", + PUBLISHER = "Prentice Hall", + YEAR = "1999", + isbn = "0-13-301615-3" +} + + +@CONFERENCE{benoy:etcoed, + author = {F.~Benoy and P.~Rodgers}, + title = {Evaluating the Comprehension of {E}uler Diagrams}, + booktitle = {Euler Diagrams 2005}, + year = {2006} +} + + +@CONFERENCE{bertault:dhitss, + author = {F.~Bertault and P.~Eades.}, + title = {Drawing hypergraphs in the subset standard}, + booktitle = {Proceedings of the 8th International Symposium on Graph Drawing}, + year = {2000}, + volume = {1984}, + series = {LNCS}, + pages = {164 - 169}, + publisher = {Springer Verlag} +} + + +@BOOK{biggs:gt17361936, + AUTHOR = "N.~Biggs and E.~Lloyd and R.~Wilson.", + TITLE = "Graph Theory 1736-1936", + PUBLISHER = "Oxford University Press", + YEAR = "1976" +} + +@BOOK{blackett:et, + AUTHOR = "D.~Blackett", + TITLE = "Elementary Topology", + PUBLISHER = "Academic Press", + YEAR = "1983" +} + +@conference{blackwell:acdqofu, + author = "A.~Blackwell and T.~Green", + booktitle = "Proceedings of 12th Workshop on the Psychology of Programming Interest Group", + publisher = "", + pages = "137--154", + title = "A Cognitive Dimensions Questionnaire Optimised for Users", + year = 2000 +} + +@BOOK{borger:tcdp, + AUTHOR = "E.~Borger and E.~Gradel and E.~Gurevich", + TITLE = "The Classical Decision Problem", + PUBLISHER = "Springer-Verlag", + YEAR = "1997" +} + +@CONFERENCE{bosworth:taapsfs, + author = {P.~Bosworth}, + title = {Towards an Automatic Proof System for Scalecharts}, + booktitle = {Proceedings of Diagrams 2004, Cambridge, UK}, + year = {2004}, + series = {LNAI}, + pages = {227-229}, + month = {March}, + publisher = {Springer-Verlag} +} + +@conference{bottoni:avoouc, + author = {P.~Bottoni and M.~Koch and F.~Parisi-Presicce and G.~Taentzer}, + title = {A Visualization of {OCL} using Collaborations}, + booktitle = {UML 2001 -- The Unified Modeling Language}, + editor = {Gogolla, M. and Kobryn, C.}, + publisher = {Springer}, + series = {LNCS 2185}, + pages = {257 -- 271}, + year = 2001 +} + +@CONFERENCE{bovey:maaatug, + author = {J.~Bovey and P.~Rodgers and F.~Benoy}, + title = {Movment as an Aid to Understanding Graphs}, + booktitle = {Seventh International Conference on Information Visualization}, + year = {2003}, + pages = {472-478}, + month = {July}, + publisher = {IEEE} +} + + + +@ARTICLE{bultena:vdwfv, + AUTHOR = "B.~Bultena and F.~Ruskey", + TITLE = "{V}enn Diagrams with Few Vertices", + JOURNAL = "Electronic Journal of Combinatorics", + YEAR = "1998", + pages = "1--21", + volume = "5" +} + +@ARTICLE{bundy:avmd, + AUTHOR = "A.~Bundy", + TITLE = "A Very Mathematical Dilemma", + JOURNAL = "The Computer Journal", + YEAR = "2006", + volume = "49", + number = "4", + pages = "480--486" +} + + +@BOOK{burris:lfmacs, + AUTHOR = "S.~Burris", + TITLE = "Logic for Mathematics and Computer Science", + PUBLISHER = "Prentice Hall", + YEAR = "1998" +} + + + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CCCCCCCCC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +@article{cheng:csatudr, + author ="P.~Cheng and R.~Lowe and M.~Scaife", + title ="Cognitive Science Approaches To Understanding Diagrammatic Representations", + journal ="Artificial Intelligence Review", + volume ="15", + number ="16", + pages ="79--94", + year ="2001" +} + +@conference{cheng:csatudr:2, + author ="P. Cheng and R. Lowe and M. Scaife", + booktitle ="Proceedings of 1st International Conference, Diagrams 2000", + pages ="", + year = "2000", + series = "LNAI", + title = "Cognitive Science Approaches To Understanding Diagrammatic Representations", + publisher = "Springer-Verlag" +} + + +@CONFERENCE{chiara:asfvdued, + author = {R.~DeChiara and U.~Erra and V.~Scarano.}, + title = {A System for Virtual Directories Using {E}uler Diagrams}, + booktitle = {Proceedings of Euler Diagrams 04}, + year = {2005}, + volume = {134}, + series = {Electronic Notes in Theoretical Computer Science}, + pages = {33–-53} +} + +@CONFERENCE{chiara:vavdfm, + author = {R.~DeChiara and U.~Erra and V.~Scarano.}, + title = {Venn{FS}: A {V}enn Diagram file manager}, + booktitle = {Proceedings of Information Visualisation}, + year = {2003}, + pages = {120-–126}, + publisher = {IEEE Computer Society} +} + +@CONFERENCE{choudhury:oevdbanoi, + author = {L.~Choudhury and M.~K.~Chakraborty}, + title = {On Extending {V}enn Diagrams by Augmenting Names of Individuals}, + booktitle = {Proceedings of 3rd International Conference on the Theory and Application of Diagrams}, + year = {2004}, + series = {LNAI}, + volume = {2980}, + pages = {142-146}, + month = {March}, + publisher = {Springer-Verlag} +} + +@CONFERENCE{chow:capvaedwtc, + author = {S.~Chow and P.~Rodgers}, + title = {Constructing Area-Proportional {V}enn and {E}uler Diagrams with Three Circles}, + booktitle = {Proceedings of {E}uler Diagrams 2005}, + year = {2005} +} + +@CONFERENCE{chow:dapvaed, + author = {S.~Chow and F.~Ruskey}, + title = {Drawing Area-Proportional {V}enn and {E}uler Diagrams}, + booktitle = {Proceedings of Graph Drawing 2003, Perugia, Italy}, + year = {2003}, + series= {LNCS}, + volume = {2912}, + pages = {466-477}, + month = {September}, + publisher = {Springer-Verlag} +} + +@CONFERENCE{chow:tagstdaped, + author = {S.~Chow and F.~Ruskey}, + title = {Towards a General Solution to Drawing Area-Proportional {E}uler Diagrams}, + booktitle = {Proceedings of {E}uler Diagrams}, + year = {2005}, + volume = {134}, + pages = {3--18}, + series = {ENTCS} +} + + + + +@CONFERENCE{clark:fmmdcusd, + author = {R.~Clark}, + title = {Failure Mode Modular De-Composition Using Spider Diagrams}, + booktitle = {Proceedings of Euler Diagrams 2004}, + year = {2005}, + volume = {134}, + series = {Electronic Notes in Theoretical Computer Science}, + pages = {19–-31} +} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%% DDDDDDD %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +@ARTICLE{dechter:gbfssatooa, + AUTHOR = "R.~Dechter and J.~Pearl", + TITLE = "Generalized Best-First Search Strategies and the Optimality of A*", + JOURNAL = "Journal of the Association for Computing Machinery, 32(3):505–536", + volume = "32", + number = "3", + pages = "505-536", + YEAR = "1985" +} + +@BOOK{dreben:tdpscoqf, + AUTHOR = "B.~Dreben and D.~Goldforb", + TITLE = "The Decision Problem. Solvable Classes of Quantificational Formulas", + PUBLISHER = "Addison Wesley Publishing Company Inc.", + YEAR = "1979" +} + +@CONFERENCE{dunndavies:psfaip, + author = {H.~Dunn-Davies and R.~Cunningham}, + title = {Propostional Statecharts for Agent Interaction Protocols}, + booktitle = {Proceedings of Euler Diagrams 2004, Brighton, UK}, + series = {ENTCS}, + year = {2005}, + volume = {134}, + pages = {55-75} +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%% EEEEEEE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +@BOOK{ebbinghaus:fmt, + AUTHOR = "H.-D.~Ebbinghaus and J.~Flum.", + TITLE = "Finite Model Theory", + PUBLISHER = "Springer-Verlag", + YEAR = "1991" +} + +@misc{eloff:icadvd, + author = "J.~Eloff and L.~van Zijl", + title = "Incremental Construction and Drawing of {V}enn Diagrams", + note = "citeseer.ist.psu.edu/eloff00incremental.html", + year = 2000 +} + +@ARTICLE{euler:laupdsdsdpedp, + AUTHOR = "L.~Euler.", + TITLE = "Lettres a une Princesse d’Allemagne sur divers sujets de physique et de philosophie", + JOURNAL = "Letters", + YEAR = "1775", + volume = "2", + pages = "102--108", + note = "Berne, Socit Typographique" +} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%% FFFFFFF %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +@CONFERENCE{fish:aesitdrocd, + author = {A.~Fish and J.~Masthoff}, + title = {An Experimental Study into the Default Reading of Constraint Diagrams}, + booktitle = {Visual Languages and Human Centric Computing}, + year = {2005}, + pages = {287--289}, + address = {Dallas}, + month = {September}, + publisher = {IEEE} +} + +@CONFERENCE{fish:aoed, + author = {A.~Fish and J.~Flower}, + title = {Abstractions of {E}uler Diagrams}, + booktitle = {Proceedings of Euler Diagrams 2004, Brighton, UK}, + year = {2005}, + series = {ENTCS}, + volume = {134}, + pages = {77-101}, +} + +@conference{fish:arafcd, + author ="A.~Fish and J.~Flower, and J.~Howse", + title ="A Reading Algorithm for Constraint Diagrams", + booktitle ="IEEE Symposium on Human Centric Computing Languages and Environments, Auckland, New Zealand", + publisher ="IEEE", + month = "September", + pages = "161-168", + year =2003 +} + +@conference{fish:crtfcd, + author ="A.~Fish and J.~Howse", + title ="Computing Reading Trees for Constraint Diagrams", + booktitle ="AGTIVE '03, Applications of Graph Transformations with Industrial Relevance, Charlottesville, Virginia, September", + publisher ="Springer-Verlag", + pages ="260-274", + year =2003 +} + + +@TECHREPORT{fish:dmleodelmaesitdrocd, + AUTHOR = "A.~Fish and J.~Mashtoff", + TITLE = "Do Monkeys Like Elephants or Do Elephants like Monkeys? An Empirical Study into the Default Reading of Constraint Diagrams", + INSTITUTION = "University of Brighton", + YEAR = "2005", + address = "\texttt{http://cmis.mis.brighton.ac.uk/research/vmg/publications}" +} + +@conference{fish:dedsow, + author = "A.~Fish and G.~Stapleton", + booktitle = "Proceedings of 4th International Conference on the Theory and Application of Diagrams", + address ="Stanford, USA", + pages = "109-111", + title = "Defining {E}uler Diagrams: Simple or What?", + publisher ="Springer", + year = 2006 +} + +@conference{fish:fiilbocc, + author = "A.~Fish and G.~Stapleton", + booktitle = "Proceedings of Distributed Multimedia Systems, International Workshop + on Visual Languages and Computings", + address ="Grand Canyon, USA", + pages = "161-167", + title = "Formal Issues in Languages Based on Closed Curves", + publisher ="Knowledge Systems Institute", + year = 2006 +} + +@CONFERENCE{fish:hntded, + author = {A.~Fish and G.~Stapleton}, + title = {How Not to Define {E}uler Diagrams}, + booktitle = {Euler diagrams 2005}, + year = {2005} +} + +@CONFERENCE{fish:irwcd, + author = {A.~Fish and J.~Flower}, + title = {Investigating Reasoning with Constraint Diagrams}, + booktitle = {Visual Language and Formal Methods 2004}, + year = {2005}, + series = {ENTCS}, + volume = {127}, + publisher = {Elsevier}, + pages = {53-69}, + address = {Rome, Italy} +} + +@CONFERENCE{fish:tadrfcd, + author = {A.~Fish and J.~Howse}, + title = {Towards a Default Reading for Constraint Diagrams}, + booktitle = {Proceedings of 3rd International Conference on the Theory and Application of Diagrams}, + address = {Cambridge, UK}, + series= {LNAI}, + volume= {2980}, + pages = {51-65}, + month = {March}, + publisher = {Springer-Verlag} +} + + +@ARTICLE{fish:tsoacd, + AUTHOR = "A.~Fish and J.~Flower and J.~Howse", + TITLE = "The Semantics of Augmented Constraint Diagrams", + JOURNAL = "Journal of Visual Languages and Computing", + YEAR = "2005", + volume = "16", + issue = "6", + pages = "541-573" +} + +@conference{flower:atpwsd, + author ="J.~Flower and G.~Stapleton", + booktitle ="Proceedings of Computing: The Australasian Theory Symposium", + address ="Dunedin, New Zealand", + volume ="91", + series ="ENTCS", + publisher ="Science Direct", + title ="Automated Theorem Proving with Spider Diagrams", + pages ="116-132", + month ="January", + year = 2004 +} + +@conference{flower:avffmwhn, + author ="J.~Flower and J.~Howse and J.~Taylor and S.~Kent", + booktitle ="Proceedings of Human Centric Computing Languages and Environments", + publisher ="IEEE", + title ="A Visual Framework for Modelling with Heterogeneous Notations", + pages ="71-73", + year = 2002 +} + +@mastersthesis{flower:gcd, + author ="J.~Flower", + title ="Generating Constraint Diagrams", + year =2000, + school ="University of Brighton" +} + +@conference{flower:ged, + author = "J.~Flower and J.~Howse", + booktitle = "Proceedings of 2nd International Conference on the Theory and Application of Diagrams", + address ="Georgia, USA", + publisher = "Springer-Verlag", + title = "Generating {E}uler Diagrams", + pages ="61-75", + month ="April", + year = 2002 +} + +@conference{flower:gpwsduh, + author = "J.~Flower and J.~Masthoff and G.~Stapleton", + booktitle = "Proceedings of Distributed Multimedia Systems, International Workshop + on Visual Languages and Computing", + publisher = "Knowledge Systems Institute", + pages ="279-285", + title = "Generating Proofs with Spider Diagrams Using Heuristics", + year = 2004 +} + + + +@conference{flower:grpahattpwsd, +author = {J.~Flower and J.~Masthoff and G.~Stapleton}, +booktitle = {Proceedings of 3rd International Conference on the Theory and Application of Diagrams}, +address = {Cambridge, UK}, +series= {LNAI}, +volume= {2980}, +publisher = {Springer}, +title = {Generating Readable Proofs: A Heuristic Approach to Theorem Proving with Spider Diagrams}, +pages = {166-181}, +year = 2004 +} + +@conference{flower:lmfed, + author ="J.~Flower and P.~Rodgers and P.~Mutton", + booktitle ="7th International Conference on Information Visualisation", + publisher ="IEEE Computer Society Press", + title ="Layout metrics for {E}uler Diagrams", + pages ="272-280", + year =2003 +} + + +@conference{flower:nied, + author ="J.~Flower and J.~Howse and J.~Taylor", + booktitle ="International Workshop on Graph Transformation and Visual Modeling Techniques", + publisher ="", + title ="Nesting in {E}uler Diagrams", + pages ="99-108", + year = 2002 +} + +@ARTICLE{flower:niedssac, + AUTHOR = "J.~Flower and J.~Howse and J.~Taylor", + TITLE = "Nesting in {E}uler diagrams: syntax, semantics and construction", + JOURNAL = "Software and Systems Modelling", + YEAR = "2004", + volume = "3", + pages = "55-67", + month = "March", + publisher= "Springer" + } + + + +%%%%%%%%%%%%%%%%%%%%%%%%%% GGGG %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +@conference{gil:cdasbu, + author = "J.~Gil and J.~Howse and S.~Kent", + booktitle = "Proceedings of TOOLS USA 1999, Santa Barbara, California, USA", + publisher = "IEEE Computer Science Press", + title = "Constraint Diagrams: A step beyond {UML}", + pages = "453-463", + month = "August", + year = 1999 +} + +@conference{gil:fsd, + author = "J.~Gil and J.~Howse and S.~Kent", + booktitle = "Proceedings of IEEE Symposium on Visual Languages (VL99), Tokyo", + publisher = "IEEE Computer Society Press", + title = "Formalising Spider Diagrams", + pages = "130-137", + month ="September", + year = 1999 +} + +@conference{gil:pived, + author ="J.~Gil and J.~Howse and S.~Kent and J.~Taylor", + title ="Projections in {V}enn-{E}uler Diagrams", + booktitle ="Proc. IEEE Symposium on Visual Languages", + month ="September", + publisher ="IEEE Computer Society Press", + pages ="119--126", + year =2000 +} + + +@ARTICLE{gil:psop, + AUTHOR = "J.~Gil and J.~Howse and E.~Tulchinsky", + TITLE = "Positive semantics of projections", + JOURNAL = "Journal of Visual Languages and Computing", + YEAR = "2001", + volume = "13", + number = "2", + pages = "197-227", + month = "April" +} + + +@conference{gil:tafocd, + author ="J. Gil and J. Howse and S. Kent", + title ="Towards a formalization of constraint diagrams", + booktitle ="Proc IEEE Symposia on Human-Centric Computing (HCC '01), Stresa, Italy", + publisher ="IEEE Computer Society Press", + month ="September", + pages ="72-79", + year =2001 +} + + +@misc{gil:tcde, + author ="J. Gil and Y. Sorkin", + title ="The Constraint Diagrams Editor", + note ="Available at www.cs.technion.ac.il/Labs/ssdl/research/cdeditor/" +} + + +@conference{gil:tdsm, + AUTHOR = "J.~Gil and S.~Kent", + TITLE = "Three dimensional software modeling", + YEAR = "1998", + booktitle = "ICSE 98", + pages = "105--114", + publisher = "IEEE" +} + +@CONFERENCE{good:vplsanpchddlc, + author = {J.~Good}, + title = {{VPL}s and Novice Program Comprehension: How do Different Languages Compare?}, + booktitle = {15th IEEE Symposium on Visual Languages}, + year = {1999}, + pages = {262--269}, + publisher = {IEEE Computer Society Press} +} + +@BOOK{greaves:tpsod, + AUTHOR = "M.~Greaves", + TITLE = "The Philosophical Status of Diagrams", + PUBLISHER = "CSLI Publications", + YEAR = "2002" +} + +@misc{gurr:todrdcp, + author ="C. Gurr and J. Lee and K. Stenning", + title ="Theories of diagrammatic reasoning: Distinguishing component problems", + howpublished="Minds and Machines", + pages ="533--557", + year =1998 +} + +@CONFERENCE{gurr:ttpdosed, + author = {C.~Gurr and K.~Tourlas}, + title = {Towards the Principled Design of Software Engineering Diagrams}, + booktitle = {Proceedings of 22nd International Conference on Software Engineering}, + year = {2000}, + pages = {509--518}, + publisher = {ACM Press} +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%% HHHHH %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +@ARTICLE{hammer:evl, + AUTHOR = "E.~Hammer and S.~J.~Shin", + TITLE = "Euler's Visual Logic", + JOURNAL = "History and Philosophy of Logic", + YEAR = "1998", + pages = "1-29" +} + +@book{hammer:lavi, + author = "E. Hammer", + publisher = "CSLI Publications", + title = "Logic and Visual Information", + year = 1995 +} + + +@INCOLLECTION{hammer:tamtofd, + AUTHOR = "E. Hammer and N. Danner", + TITLE = "Towards a model theory of {V}enn diagrams", + BOOKTITLE = "Logical Reasoning with Diagrams", + PUBLISHER = "Oxford University Press", + YEAR = "1996", + editor = "G.~Allwein and J.~Barwise", + pages = "109-127" +} + +@ARTICLE{hammer:tamtovd:02, + AUTHOR = "E.~Hammer and N.~Danner", + TITLE = "Towards a model theory of {V}enn diagrams", + JOURNAL = "Journal of Philosophical Logic", + YEAR = "1996", + volume = "25", + number = "4", + pages = "463-482" +} + + + + +@conference{harel:ovf, + author ="D. Harel", + title ="On visual formalisms", + booktitle ="Diagrammatic Reasoning", + editor ="J. Glasgow and N. H. Narayan and B. Chandrasekaran", + publisher ="MIT Press", + pages ="235--271", + year =1998 +} + +@CONFERENCE{hayes:ckcio, + author = {P.~Hayes and T.~Eskridge and R.~Saavedra and T.~Reichherzer and M.~Mehrotra and D.~Bobrovnikoff}, + title = {Collaborative Knowledge Capture in Ontologies}, + booktitle = {Proceedings of the 3rd International Conference on Knowledge Capture}, + year = {2005}, + pages = {99-106} +} + + + +@conference{hegarty:ditmaitwrbiaev, + author = {M. Hegarty}, + booktitle = {Proceedings of 3rd International Conference on the Theory and Application of Diagrams}, + address = {Cambridge, UK}, + series= {LNAI}, + volume= {2980}, + publisher = {Springer}, + title = {Diagrams in the Mind and in the World: Relations between Internal and External Visualizations}, + pages = {1--13}, + year = 2004 +} + +@conference{howse:asacdrs, + author ="J. Howse and F. Molina and J. Taylor", + title ="A sound and complete diagrammatic reasoning system", + booktitle ="Proceedings. ASC 2000: 3rd IASTED International Conference on Artificial Intelligence and Soft Computing", + address ="Banff", + publisher ="IASTED/ACTA Press", + pages ="402-408", + year =2000 +} + +@conference{howse:cried, + author = "J. Howse and G. Stapleton and J. Flower and J. Taylor", + booktitle = "Proceedings of 2nd International Conference on the Theory and Application of Diagrams", + publisher = "Springer", + address = "Georgia, USA", + title = "Corresponding Regions in {E}uler Diagrams", + pages ="76-90", + month ="April", + year = 2002 +} + +@conference{howse:odtat, + author = "J. Howse and F. Molina and S-J. Shin and J. Taylor", + booktitle = "Proceedings of 2nd International Conference on the Theory and Application of Diagrams", + publisher = "Springer", + address = "Georgia, USA", + publisher = "Springer", + title = "On Diagram Tokens and Types", + pages ="146-160", + month ="April", + year = 2002 +} + +@conference{howse:otcaeosds, + author = "J. Howse and F. Molina and J. Taylor", + booktitle = "Proceedings of 1st International Conference on the Theory and Application of Diagrams", + publisher = "Springer", + address = "Edinburgh, UK", + title = "On the completeness and expressiveness of spider diagram systems", + pages = "26-41", + month = "September", + year = 2000 +} + +@ARTICLE{howse:pvm, + AUTHOR = "J.~Howse and S.~Schuman", + TITLE = "Precise Visual Modelling", + JOURNAL = "Journal of Software and Systems Modeling", + volume = "4", + issue = "3", + pages = "310-325", + YEAR = "2005" +} + +@conference{howse:rwsd, + author = "J. Howse and F. Molina and J. Taylor and S. Kent", + booktitle = "Proceedings of IEEE Symposium on Visual Languages (VL99), Tokyo", + publisher = "IEEE Computer Society Press", + title = "Reasoning with Spider Diagrams", + pages = "138-147", + month = "September", + year` = 1999 +} + +@conference{howse:sasacdrs, + author = "J. Howse and F. Molina and J. Taylor", + booktitle = "Proceedings VL 2000: IEEE Symposium on Visual Languages, Seattle, USA", + publisher = "IEEE Computer Society Press", + title = "{SD2}: A sound and complete diagrammatic reasoning system", + pages = "127-136", + year = 2000 +} + +@ARTICLE{howse:sd, + author = {J.~Howse and G.~Stapleton and J.~Taylor.}, + title = {Spider Diagrams}, + JOURNAL = {LMS Journal of Computation and Mathematics}, + volume = {8}, + pages = {145--194}, + year = {2005} +} + +@article{howse:sdadrs, + author ="J. Howse and F. Molina and J. Taylor and S. Kent and J. Gil", + title ="Spider Diagrams: A Diagrammatic Reasoning System", + journal ="Journal of Visual Languages and Computing", + volume ="12", + number ="3", + month ="June", + pages ="299--324", + year =2001 +} + +@conference{howse:tsatsids, + author ="J. Howse and F. Molina and S-J. Shin and J. Taylor", + booktitle ="Proceedings FOIS-2001: 2nd International Conference on + Formal Ontology in Information Systems, Maine, USA", + publisher ="ACM Press", + title ="Type-syntax and Token-syntax in Diagrammatic Systems", + pages ="174--185", + year = 2001 +} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JJJJJJJJJJ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +@BOOK{jamnik:mrwd, + AUTHOR = "M.~Jamnik", + TITLE = "Mathematical Reasoning with Diagrams", + PUBLISHER = "CSLI", + YEAR = "2001", +} + +@CONFERENCE{jamnik:aodr, + author = {M.~Jamnik and A.~Bundy and I.~Green}, + title = {Automation of Diagrammatic Reasoning}, + booktitle = {Proceedings of the 15th International Joint Conference on Artificial Intelligence}, + year = {1997}, + volume = {1}, +pages = {528--533}, + publisher = {Morgan Kaufmann Publishers}, +} + + + +@conference{john:etnocied, + author = "Chris John and Andrew Fish and John Howse and John Taylor", + booktitle = "Accepted for the 4th International Conference on the Theory and Application of Diagrams", + pages = "267-282", + address ="Stanford, USA", + title = "Exploring the notion of Clutter in {E}uler diagrams", + publisher ="Springer", + year = 2006 +} + +@conference{john:pcied, + author ="C.~John", + booktitle ="{E}uler Diagrams 2004", + volume = "134", + series = "ENTCS", + title ="Projected Contours in {E}uler Diagrams", + pages ="103--126", + year =2005 +} + +@conference{john:rwpc, + author ="C.~John", + booktitle = {Proceedings of 3rd International Conference on the Theory and Application of Diagrams}, + address = {Cambridge, UK}, + series= {LNAI}, + volume= {2980}, + publisher ="Springer", + title ="Reasoning with Projected Contours", + pages ="147-150", + year =2004 +} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%% KKKKKKK %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +@conference{kent:cdviioom, +author = "S. Kent", +title = "Constraint Diagrams: Visualizing Invariants in Object Oriented Modelling", +month = "October", +year = "1997", +pages = "327-341", +booktitle = "Proceedings of OOPSLA97", +publisher = "ACM Press" +} + +@incollection{kent:ctiaiomwo, + author = "S. Kent and J. Howse", + title = "Constraint trees. In Advances in object modelling with {OCL}", + Editors = "A Clark and J Warmer", + publisher = "Springer Verlag", + year = "2002" +} + +@conference{kent:mvatcl, + author ="S. Kent and J. Howse", + title ="Mixing Visual and Textual Constraint Languages", + booktitle ="Proceedings of UML99", + year ="1999" +} + +@CONFERENCE{kestler:edfvaged, + author = {H.~Kestler and A.~Muller and H.~Liu and D.~Kane and B.~Zeeberg and J.~Weinstein}, + title = {{E}uler diagrams for visualizing annotated gene expression data}, + booktitle = {Proceedings of {E}uler Diagrams 2005}, + year = {2005}, + address = {Paris}, + month = {September} +} + +@ARTICLE{kestler:gvdanmfvcgsr, + AUTHOR = "H.~Kestler and A.~Muller and T.~Gress and M.~Buchholz", + TITLE = "Generalized {V}enn Diagrams: A New Method for Visualizing Complex Genetic Set Relations", + JOURNAL = "Journal of Bioinformatics", + YEAR = "2005", + volume = "21", + number = "8", + pages = "1592-1595" +} + + + +@TECHREPORT{kiesner:voavnofocl, + AUTHOR = "C. Kiesner and G. Taentzer and J. Winkelmann", + TITLE = "{V}isual {O}{C}{L}: A {V}isual {N}otation of the {O}bject {C}onstraint {L}anguage", + INSTITUTION = "Technical University of Berlin", + YEAR = "2002", + number = "2002/23" +} + +@CONFERENCE{kim:vofs, + author = {S.-K.~Kim and D.~Carrington}, + title = {Visualization of Formal Specifications}, + booktitle = {6th Aisa Pacific Software Engineering Conference}, + pages = {102--109}, + address = {Los Alamitos, CA, USA}, + publisher = {IEEE Computer Society Press}, + year = {1999} +} + +@conference{kuljis:acoesacdaiteoud, + author = "J. Kuljis and L. Baldwin and R. Scoble", + booktitle = "Proceedings of 14th Workshop on the Psychology of Programming Interest Group", + publisher = "", + pages = "1--14", + title = "A Comparison of Empirical Study and Cognitive Dimensions Analysis in the Evaluation of UML Diagrams", + year = 2002 +} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LLLLL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +@article{larkin:wadiswttw, + author ="J. Larkin and H. Simon", + title ="Why a Diagram is (Sometimes) Worth Ten Thousand Words", + journal ="Journal of Cognitive Science", + volume ="11", + pages ="65--99", + year =1987 +} + + +@incollection{lemon:cteovl, + AUTHOR = "O.~Lemon", + editor = "D.~Barker-Plummer and D.~I.~Beaver and J.~van~Benthem and P.~Scotto\hspace{2pt}di\hspace{2pt}Luzio", + TITLE = "Comparing the Efficacy of Visual Languages", + booktitle ="Words, Proofs and Diagrams", + pages = "47-69", + PUBLISHER = "CSLI Publications", + YEAR = "2002" +} + +@ARTICLE{lemon:slatcodr, + AUTHOR = "O.~Lemon and I.~Pratt", + TITLE = "Spatial Logic and the Complexity of Diagrammatic Reasoning", + JOURNAL = "Machine GRAPHICS and VISION", + YEAR = "1997", + volume = "6", + number = "1", + pages = "89-108", +} + +@phdthesis{lovdahl:taveeftlotsw, + AUTHOR = "J.~Lovdahl", + TITLE = "Towards a Visual Editing Environment for the Languages of the Semantic Web", + SCHOOL = "Linkoping University", + YEAR = "2002" +} + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% MMMMMMMM %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 + +@INBOOK{mclaughlin:ce, + AUTHOR = "J.~McLaughlin and S>~Gallinger", + TITLE = "The Basic Science of Oncology", + CHAPTER = "Cancer Epidemiology", + PUBLISHER = "McGraw-Hill", + YEAR = "2004", +} + + +@CONFERENCE{meyer:fovmn, + author = {B.~Meyer}, + title = {Formalization of Visual Mathematical Notations}, + booktitle = {AAAI Symposium on Diagrammatic Reasoning}, + year = {1997}, + address = {Boston, USA}, + month = {November} +} + +@MISC{mod:tposcside, + author = {{UK Ministry of Defence}}, + title = {The Procurement of Saftey Critical Software in Defence Equipment}, + year = {1993}, + note = {MOD Interim Standard 00-55} +} + +@phdthesis{molina:rwevpds, + author = "F. Molina", + school = "University of Brighton", + address = "", + title = "Reasoning with extended {V}enn-{P}eirce diagrammatic systems", + year = 2001 +} + +@article{more:otcovd, + author ="T. More", + title ="On the construction of {V}enn diagrams", + journal ="Journal of Symbolic Logic", + volume ="23", + pages ="303--304", + year =1959 +} + + +@CONFERENCE{mutton:dgied, + author = {P. Mutton and P. Rodgers and J. Flower}, + title = {Drawing Graphs in {E}uler Diagrams}, + booktitle = {Proceedings of 3rd International Conference on the Theory and Application of Diagrams}, + address = {Cambridge, UK}, + series= {LNAI}, + volume= {2980}, + pages = {66-81}, + month = {March}, + publisher = {Springer} +} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% OOOO %%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +@CONFERENCE{oberlander:htmm, + author = {J.~Oberlander and K.~Stenning and R.~Cox}, + title = {Hyperproof: The Multimodal Moral}, + booktitle = {Second Conference on Information-Theoretic Approaches to Logic, Language and Computation}, + year = {1996} +} + + + +@MISC{omg:o2.0sr1.6, + author = "O{M}{G}", + title = "{OCL} 2.0 Specification, revision 1.6", + howpublished = "Available from http://www.omg.org", + year = "2003" +} + +@MISC{omg:u2.0s, + author = "O{M}{G}", + title = "U{M}{L} 2.0 Specification", + howpublished = "Available from http://www.omg.org", + year = "2004" +} + +@misc{omg:usv1.3, + author ="O{M}{G}", + howpublished="Available from www.omg.org.", + title ="U{M}{L} Specification, Version 1.3.", + note ="" +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PPPPPPP %%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +@CONFERENCE{patrascoiu:eoeiy, + author = {O.~Patrascoiu and P.~Rodgers}, + title = {Embedding {OCL} Expressions in {YATL}}, + booktitle = {Proceedings of the {OCL} and Model Driven Engineering Workshop}, + year = {2004}, + month = {October} +} + +@CONFERENCE{patrascoiu:metwsuy, + author = {O.~Patrascoiu}, + title = {Mapping {EDOC} to Web Services using {YATL}}, + booktitle = {Proceedings of the 8th International IEEE Enterprise Distributed +Object Computing Conference (EDOC 2004)}, + year = {2004}, + pages = {12}, + month = {September} +} + + +@conference{patrascoiu:mtiysae, + author = "Octavian Patrascoiu", + booktitle = "Technical Report", + pages ="", + title = "Model Transformations in {YATL}. Studies and Experiments", + year = 2004 +} + + +@CONFERENCE{patrascoiu:tfdr, + author = {O.~Patrascoiu and S.~Thompson and P.~Rodgers}, + title = {Tableaux for Diagrammatic Reasoning}, + booktitle = {Proceedings of the Eleventh International Conference on Distributed +Multimedia Systems, International Workshop on Visual Languages and +Computing}, + year = {2005}, + pages = {279-286}, + month = {September}, + publisher = {Knowledge Systems Institute} +} + +@conference{patrascoiu:ttatlrmv1.0, + author = "Octavian Patrascoiu", + booktitle = "Technical Report", + title = "{YATL}: Yet Another Transformation Language - Reference Manual Version 1.0", + year = 2004 +} + +@conference{patrascoiu:yyatl, + author = "Octavian Patrascoiu", + booktitle = "Proceedings of the 1st European {MDA} Workshop, {MDA-IA}", + pages = "83-90", + title = "{YATL}: Yet Another Transformation Language", + month = "January 2004", + year = 2004 +} + +@book{peirce:cp, + author ="C. Peirce.", + title ="Collected Papers", + volume ="4", + publisher ="Harvard University Press", + year =1933 +} + +@book{polya:htsi, + AUTHOR = "G. ~Polya", + TITLE = "How to Solve It", + PUBLISHER = "Princeton University Press", + YEAR = "1957" +} + + +@CONFERENCE{puigsegur:vlpbmodt, + author = {J.~Puigsegur and J.~Agusti}, + title = {Visual Logic Programming by Means of Diagram Transformations}, + booktitle = {joint Conference on Declarative Programming}, + year = {1998} +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% RRRRRRR %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +@MISC{rector:sviowl, + author = "A.~Rector", + title = "Specifying Values in OWL: Value Partitions +and Value Sets", + howpublished = "W3C Editors Draft 02", + year = "2005" +} + + +@BOOK{roberts:tegocsp, + AUTHOR = "D.~D.~Roberts", + TITLE = "The Existential Graphs of Charles S. Peirce", + PUBLISHER = "Mouton", + YEAR = "1973" +} + + + + +@CONFERENCE{rodgers:dedd, + author = {P. Rodgers and P. Mutton and J. Flower }, + title = {Dynamic {E}uler Diagram Drawing}, + year = {2004}, + booktitle= {Visual Languages and Human Centric Computing, Rome, Italy}, + pages ="147-156", + month = {September}, + publisher = {IEEE Computer Society Press}, +} + +@ARTICLE{ruskey:asovd, + AUTHOR = "F.~Ruskey", + TITLE = "A Survey of {V}enn Diagrams", + JOURNAL = "Electronic Journal of Combinatorics", + note = "www.combinatorics.org/Surveys/ds5/VennEJC.html", + YEAR = "1997" +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SSSSSSS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +@CONFERENCE{sawamura:javrswdas, + author = {H.~Sawamura and K.~Kiyozuka}, + title = {{JV}enn: A Visual Reasoning System with Diagrams and Sentences}, + booktitle = {Proceedings of 1st International Conference on the Theory and Application of Diagrams}, + publisher = {Springer-Verlag}, + address = {Edinburgh, UK}, + series = {LNAI}, + volume = {1889}, + pages = {271-285}, + year = {2000} +} + +@conference{scotto:pualovd, + author ="P. Scotto~di~Luzio", + title ="Patching up a logic of {V}enn diagrams", + booktitle ="Proceedings 6th CSLI Workshop on Logic, Language and Computation", + publisher ="CSLI Publications", + year = "2000" +} + +@conference{shimojima:iaecogrsasg, + author ="A. Shimojima", + booktitle = {Proceedings of 3rd International Conference on the Theory and Application of Diagrams}, + address = {Cambridge, UK}, + series= {LNAI}, + volume= {2980}, + publisher ="Springer", + title ="Inferential and Expressive Capacities of Graphical Representations: Survey and Some Generalizations", + pages ="18--21", + year = 2004 +} + + +@incollection{shimojima:lrwd, + author ="A. Shimojima", + publisher ="Oxford University Press", + title ="Operational constraints in diagrammatic reasoning", + booktitle ="Logical Reasoning with Diagrams", + note ="Edited by Gerard Allwein and Jon Barwise", + pages ="27-48", + year =1996 +} + + +@incollection{shin:staovrwvd, + author ="S.-J.~Shin", + publisher ="Oxford University Press", + title ="Situation-Theoretic Account of Valid Reasoning with {V}enn Diagrams", + booktitle ="Logical Reasoning with Diagrams", + editor ="G.~Allwein and J.~Barwise", + pages ="81-108", + year =1996 +} + +@BOOK{shin:tilopg, + AUTHOR = "S.-J.~Shin", + TITLE = "The Iconic Logic of Peirce's Graphs", + PUBLISHER = "Bradford Book", + YEAR = "2002" +} + + +@book{shin:tlsod, + author = "S.-J. Shin", + publisher = "Cambridge University Press", + title = "The Logical Status of Diagrams", + year = 1994 +} + +@article{stenning:ialihrasi, + author = {K.~Stenning and P.~Yule}, + title = {Image and Language in Human Reasoning: A Syllogistic Illustration}, + journal = {Cognitive Psychology}, + year = {1997}, + pages = {109--159}, +} + + +@TECHREPORT{stapleton:afatpieds, + AUTHOR = "G.~Stapleton and J.~Masthoff and J.~Flower and A.~Fish and J.~Southern", + TITLE = "Appendices for Automated Theorem Proving in Euler Diagram Systems", + INSTITUTION = "University of Brighton", + YEAR = "2006", + number = "Technical Report VMG06.2" +} + + +@conference{stapleton:acdrs, + author = "G. Stapleton and J. Howse and J. Taylor", + booktitle = "Proceedings of International Conference on Visual Languages and Computing", + publisher = "Knowledge Systems Insitute", + title = "A Constraint Diagram Reasoning System", + pages ="263-270", + year = 2003 +} + + +@ARTICLE{stapleton:adcdrs, + AUTHOR = "G.~Stapleton and J.~Howse and J.~Taylor", + TITLE = "A Decidable Constraint Diagram Reasoning System", + JOURNAL = "Journal of Logic and Computation", + YEAR = "2005", + volume = "15", + number = "6", + pages = "975-1008", + month = "December" +} + +@CONFERENCE{stapleton:anlftvolar, + author = {G.~Stapleton and S.~Thompson and A.~Fish and J.~Howse and J.~Taylor}, + title = {A New Language for the Visualisation of Logic and Reasoning}, + booktitle = {11th International Conference on Distributed Multimedia Systems, International Workshop on + Visual Languages and Computing}, + year = {2005}, + month = {September}, + publisher = {Knowledge Systems Institute} +} + +@CONFERENCE{stapleton:asf, + author = {G.~Stapleton and J.~Howse and K.~Toller}, + title = {On Spiders' Feet}, + booktitle = {{E}uler Diagrams 2005}, + year = {2005} +} + +@CONFERENCE{stapleton:asorsboed, + author = {G.~Stapleton}, + title = {A Survey of Reasoning Systems Based on {E}uler Diagrams}, + booktitle = {Proceedings of Euler Diagrams 2004, Brighton, UK}, + year = {2005}, + pages = {127-151}, + volume = {134}, + series = {ENTCS} +} + +@conference{stapleton:eteosds, + author = "G.~Stapleton and J.~Howse", + booktitle = "Proceedings of Distributed Multimedia Systems, International Workshop + on Visual Languages and Computings", + address ="Grand Canyon, USA", + pages = "129--138", + title = "Enhancing the Expressiveness of Spider Diagram Systems", + publisher ="Knowledge Systems Institute", + year = 2006 +} + + +@conference{stapleton:gs, + author = "G.~Stapleton and J.~Howse and K.~Toller", + booktitle = "4th International Conference on the Theory and Application of Diagrams", + address ="Stanford, USA", + pages = "148-150", + title = "Generalizing Spiders", + publisher ="Springer", + year = 2006 +} + +@PHDTHESIS{stapleton:rwcd, + AUTHOR = "G.~Stapleton", + TITLE = "Reasoning with Constraint Diagrams", + SCHOOL = "University of Brighton", + publisher = "British Computer Society", + YEAR = "2004", + source = "http://www.bcs.org/server.php?show=conWebDoc.2842", + month = "August" +} + + + +@ARTICLE{stapleton:teosd, + AUTHOR = "G.~Stapleton and S.~Thompson and J.~Howse and J.~Taylor", + TITLE = "The Expressiveness of Spider Diagrams", + JOURNAL = "Journal of Logic and Computation", + YEAR = "2004", + volume = "14", + number = "6", + pages = "857-880", + month = "December" +} + +@CONFERENCE{stapleton:teosdawc, + author = {G.~Stapleton and J.~Howse and J.~Taylor and S.~Thompson}, + title = {The Expressiveness of Spider Diagrams Augmented with Constants}, + year = {2004}, + booktitle= {Visual Languages and Human Centric Computing, Rome, Italy}, + pages = {91-98}, + month = {September}, + publisher = {IEEE Computer Society Press}, +} + +@conference{stapleton:wcsds, + author ="G. Stapleton and J. Howse and J. Taylor and S. Thompson", + booktitle = {Proceedings of 3rd International Conference on the Theory and Application of Diagrams}, + address = {Cambridge, UK}, + series= {LNAI}, + volume= {2980}, + publisher ="Springer", + title ="What Can Spider Diagrams Say?", + pages ="112-127", + year = 2004 +} + +@incollection{swoboda:acsotdaiohrs, + author = "N. Swoboda and G. Allwein", + booktitle = "Logical and Computational Aspects of Model-Based Reasoning", + publisher = "Kluwer Academic Publishers", + title = "A case study of the design and implementation of heterogeneous reasoning systems", + editor ="L.~Magnani and N.~J.~Neressian and C.~Pizzi", + pages ="1--18", + year = 2002 +} + +@conference{swoboda:hrwevdcncaf, + author = "N. Swoboda and G. Allwein", + booktitle = "Proceedings of Euler Diagrams 2004", + publisher = "Elsevier Science", + series = "ENTCS", + volume = "134", + title = "Heterogeneous Reasoning with {E}uler/{V}enn Diagrams Containing Named Constants and {FOL}", + year = 2005 +} + +@incollection{swoboda:ievrs, + author = "N. Swoboda", + booktitle = "Diagrammatic Representation and Reasoning", + publisher = "Springer-Verlag", + title = "Implementing {E}uler/{V}enn Reasoning Systems", + editor = "M.~Anderson and B.~Meyer and P.~Olivier", + pages = "371--386", + year = 2001 +} + +@conference{swoboda:mhs, + author = "N. Swoboda and G. Allwein", + booktitle = "Proceedings of 2nd International Conference on the Theory and Application of Diagrams", + address = "Gardens, Georgia, USA", + publisher = "Springer-Verlag", + title = "Modeling Heterogeneous Systems", + series = "LNAI", + volume = "2317", + pages = "131-145", + year = 2002 +} + +@conference{swoboda:ticoevd, + author = "N.~Swoboda and J.~Barwise", + booktitle = "Proceedings LICS workshop on Logic and Diagrammatic Information", + title = "The Information Content of {E}uler/{V}enn Diagrams", + year = 1998 +} + + + +@conference{swoboda:udttvevhaevfhroi, + author = "N. Swoboda and G. Allwein", + booktitle = "Proceedings of GT-VMT", + publisher = "Elsevier Science", + series = "ENTCS", + title = "Using {DAG} transformations to Verify {E}uler/{V}enn Homogeneous and {E}uler/{V}enn {FOL} Heterogeneous Rules of Interence", + year = 2002 +} + +@article{swoboda:udttvevhaevfhroi:02, + author = {N.~Swoboda and G.~Allwein}, + title = {Using {DAG} Transformations to Verify {E}uler/{V}enn Homogeneous and {E}uler/{V}enn {FOL} Heterogeneous Rules of Inference}, + journal = {Journal on Software and System Modeling}, + year = {2004}, + volume = {3}, + number = {2}, + pages = {136--149} +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TTTTTT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +@CONFERENCE{thievre:ueditle, + author = {J.~Thi`evre and M.~Viaud and A.~ Verroust-Blondet}, + title = {Using Euler Diagrams in Traditional Library Environments}, + booktitle = {Euler Diagrams 2004}, + year = {2005}, + volume = {134}, + series = {ENTCS}, + pages = {189-202}, + publisher = {ENTCS} +} + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% UUUUUUUUUU %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% VVVV %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +@article{venn:otdamropar, + author ="J. Venn", + title ="On the diagrammatic and mechanical representation of propositions and reasonings", + journal ="Phil.Mag", + year =1880 +} + + +@CONFERENCE{verroust:etdoedfutes, + author = {A.~Verroust and M.-L.~Viaud}, + title = {Ensuring the Drawability of {E}uler Diagrams for up to Eight Sets}, + booktitle = {Proceedings of 3rd International Conference on the Theory and Application of Diagrams}, + address = {Cambridge, UK}, + series= {LNAI}, + volume= {2980}, + pages = {128--141}, + publisher = {Springer}, + year = {2004} +} + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% WWWWWWW %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +@book{warmer:toclpmwu, + author ="J. Warmer and A. Kleppe", + title ="The Object Constraint Language: Precise Modeling with UML", + publisher ="Addison-Wesley", + year =1998 +} + + + +@MASTERSTHESIS{winkelmann:sovavotocl, + AUTHOR = "Jessica Winkelmann", + TITLE = "Specification of {V}isual{O}{C}{L}: {A} {V}isualisation of the + {O}bject {C}onstraint {L}anguage", + SCHOOL = "TU Berlin", + YEAR = "2005", + note = "(in German)" +} + + +@CONFERENCE{winterstein:ddadtp, + author = {D.~Winterstein and A.~Bundy and C.~Gurr}, + title = {Dr {D}oodle: A Diagrammatic Theorem Prover}, + booktitle = {Proceedings of The International Joint Conference on Automated Reasoning}, + year = {2004}, + series = {LNCS}, + publisher = {Springer-Verlag} +} + +@CONFERENCE{winterstein:odbtrapp, + author = {D.~Winterstein and A.~Bundy and M.~Jamnik}, + title = {On Differences Between the Real and Physical Plane}, + booktitle = {Proceedings of 3rd International Conference on the Theory and Application of Diagrams}, + year = {2004}, + series = {LNAI}, + volume = {2980}, + pages = {29-31}, + month = {March}, + publisher = {Springer-Verlag} +} + +@BOOK{wos:afcitwocygtar, + AUTHOR = "L.~Wos and G.~Pieper", + TITLE = "A Fascinating Country in the World of Computing Your Guide to Automated Reasoning", + PUBLISHER = "World Scientific", + YEAR = "1999" +} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ZZZZZZZ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +@ARTICLE{zhang:ridct, + AUTHOR = {J.~Zhang and D.~Norman}, + TITLE = {Representations in Distributed Cognitive Tasks}, + JOURNAL = {Cognitive Science}, + YEAR = {1994}, + pages = {87--122}, + vol = {18} +} + +@CONFERENCE{zhao:arbmodtofep, + author = {Y.~Zhao and J.~L\"{o}vdahl}, + title = {A Reuse Based Method of Developing the Ontology for E-Procurement}, + booktitle = {Proceedings of the Nordic Confernce on Web Services}, + year = {2003}, + pages = {101-112} +} + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%