From efb184939c422eacb68a348320d3ad179a4ea7ad Mon Sep 17 00:00:00 2001 From: Robin Date: Mon, 5 Apr 2010 13:03:58 +0100 Subject: [PATCH] logic diagram must use XOR --- logic_diagram/logic_diagram.tex | 146 ++++++++++++++++++++------------ logic_diagram/repeated.dia | Bin 0 -> 1657 bytes logic_diagram/repeated.fig | 27 ------ logic_diagram/repeated.jpg | Bin 17582 -> 16819 bytes 4 files changed, 94 insertions(+), 79 deletions(-) create mode 100644 logic_diagram/repeated.dia delete mode 100644 logic_diagram/repeated.fig diff --git a/logic_diagram/logic_diagram.tex b/logic_diagram/logic_diagram.tex index 8b50753..42d1514 100644 --- a/logic_diagram/logic_diagram.tex +++ b/logic_diagram/logic_diagram.tex @@ -12,7 +12,7 @@ that control the flow of a computer program. This type of diagram can therefore integrate logical models from mechanical, electronic and software domains. Nearly all modern safety critical systems involve these three disiplines. % -It is intended to be used for analysis of automated safety critical systen +It is intended to be used for analysis of automated safety critical systems. Many types of safety critical systems now legally require fault mode effects analysis\cite{FMEA}, but few formal systems exist and wide-spread take-up is @@ -231,12 +231,11 @@ In English: Test points on the concrete diagram pair-wise connected by a `joining line' -A collection of test points connected by joining lines, is an Fuctionally Merged Group, $FMG$ +A collection of test points connected by joining lines, is an Functionally Merged Group, $FMG$ or `test point disjunction'. An $FMG$ has members which are test points. -{may be merged -and create a +{ \definition{ %A spider is a set of test points where, %a test point is a member of a spider where it can trace a path connected by joining lines @@ -256,6 +255,7 @@ A singleton test point can be considered a sequence of one test point and is the % \subsection{Abstract Description of PLD} +%and create a % % An Abstract PLD {\em Propositional logic diagram} consists of contours $C$ defining zones $Z$, test points $T$ (which % are defined by the zone they inhabit) and pair wise connections $W$, which connect test points. @@ -284,11 +284,10 @@ A singleton test point can be considered a sequence of one test point and is the \item A $FMG$ represents the disjunction of all test points that are members of it. \end{itemize} -To obtain the set of propositions from a PLD, each $FMG$ must be processed. For each test case +To obtain the set of propositions from a PLD, each $FMG$ must be traversed +along each joining line. For each test case in the $FMG$ a new section of the equation is disjuctively appended to it. - - Let conjunctive logic equation associated with a test point be determined from the contours that enclose it. i.e. the contours $\mathcal{X}$ from the zone it inhabits. @@ -397,6 +396,7 @@ In the diagram \ref{fig:ld_and} the area of intersection between the contours $a represents the conjunction of those conditions. The point $P$ represents the logic equation $$ P = (a \wedge b) $$ There are no disjunctive joining lines and so this diagram represents one equation only, $ P = (a \wedge b) $. +Note that $P$ is considered to be an $FMG$ with one element, $ (a \wedge b) $ \paragraph{How this would be interpreted in failure analysis} In failure analysis, this could be considered to be a sub-system with two failure states $a$ and $b$. @@ -430,23 +430,43 @@ $$ P = (a) $$ $$ Q = (b) $$ The two test cases are joined by a the line named $R$. -we thus apply disjunction to the test cases. -$$ R = P \vee Q $$ +we thus apply exclusive disjunction to the test cases. +$$ R = P \oplus Q $$ substituting the test cases for their Boolean logic equations gives -$$ R = ((a) \vee (b)) $$. +\begin{equation} +\label{eqn:l_or} + R = ((a) \oplus (b)) +\end{equation} + +\paragraph{Failure Analysis Interpretation} +Equation \ref{eqn:l_or} would be interpretted to mean that +either failure mode a or b occurring, would have the same failure symptom for the circuit/sub-system +under analysis. \clearpage \subsection {Labels and useage} -In diagram \ref{fig:ld_meq} Z and W were labeled but were not necessary for the final expression -of $ R = b \vee c $. The intended use of these diagrams, is that resultant logical conditions be used in a later stage of reasoning. -Test cases joined by disjunction, all become represented in one, resultant equation. -Therefore only test cases not linked by any disjunctive joining lines need be named. +%In diagram \ref{fig:ld_meq} Z and W were labeled but were not necessary for the final expression +%of $ R = b \vee c $. The intended use of these diagrams, is that resultant logical conditions be used in a later stage of reasoning. +%Test cases joined by disjunction, all become represented in one, resultant equation. +%Therefore only test cases not linked by any disjunctive joining lines need be named. +% +%The diagram \ref{fig:ld_meq} can therefore be represented as in diagram \ref{fig:ld_meq2}, with +%two unnamed test cases. + +Diagram \ref{fig:ld_meq} +shows three Functionally Merged groups, Q, R and P. + +Z and W were labeled but this was not necessary for determination of the final expression +of $ R = b \oplus c $. +%The intended use of these diagrams, is that resultant logical conditions be used in a later stage of reasoning. +%Test cases joined by disjunction, all become represented in one, resultant equation. +%Therefore only test cases not linked by any disjunctive joining lines need be named. +%The diagram \ref{fig:ld_meq} can therefore be represented as in diagram \ref{fig:ld_meq2}, with +%two unnamed test cases. -The diagram \ref{fig:ld_meq} can therefore be represented as in diagram \ref{fig:ld_meq2}, with -two unnamed test cases. \begin{figure}[h] \centering @@ -457,7 +477,7 @@ two unnamed test cases. % % \begin{figure}[h+] -% %\centering +% %\centeringeragraph % %\input{millivolt_sensor.tex} % \begin{center} % \includegraphics[width=200pt,bb=0pt 0pt 600pt 600pt]{logic_diagram/ldmeq2.jpg} @@ -470,12 +490,20 @@ two unnamed test cases. \paragraph{How this would be interpreted in failure analysis} -In failure analysis, this could be considered to be a sub-system with two failure states $a$ and $b$. -The proposition $P$ considers the scenario where either failure~mode is active. -Additionally it says that either failure mode $a$ or $b$ being active -will have a resultant effect $R$ on the sub-system. Note that the effect -of $a$ and $b$ both being active is not defined on this diagram. +In failure analysis, this could be considered to be a sub-system with three failure states $a$,$b$ and $c$. +It has three FMG's Q,R and P. Thus there are three ways in which this sub-system can fail. +% \tiny +\vspace{0.3cm} + \begin{tabular}{||c|c|l||} \hline \hline + {\em $FMG$ } & {\em Failure Mode equation } & {\em comments } \\ \hline + Q & $(a)$ & T \\ \hline + P & $(b \oplus c)$ & T \\ \hline + R & $(b \wedge c)$ & F \\ \hline + % T & T & T \\ \hline \hline + \end{tabular} +\vspace{0.3cm} +% \normalsize \clearpage @@ -488,15 +516,22 @@ Repeated contours are allowed in PLD diagrams. Logical contradictions or tautologies can be detected automatically by a software tool which assists in drawing these diagrams. - - \begin{figure}[h] \centering - \includegraphics[bb=0 0 485 206]{logic_diagram/repeated.jpg} - % repeated.jpg: 539x229 pixel, 80dpi, 17.11x7.27 cm, bb=0 0 485 206 - \label{fig:repeat} + \includegraphics[width=400pt,bb=0 0 560 195,keepaspectratio=true]{./repeated.jpg} + % repeated.jpg: 560x195 pixel, 72dpi, 19.76x6.88 cm, bb=0 0 560 195 + \caption{Contours can appear more than once in a PLD} + \label{fig:repeated} \end{figure} +% +% \begin{figure}[h] +% \centering +% \includegraphics[bb=0 0 485 206]{logic_diagram/repeated.jpg} +% % repeated.jpg: 539x229 pixel, 80dpi, 17.11x7.27 cm, bb=0 0 485 206 +% \label{fig:repeat} +% \end{figure} + % \begin{figure}[h] % \centering % \includegraphics[bb=0 0 486 206]{./repeated.jpg} @@ -513,19 +548,22 @@ $$ Q = (a) \wedge (c) $$ The two test cases are joined by a the line named $R1$. we thus apply disjunction to the test cases. -$$ R1 = P \vee Q $$ -$$ R1 = b \vee ( a \wedge c ) $$. +$$ R1 = P \oplus Q $$ +$$ R1 = b \oplus ( a \wedge c ) $$. $R2$ joins two other test cases -$$R2 = a \vee c $$ +$$R2 = a \oplus c $$ The test~case residing in the intersection of countours $B$ and $A$ represents the logic equation $R3 = a \wedge b$. \paragraph{How this would be interpreted in failure analysis} -In failure analysis, $R2$ is the symptom of either failure~mode $A$ or $C$ -occurring. $R1$ is the symptom of $B$ or $A \wedge C$ occurring. -There is an additional symptom, that of the test case in $A \wedge B$. +In failure analysis, $R2$ is the symptom of either failure~mode $a$ or $c$ +occurring. $R1$ is the symptom of $b$ exclusive-or $a \wedge c$ occurring. +The third FMG or symptom shown is test case in $a \wedge b$. +This diagram is incomplete, there is no test case for the fault mode $a$. +The `available region' $a\\b$ has no test case, and this would be considered a `syntax error' +by the FMMD software tool. @@ -537,7 +575,7 @@ There is an additional symptom, that of the test case in $A \wedge B$. Very often a failure mode can only occurr given a searate environmental condition. -In Fault Tree Analysis (FTA) this is represented by an inhibit gate. +In Fault Tree Analysis (FTA) this is represented by an inhibit gate.\cite{NASA},\cite{NUK} \begin{figure}[h] \centering @@ -559,7 +597,7 @@ that for failure~mode $C$ to occur failure mode $A$ must have occurred. A well known example of this is the space shuttle `O' ring failure that caused the 1986 challenger disaster \cite{wdycwopt}. -For the failure mode to occurr the ambiant temperature had to +For the failure mode to occur the ambient temperature had to be below a critical value. If we take the failure mode of the `O' ring to be $C$ and the temperature below critical to be $A$, we can see that @@ -746,24 +784,28 @@ The intention for these diagrams is that they are used to collect component faults and combinations thereof, into faults that, at the module level have the same symptoms. -\subsection{Example Sub-system} +The act of collecting common symptoms by joining lines is seen as intuitive. +Syntax checking (looking for contradictions and tautologies), as well as detecting +errors of ommission are automated in the FMMD tool. -For instance were a `power supply' being analysed there could be several -individual component faults or combinations that lead to -a situation where there is no power. This can be described as a state -of the powersupply being modeelled as NO\_POWER. -These can all be collected by DISJUCNTION, i.e. that this this or this -fault occuring will cause the NO\_POWER fault. Visually this disjuction is -indicated by the joining lines. -As far as the user of the `power supply' is concerned, the power supply has failed -with the failure mode $NO\_POWER$. -The `power supply' module, after this process will have a defined set of -fault modes and may be considered as a component at a higher -level of abstraction. This module can then be combined -with others at the same abstraction level. -Note that because this is a fault collection process -the number of component faults for a module -must be less than or equal to the sum of the number of component faults. +%\subsection{Example Sub-system} +% +%For instance were a `power supply' being analysed there could be several +%individual component faults or combinations that lead to +%a situation where there is no power. This can be described as a state +%of the powersupply being modeelled as NO\_POWER. +%These can all be collected by DISJUCNTION, i.e. that this this or this +%fault occuring will cause the NO\_POWER fault. Visually this disjuction is +%indicated by the joining lines. +%As far as the user of the `power supply' is concerned, the power supply has failed +%with the failure mode $NO\_POWER$. +%The `power supply' module, after this process will have a defined set of +%fault modes and may be considered as a component at a higher +%level of abstraction. This module can then be combined +%with others at the same abstraction level. +%Note that because this is a fault collection process +%the number of component faults for a module +%must be less than or equal to the sum of the number of component faults. %Typeset in \ \ {\huge \LaTeX} \ \ on \ \ \today diff --git a/logic_diagram/repeated.dia b/logic_diagram/repeated.dia new file mode 100644 index 0000000000000000000000000000000000000000..0f30ceab39a0b4719bee9540bfdbe02cbf0126b7 GIT binary patch literal 1657 zcmV-<28Q_`iwFP!000021MOU0bDKC6eb298+_#-nmIMM(H|ca|c4wdVquYJX$VRc* zV(X-iZl?0AsJ`x)&Z^($5q=m@$NaCJzuf)Y4KYd?D)`q89n8Y_D1mMWx@hl0# zcz!eb=j*TU>FCq#)yE)YAH>f*WlKwZBF^O5&1jM5s}JMx!@~oJwi(Nl6hz?~WPJRC zMG+f|M&r@#m1R9O5U`xdYvomz=V>@y=iG|flHZJ`Z1!!QChIsD6|Ks4vm{DVYr~?O z(Yt$fjK-yz@qwLZY_HgyPgBmmwVQ_G@ck~PS3IqnU9OTW6ixE&s@9~%j{Nwu0nKmd?Ytjw9wKDkcI0iZK?GL44{%&+*W1PELoLUKTF8 zEL?h7xG=k0C25|rFt0;SlO*CSE>QDy&Aa1dGZqOKdu~`gMsXkJdGbR4?^%=`Gl1gq zBil}8?mP{H=ZSmJqQ%NX803q)@0zBou)ft~eG_KkG~!LY599o7=C|iDU%fj@z4ssQ z=?#Uo*6HK!hf`D?lrSjNuQo@k zGbThMXDFb)LXoWTgu@ZZo6eZWF{k&?413-< zdvIU&UML#9ZmZe_J!n_iFl8su+VDJ_v8Rjn(|b_kW+P)LJUpC!pob24q!V@lI^1}9W_KRKen2b= z=kby^-%TE`m*q?ziPE^OavC8vs!LT$?7L!LM2$#aH9{Cr;RudKF;WmhjHnbNWCM&{ zEX9ZpLX4(HjC6}p-3N^p4N!~RGps9I8I>H(s|r`XE`AA{|nCM1hT!9@%sddNeb7q+O5dUTEZKfO16pKlXDm zxkd;;Pw#U-1p|RYCy$UAcg4J<8W}OtEk?~gX!Pi!dh|F^aV)4SL?)~8YxfsxA!Moa z&pc7ZI@bQL;(pd^jVeZ~;#ZujvZBT!qu=?1Rh**^RYon^>G$5}f&fcRqdJvy2Z9Ni zNQ#hxDiq=YXy+IE>L;V0+V{E|{LrZ90JAyNyXp}+g)8_v6{*C)Vs$wYCoZ%-B}vrx zU%w>%X%y)Kid1()BS=FOq~2wvF7Sx<9BBt4bEM+`B2gMdf@Gvfw-hxwpwXfsYEl0p zT_iU>g*ND|(JfF!@UumJgt5qzsLGE#dkFcF$&U1IzBl=y(WD`2QvbSV0;qHat)-g< z2voJ36YK(H7m7rTA{j+$^Fkv?LlmUmrR3NzgOkozXG;+II8Z2(4IgtPOpPKLMQU+F zqe%a&A|3yb4p$%2S!|Yvn-d<{eNJahFFE%vO_$3tB|NUyd82)1b6JtI^FQQAk4(TXT1H@t@k3UK*(`zXk!FDpTLd< z`cWA3^S>u{rm*XtVI3g!&et1t6$Vv77s+)1m1Tjx47x)o3;cpj*uB6)pz4Mu>JD)o z;GIE`ij8y48xx*%H(!38fh(Wi6me?^k8b`lYIFfLs`;Riqt`4)EqOaVLtP6g>fZDg zwm3djFt+%2B6r0I66cQmz9L6++TJw8_MN(}@3S47wqroBtTCh_Uw1G;-i6{;|DsG! zX@&zlou0A-fvN^d7BGuUTAUA~2I>nku}gaiRD&Oy*!6lgunxZ6^7iUK?1w#r0b2k7 Dj-4Y{ literal 0 HcmV?d00001 diff --git a/logic_diagram/repeated.fig b/logic_diagram/repeated.fig deleted file mode 100644 index 8c279c6..0000000 --- a/logic_diagram/repeated.fig +++ /dev/null @@ -1,27 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -5 1 0 1 0 7 50 -1 -1 0.000 0 1 0 0 5173.463 2296.817 3555 2430 5310 3915 6795 2385 -5 1 0 1 0 7 50 -1 -1 0.000 0 0 0 0 6772.500 3082.500 5715 2070 6840 1620 7830 2070 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 1980 2205 1011 1011 1980 2205 2835 2745 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 3150 2205 1028 1028 3150 2205 4095 2610 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 6255 2070 1070 1070 6255 2070 7245 2475 -1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 7515 2115 1138 1138 7515 2115 8595 2475 -4 0 0 50 -1 0 12 0.0000 4 75 105 2430 2520 *\001 -4 0 0 50 -1 0 12 0.0000 4 75 105 6795 2340 *\001 -4 0 0 50 -1 0 12 0.0000 4 75 105 7785 2340 *\001 -4 0 0 50 -1 0 12 0.0000 4 75 105 5670 2340 *\001 -4 0 0 50 -1 0 12 0.0000 4 75 105 3510 2385 *\001 -4 0 0 50 -1 0 12 0.0000 4 135 135 1620 1035 A\001 -4 0 0 50 -1 0 12 0.0000 4 135 135 2970 945 B\001 -4 0 0 50 -1 0 12 0.0000 4 135 135 5985 810 A\001 -4 0 0 50 -1 0 12 0.0000 4 135 135 7515 810 C\001 -4 0 0 50 -1 0 12 0.0000 4 135 240 4770 3690 R1\001 -4 0 0 50 -1 0 12 0.0000 4 135 240 5985 1800 R2\001 -4 0 0 50 -1 0 12 0.0000 4 135 240 2340 2160 R3\001 diff --git a/logic_diagram/repeated.jpg b/logic_diagram/repeated.jpg index 325f0e1345107f4f265a547741b0f47753158a45..b0fe9a1138b46d4e3b50eb82500caf3340a6056e 100644 GIT binary patch literal 16819 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 C+zf93 literal 17582 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 DFMN|%