From 91f27bb94ba81990edc67e7f8ae7e1f40870f143 Mon Sep 17 00:00:00 2001 From: Robin Clark Date: Fri, 1 Jun 2012 21:09:01 +0100 Subject: [PATCH] removed all refs to parts~list lease enter the commit message for your changes. Lines starting --- submission_thesis/CH4_FMMD/cfg.dia | Bin 2402 -> 2205 bytes submission_thesis/CH4_FMMD/cfg2.dia | Bin 3053 -> 2721 bytes submission_thesis/CH4_FMMD/componentpl.dia | Bin 1336 -> 1117 bytes submission_thesis/CH4_FMMD/copy.tex | 149 ++++++++++++--------- submission_thesis/CH4_FMMD/master_uml.dia | Bin 3775 -> 3426 bytes 5 files changed, 86 insertions(+), 63 deletions(-) diff --git a/submission_thesis/CH4_FMMD/cfg.dia b/submission_thesis/CH4_FMMD/cfg.dia index 8689f24e4d133201988c10bba20d8d3822314cca..80467ff830da074117bff055441c606e88591bce 100644 GIT binary patch literal 2205 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 literal 2402 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 bdTXnX@0u6zyQy^qc?yT%|aY literal 3053 zcmV`y&phoZA+vt0wIeT?965&Erdgmhv&QC1MtI-->&n?U0SWPvN)R(gr}3V zSd`1GSe;G(^ZVzSp8k0L;fH0Ge1gBLD!HD(FN(GObT+-J>zhxfr(eH*Mfv?YsmluG z*)3Y9r~gaxJUN9%r_=KflgZ-_mPwu1@7iyZx~{Uz+d7>T$#r@*y-XH=tg7<1SWcT( zZM#L8m(}Dh$zlON?)LhoTxZav zzQ5UN($kOq@1r(tt2Hz#R_7mo;vbt!YQK2stLs90LF((IT4lv94&0l(xe*j;N-5k7 zVYI=DE3&yKZ-=`)EL?tAxazQQ+4|z9tm-Ps>Rrgovdq(@Xi)3wHr*d*y-0GP*mJ}3 z7{!;YuFDs$|4WjuUo(K_>+f&dTi@JOl`Wrtai6s4>E&y-tgkM<1-e~L@ArXvzsuIy zWuA6jeOArh_uEg$srSRrJ=xIo)@vS?Iu)sSyLnjMX3KQ_0?nSb>FMdJZFc(7 zUEgl^+8fh+wPmawM4sHIRonf~4`zDOKHyeyCds1C?lzwu-IMb2zv-fG2m4!{6w9Pq zPG*yz%Wu;M9|Sy*Y}UuP+v5RqVP4LygBlI2G9)(?&rQk^(>e!#%LB(rk5A z_k%G+xq1AD><6~KD!*QI_>3!ZUT`+H+VnkA7o9z6w-w0!)%IJYMcot6J>vxRdDLZ5cOlyECts55EWd{fON#Y$ zvaau~wFbFre)`Wezf0?Ekvw)P-hKr;FHFZvgOSF#?-kt#^eGEp&BT46p1Ow5Qr7R{7{|b)B&Nw@MOWNO(r@z&^d7G^Z8pfoG0jSFbCh*8u zVD35?iIi~Z7A=%z@(5gg5>07vQ`$+wXiG=v<4bQr;;2ap1eGHPB0+^fj0D080Oj#Z z(O;qz1(%`@`b8l+W+Cd%;VWMqnpr1B+I+VOC`1;;ShtAt`HUeVPYmKLXdd5tU@?;) zB$MA0oN8|(GeoUxWta+SQZ0`ur`@CMo`v-Y)ZZ^SRUX0V zR$$8x6r37w>Ka6~%l+%H+--2c>H{(6Gl`f2P|C(I6ZLCS)oT!sb)1R{?i}{;G5Uui z3{(joz_41cBXq2~foY;u_=FARMXn@b&@bD(ij!VzwQj-CXE_4dDfsbdPEV? zRE|WB5Q-VJ@ENo&5=KE9UkZ&-{}OIyfC@8=_MHrVWgR!;4U8ajH%ktmDB@a#t>^X~ zTuh`LvLu#xm!HkxVK8n^Nbr0_3xwN*1Q=Q4aL197_EX_>;?!U zW5ZeCw6Hm2;PfcM*}tV#c9$+EkC#_{h?X~a9=V5}(fW>YZp*ujjbaEX!9bCap+Jj) z5yzlY8$?7#pi)tgf`cylZuH6yAEi)R5Guo}CAkkPP@aFG)o zV1quyZAoe9wU~B#6T9kFEi`3v?iT(^<;q!=;WYHlW}V~gT#w8#k+vyUoQ`gZ6F4y* z+i$xXYwbnNWRFYKPE%JOWl)$j17=N z#6+ABP-sJW*d!v5)B$nI!Ml(eK1o~U$-|!Y;XlB*OW^^Jo@acBb8AfV%ry^8YCvjO zt$ z$OP4I_v<>nj#;V$oCeZK$e5@aV5WPd zoehOsw!-(mC4R}zfw-Xu;D(SKf;jigqzFq7$tYl*Xe2eo+@2Fj6l3l=Fsj0nqi3jH z6;+%Y$>B;BH;RpzA!d*&rPi1j6L$855qNPe6w&rnT${pT!hOLwIm9`lT?6gTtpSs` zYs-Wj+w2MB9`$yN1)e_XVKT=99O8kM)|;$V*i$?RHAI~l#59-GW)h4MnzeZ=9h%C0 zBkgVqSLk#2^zjh+O>-COed$HYrdNI33mkft_~gFo%H3rWK(Qx6rRGL2E0{Odg=(k?T^ z1LwdR9EvnmZUT{uCi^86jlvX#sh5dSm&Uh81?K}eOtzY3W)IC%!i4phY{ia661JwZ z_1tHmOa@~Uv}R|BLB&Rza52D}L@d8K5|V~~lN^#jqU^4z;-2;`$(x?q=Bggn{^knHkWZEd|2g6KJX z!-bumaNAZ%C4x`A_6@eXsU*sICKA8XoWwvzO$`vWHm5Ea8rVB*fWR4~)S5J)jIp>% vsWBL|nCU-6*xE_OXujUnd^Ml*>o*epzs1P2+?~F*Yp#O@oR+hD=0b z^Y8CpKX~Tn$-}3Rk&pT>ipj#zJw%dz8=G^bmLCU$&1M7mHX%yJfU^}y=-^+%IT>i9 zfjN0Fj6(+@Q6z0ET8UCIo2?Wz1X<9rIU~W3D3&V`nz>bB7f3E+V@>$je0>BFF_uIH$(zxt)v6KnZCThE^m^AoF{~y>CR*5ze(d6-0=P@5r z(XjVbH_%29wIFfCL={KJhUbAmz(WY>U|`?#q3gKTE+&`5&E6M|zb{<;zHls=E@iA@ z!c-Mh|1~L}a^59zY$sjTnsm^JqATAhUc=$LS zu;!FSbJYxH1LXLJkJSz=najp5ZBZ+eq7dZCF z1D20cM9XzsLaHO)UTjIH5}+pR6$K8wG^rjF>N=V$%65% z9vBgcX(Vc!rfaQNdDq`5UsJ^ba#&SdK7z`Qso6CUcn~)2(KevRG<-7^+dv)Hh9@o% zAnXRDPhOE&(E9bHVznq@`9_r5%I~tRvCf86-W>a(*zclBcIU+E0h9@bhx$ydI~1f# zLxg~B>(9Q6Za|j462@0CHNMG^-j%6uWvZp)U73DnW%`2&T2t~nos|g!D`kS;YrUjV zpzjYe#<|cPWi>f;GI_$b-wrvDLQJU$v)Noc$NGapIzrcVS{|tN;s?v}K@5U_+gptUljI6&N}XLOgm!)J69#DAHYx j`c|VF4&KG+e-)$rd-h&^@^JLxee&=h+aZ3%oF@PP4s0qk literal 1336 zcmV-81;_dyiwFP!000021MOQ|Z{j!Y{$6`1EZalM*FaNsj{qGBR2@G!<|GHl=Tp-Wt}os;w7CT|NDy)9hwws1Us zTEvM=D3^7}NgPLviUL(8OLjRk&2`*YS0`8R-QykEPHhOBO&jF`mx^Q1spPBe z)!v-MlmFOMmcjlbsR(Ei7>~y1_{H4SAgTi4!N~jz9!^#@JmpO3U~RS*@efL2U_Us( zs!l*%KHA(*CROi=8b1|b#I^_|gTVF>L4Y58;9LgAA~t`T#)+tx2iJ-xhsaf=9@ADq zT;SMn|3x}r%@_}7vK`CQZN*-T*gE;!F{pRPU{%!l`xN%vTV(K8_9FKvj7kdQt`sJKxb}kwAhtD< zxIl3Mv4$Q%KF$!4>s|;cv$;4?ZB%U9)--R=4(uwO+;5p*!GvsS=#ErDZ6$RqWD{a` z-*~2T9&OaXs7OsCm76SGE4?Zn{hdWCCi#@^R~6@vptfTgb`1m`gl&8D63{~$zM6`c zKpobGM-C7m>;|MduTacc^LjF|oR@R?N|eUR@4T(C%7;|l9J`@dZ=y<8=fvs(oC}7B zb*9!W3Ra~d#=x@F-@c1)K$gBx9xW4Q{22$VS0>%c)JVr(nclN9{lNumDEUceWr6@@ zOz^eVO9}=0zLPV~h3+t~$sx(*$+rB8$CP(=04Cduo}}n)q)2W6TsWO2LwGerjRt{;NulTAU5fqVidE_^ekyx~UB4I!V>O z0(FTEkyKyfgjRgrQK zM+uSABO7=g&LExJ&?5kT=_N_KBsI{m7o_(rNX;kuZdW~eL)o?U- zsm&2KzaQJ7U;lYMs@tJQt@O9n8}+DuXWIGzd-GO3msG-QDUIrs!AI74$K=oqn}fCGD!z$irTg zZc&uFe*_J{qT<$jf>xjul7s>Bu+yKQ^`dl&hrK4h(ys9yM^VSEHY*M#Xjh-IVd&!IxLYci#b|`qE$EIsgDFQI`?` diff --git a/submission_thesis/CH4_FMMD/copy.tex b/submission_thesis/CH4_FMMD/copy.tex index 7fd8337..172c8ca 100644 --- a/submission_thesis/CH4_FMMD/copy.tex +++ b/submission_thesis/CH4_FMMD/copy.tex @@ -56,7 +56,7 @@ starts with %an overview of current failure modelling techniques, and then a worked example using the new methodology, Failure Mode Modular De-composition (FMMD). This is followed by a discussion on the design of the FMMD methodology and then -an ontological description is given using UML class models. +an ontological description using UML class models. %A notation is then described to index and classify objects created in FMMD hierarchical models. @@ -648,7 +648,7 @@ We then represent the {\dc} as a DAG in figure \ref{fig:dc1dag}. % We now have a {\dc} model for a generic potential divider, and can use it % as a building block for other {\fgs} in the same way as we used the base components $R1$ and $R2$. -\clearpage +%\clearpage %\paragraph{Failure Mode Analysis of the OP-AMP} @@ -691,7 +691,7 @@ We can represent these failure modes on a DAG (see figure~\ref{fig:op1dag}). %} %{ %} -\clearpage +%\clearpage %\paragraph{Modelling the OP amp with the potential divider.} We now merge the OP amp and the {\dc} $PD$, to form a {\fg} to represent the non inverting amplifier. @@ -872,7 +872,7 @@ and this is represented in table \ref{tbl:ampfmea1}. For this amplifier configuration we have three failure modes; $AMPHigh, AMPLow, LowPass$.%see figure~\ref{fig:fgampb}. This model now has two stages of analysis hierarchy, as represented in figure~\ref{fig:dc2}. -From the analysis in table \ref{tbl:ampfmea1} we can create the {\dc} $INVAMP$ which +From the analysis in table \ref{tbl:ampfmea1} we can create the {\dc} $INVAMP$, which represents the failure mode behaviour of the non-inverting amplifier. \begin{figure}[h] @@ -886,7 +886,7 @@ represents the failure mode behaviour of the non-inverting amplifier. We can now examine the {\dc} $INVAMP$ by drawing it as a DAG. %expand the $PD$ {\dc} and have a full FMMD failure %mode %model -We can traverse this DAG, and thus determine all possible causes to +We can traverse this DAG, and thus determine all possible causes for the three high level symptoms, i.e. the failure~modes of the non-inverting amplifier $INVAMP$. % Figure \ref{fig:noninvdag1} shows a fully expanded DAG, from which we can derive information @@ -943,14 +943,14 @@ System & A product designed to -Base Component & An atomic building block used at the lowest level of the FMMD model +Base Component & An atomic building block used at the lowest level of an FMMD model \footnote{In the case of combinatorial packaged parts (such as a chip containing four op-amps, each op-amp on the chip is considered as one atomic, or {\em{\bc}}).}. \\ {\em Constraint} & This object must have a defined set of failure~modes. \\ \hline -Component & A building block, this may be a part from a parts list or a sub-assembly. \\ +Component & A building block, this may be a {\bc} or a sub-assembly. \\ {\em Constraint} & This object must have a defined set of failure~modes. \\ \hline @@ -1009,7 +1009,7 @@ Here we have four op-amps on one chip. For FMEA we would consider each op-amp in as a separate building block for a circuit. % We, in fact, need to go a little further than the above definition of a part, -and say that we want to define an atomic entity used as a building block. +and say that we want to define an atomic entity. % used as a building block. %The term component, in American English, can mean a building block or a part. %In British-English a component generally is given to mean the definition for part above. We define {\bc} to be the lowest level of component that we use as a building block. @@ -1017,11 +1017,12 @@ This is a choice made by the analyst. % Both op-amps and transistors have published statistical failure rates and yet an op-amp is made out of transistors. % -A circuit designer would consider individual transistors and individual op-amps +However, a circuit designer would usually consider individual transistors and individual op-amps as lowest level building blocks. +% In fact any component with published failure modes could be considered to be a {\bc}, but this determination is the choice of the analyst or the guidelines of the -standard~\cite{en298}~\cite{en61508}~\cite{en230} to which we are approving the product to. +standard~\cite{en298}~\cite{en61508}~\cite{en230} to which we are approving/analysing a system. %a lowest level of assembly `part' or an atomic entity, which ever is the smaller %and component to mean either a part or a sub-assembly. @@ -1051,7 +1052,7 @@ CD-player, tuner, amplifier~separate, loudspeakers and ipod~interface. %and is the way in which FTA\cite{nucfta} analyses a System %and breaks it down. \paragraph{ {\fgs} and components.} -A components will be composed of `components', recursively down to +Components can be composed of `components', recursively down to the {\bcs}. % However each `component' @@ -1059,17 +1060,16 @@ will have a fault/failure behaviour and it should always be possible to obtain a set of failure modes for each `component'. %In FMMD terms a sub-system is a derived component. - +% If we look at the sound system example, the CD~player could fail in several distinct ways, and this could have been caused by a number of {\textbf{the CD players internal}} component failure modes. %no matter what has happened to it or has gone wrong inside it. - - +% Using the reasoning that working from the bottom up forces the consideration of all possible component failures (which can be missed in a top~down approach \cite{faa}[Ch.9]) we are presented with a problem. Which initial collections of base components should we choose? - +% For instance in the CD~player example; if we start at the bottom, we are presented with a massive list of base~components, resistors, motors, user~switches, laser~diodes, all sorts! Clearly, working from the bottom~up, we need to pick small @@ -1085,10 +1085,10 @@ as one of the base level {\fgs}. %for the smallest `functional~groups' of components within a system. We can define a {\fg} as a set of components that interact to perform a specific function. - +% When we have analysed the fault behaviour of a {\fg}, we can treat it as a `black box'. % -The fault behaviour will consist of a set of `symptoms' caused by combinations +The {\fgs} fault behaviour will consist of a set of `symptoms' caused by combinations of its component failure modes. % We can thus make a new `component' derived from the symptoms found as a result of analysing the {\fg}. @@ -1175,24 +1175,26 @@ each failure mode is referenced back to only one component. This constraint is d %%-%% The lower resistance part will draw more current and therefore have a statistically higher chance of failure.}. -Controlled products are typically built using a large number of components and these are traditionally -kept in a `parts~list'. +%Controlled products are typically built using a large number of components and these are traditionally +%kept in a `parts~list'. % For a safety critical product this is usually a formal document and is used for ordering systems from third parties, and by quality inspectors to ensure the correct parts are being fitted. %The parts list is shown for completeness here, as people involved with Printed Circuit Board (PCB) and electronics production, verification and testing would want to know where it lies in the model. -The parts list is not actively used in the FMMD method, but is shown in the UML model for completeness. -For the UML diagram in figure \ref{fig:componentpl} the parts list is simply a collection of components. -\begin{figure}[h] - \centering - \includegraphics[width=400pt,bb=0 0 712 68,keepaspectratio=true]{CH4_FMMD/componentpl.png} - % componentpl.png: 712x68 pixel, 72dpi, 25.12x2.40 cm, bb=0 0 712 68 - \caption{Parts List of Components} - \label{fig:componentpl} -\end{figure} - -%Components in the parts list % (bought in parts) +%The parts list is not actively used in the FMMD method, but is shown in the UML model for completeness. +% +%For the UML diagram in figure \ref{fig:componentpl} the parts list is simply a collection of components. +% +% \begin{figure}[h] +% \centering +% \includegraphics[width=400pt,bb=0 0 712 68,keepaspectratio=true]{CH4_FMMD/componentpl.png} +% % componentpl.png: 712x68 pixel, 72dpi, 25.12x2.40 cm, bb=0 0 712 68 +% \caption{Parts List of Components} +% \label{fig:componentpl} +% \end{figure} +% +% %Components in the parts list % (bought in parts) %will be termed `base~components'. %Components derived from base~components (i.e. sub-assemblies) will not always require %parts~numbers\footnote{It is common practise for sub-assemblies, PCB's, mechanical parts, @@ -1203,15 +1205,17 @@ For the UML diagram in figure \ref{fig:componentpl} the parts list is simply a c %not require a vendor reference, but must be named locally in the FMMD model. We can term `modularising a system', to mean recursively breaking it into smaller sections for analysis. +% When modularising a system from the top~down, as in Fault Tree Analysis (FTA)~\cite{nasafta}\cite{nucfta} , it is common to term the modules identified as sub-systems. +% When modularising failure mode behaviour from the bottom up, it is more meaningful to call them `derived~components'. \section{Failure Modes in depth} -For FMEA appraisals of systems we begin with {\bcs}. +FMEA appraisals of systems we begin with {\bcs}~\cite{en298}~\cite{bfmea}~\cite{en61508}. %These will have a set of failure modes assigned to them. In order to perform FMEA we require a set of failure modes for each {\bc} in the system under investigation. % @@ -1226,6 +1230,7 @@ With these symptoms, we can trace their effects through the system under investi and determine outcomes. % Different approval agencies may list different failure mode sets for the same generic components. +% This apparent anomaly is discussed in section~\ref{sec:determine_fms} using two common electronic components as examples. @@ -1244,27 +1249,35 @@ as examples. Traditional static fault analysis methods work from the top down. They identify faults that can occur in a system, and then work down -to see how they could be caused. Some apply statistical techniques to +to see how they could be caused. +% +Some apply statistical techniques to determine the likelihood of component failures -causing specific system level errors. For example the FMEA variant FMECA, uses +causing specific system level errors. +% +For example the FMEA variant FMECA, uses Bayes theorem~\cite{probstat}[p.170]~\cite{nucfta}[p.74] (the relation between a conditional probability and its reverse) and is applied to specific failure modes in components and their probability of causing given system level errors. Another top down methodology is to apply cost benefit analysis to determine which faults are the highest priority to fix~\cite{bfmea}. +% The aim of FMMD analysis is to produce complete failure models of safety critical systems from the bottom-up, starting, where possible with known base~component failure~modes. An advantage of working from the bottom up is that we can ensure that -all component failure modes must be considered. A top down approach +all component failure modes must be considered. +% +A top down approach can miss individual failure modes of components~\cite{faa}[Ch.~9], especially where there are non-obvious top-level faults. \subsection{FMMD Process in outline.} In order to analyse from the bottom-up, we need to take -small groups of components from the parts~list that naturally +small groups of components that naturally work together to perform a simple function. +% The components to include in a {\fg} are chosen by hand. %a human, the analyst. %We can represent the `Functional~Group' as a class. @@ -1272,6 +1285,8 @@ The components to include in a {\fg} are chosen by hand. `{\fg}' we can look at the components it contains, and from this determine the failure modes of all the components that belong to it. % +Initial {\fgs} will consist of {\bcs}. +% % and determine a failure mode model for that group. % % expand 21sep2010 @@ -1280,18 +1295,26 @@ and from this determine the failure modes of all the components that belong to i %can fail. % All the failure modes of all the components within a {\fg} are collected. +% As each component mode holds a set of failure modes, the {\fg} represents a set of sets of failure modes. +% We convert this into a flat set of failure modes for use in analysis. +% A flat set is a set containing just failure modes and not sets of failure modes~\cite{joyofsets}[p.8]. % +%In practical term each component failure mode is considered as a `failure~scenario' or 'test~case' +%for the {\fg}. +% Each of these failure modes, and optionally combinations of them, are -formed into `test cases' which are +formed into `test~cases' which are analysed for their effect on the failure mode behaviour of the `{\fg}'. % -Once we have the failure mode behaviour of the {\fg}, we can determine a new set of failure modes, the derived failure modes of the -`{\fg}'. +Once we have the failure mode behaviour of the {\fg}, we can determine a the symptoms of failure +for the {\fg}. +% +We could term these symptoms the derived failure modes of the `{\fg}'. % Or in other words we can determine how the `{\fg}' can fail. We can now consider the {\fg} as a sort of super component @@ -1303,21 +1326,18 @@ with its own set of failure modes. The process for taking a {\fg}, analysing its failure mode behaviour considering all the failure modes of all the components in the group, and collecting symptoms of failure, is termed `symptom abstraction'. -\ifthenelse {\boolean{paper}} -{ -} -{ +% This is dealt with in detail using an algorithmic description, in section \ref{sec:algorithmfmmd}. -} + % define difference between a \fg and a \dc A {\fg} is a collection of components, a {\dc} is a new `theoretical' component which has a set of failure modes, corresponding to the failure symptoms from the {\fg} from which it was derived. % -We consider a {\dc} as a black box, or component -for use. +We now consider a {\dc} as a black box, or component +for use in further levels of analysis. %, and in this case it would have a set of failure modes. %Looking at the {\fg} in this way is seeing it as a {\dc}. @@ -1329,7 +1349,7 @@ and creates a new {\dc} from it. %must consider all the failure modes of the components in the functional %group. The newly created {\dc} requires a set of failure modes of its own. -These failure modes are the failure mode behaviour of the {\fg} from which it was derived. +These failure modes are the failure mode behaviour---or symptoms---of the {\fg} from which it was derived. % Because these new failure modes were derived from a {\fg}, we can call these `derived~failure~modes'. @@ -1337,7 +1357,7 @@ these `derived~failure~modes'. We thus have a `new' component, or system building block, but with a known and traceable fault behaviour. -The UML representation (in figure \ref{fig:cfg}) shows a `functional group' having a one to one relationship with a derived~component. +The UML representation (in figure \ref{fig:cfg}) shows a `{\fg}' having a one to one relationship with a derived~component. The symbol $\derivec$ is used to indicate the analysis process that takes a functional group and converts it into a new component. @@ -1385,6 +1405,7 @@ We may now use the $INVAMP$ {\dc} in even higher level {\fgs}. \label{sec:alpha} The UML meta model in figure \ref{fig:cfg}, shows the relationships between the entities used in FMMD. +% Note that because we can use derived components to build functional groups, this model intrinsically supports % building a hierarchy. @@ -1404,7 +1425,7 @@ have a `level' of $\abslev=0$. % I do not know how to make this simpler Derived~components take a level based on the highest level component used to build the functional group it was derived from plus 1. -So a derived component built from base level or parts list components +So a derived component built from base level components would have an $\abslev$ value of 1. %\clearpage @@ -1440,14 +1461,17 @@ and can now complete the picture. For the complete UML data model we need to consider the System as a data structure. -The `parts~list' is the -key reference point and starting point. % in the data structure. -Our base components are kept here. -From these the initial {\fgs} are formed, and from the first {\fgs}, -the first {\dcs}. Two other data types/entities are required +%The `parts~list' is the +%key reference point and starting point. % in the data structure. +%Our base components are kept here. + +From the {\bcs} the initial {\fgs} are formed, and from the first {\fgs}, +the first {\dcs}. +% +Two other data types/entities are required however: we need to model environmental and operational states and where they fit into the data structure. - +% A system will be expected to perform in a given environment. % Environment in the context of this study @@ -1458,11 +1482,11 @@ a working temperature range, for instance. Mechanical components could be specified for stress and loading limits. -Systems or sub-systems may have distinct operational states. For instance, a safety critical controller +Systems may have distinct operational states. For instance, a safety critical controller may have a LOCKOUT state where it has detected a serious problem and will not continue to operate until authorised human intervention takes place. -A safety critical circuit may have a self test mode. - +A safety critical circuit may have a self test mode which could be operated externally. +% Operational states and environmental conditions must be factored into the UML model. \paragraph{Environmental Modelling.} The external influences/environment could typically be temperature ranges, @@ -1470,7 +1494,7 @@ levels of electrical interference, high voltage contamination on supply lines, radiation levels etc. Environmental influences will affect specific components in specific ways.\footnote{A good example of a part affected by environmental conditions, in this case temperature, is the opto-isolator~\cite{tlp181} -which is typically affected at around \oc{60}. Most electrical components are far more robust to temperature.}. +which is typically affected at around {60 \oc}. Most electrical components are more robust to temperature variations.}. Environmental analysis is thus applicable to components. Environmental influences, such as over stress due to voltage can be eliminated by down-rating of components as discussed in section~\ref{sec:determine_fms}. @@ -1479,10 +1503,10 @@ With given environmental constraints, we can therefore eliminate some failure mo \paragraph{Operational states.} Within the field of safety critical engineering, we often encounter -sub-systems that include test or self-test facilities. +elements that include test or self-test facilities. % We also encounter degraded performance -(such as only performing functions in an emergency) and lockout conditions. +(such as only performing functions in an emergency) and lockout/emergency conditions. These can be broadly termed operational states. %, and apply to the %functional groups. % @@ -1494,10 +1518,9 @@ When the TEST line is activated, it supplies a test signal which will validate the circuit. This circuit will have two operational states, NORMAL and TEST mode. % -It seems better to apply the operational states to functional groups. +It seems better to apply the operational states to {\fgs}. % -Functional groups by definition implement functionality, or purpose -of particular sub-systems, and therefore are the best objects to model +Functional groupings by definition implement functionality, or purpose, and therefore are the best objects to model operational states.% with. \paragraph{Inhibit Conditions.} diff --git a/submission_thesis/CH4_FMMD/master_uml.dia b/submission_thesis/CH4_FMMD/master_uml.dia index d9c7fe60497bcdf2a9dd7be487022ecd63f082c6..91bc5700a005db8164cfdebbb6804c34a6e34709 100644 GIT binary patch literal 3426 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 E00`#1M*si- literal 3775 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